{"_id":"@adobe/helix-cli","_rev":"1380-71a0ec8202208414e42a72ad6b798331","name":"@adobe/helix-cli","dist-tags":{"lastest":"0.5.3","devel":"0.13.11-pre.5-dev","experimental":"0.13.11-pre.8-test","next":"0.13.15-pre.8","latest":"14.26.0"},"versions":{"0.1.0-SNAPSHOT.1":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"dist":{"shasum":"3aefc3723dc4dcf33b6c294864f50b574e2c656b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.1.tgz","fileCount":5,"integrity":"sha512-0l3iBNzm+YE1FGDnn0n0yO14tpi6DftkY0PJ5gc/+HwMH1UYXncMphZVSDHC82b5RxqMlPtnpbsL7oR1Aii5nA==","signatures":[{"sig":"MEUCIQCnu0eKpcs7Wmqp2Wnqn4536S6NI/y9kKtKgXCsRigFugIgNT2Md/9V+paGXz2bwJdwmb3mgmnNFh6r04qcFE3+LyY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1348,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFrvKCRA9TVsSAnZWagAAEA4P/iuI4oI2M4ShKDpdHu8v\nFXJ8vLwKrqfbUW8kcAw8cYZgogvNyotiLM5MpY66dEUgp4Rj/gmQjQbndVcb\nrLFljYMjfuW5SUkmxV6Wm02DHeCV5936UMbGX4ae4yQNPeemn4hV1yFAx8WN\n2BiNvgNqJEp9JAyAvoPtYOA3A0sW7vtof5iCzogBE/fTRmgap4Yspx8hLVy4\n9UlXHF3s5RHV0zSTtJnYkoThQn5U0au/1XeXc1NRGSRqZ0hG/VyEMTrgOSug\nTXgZbhrxsLG3vGH1snUc03yUtjCRh/xkuPjkW1/qoG8KHcW0/AQhCCkKnsMv\nhyrcNE43gnpVRJO3uXsunuucnc60yqBNHLhNMKC9LHjqkwd/6zB7u9ttDj/5\n17dRiDUIAG+BxiuzNwSzyNi8qpFPILZfQ4j07K2isWmXGV9y1S9mSg+8T5tg\nfOuwxtgg/WEf8Nq62rsBhCMysrUlJEsGOHIuCRLbsoiCVHliQQVLoM54TQgo\n5S2JuHdrmYE4FtEsPlYRlNr6oQXaDKTyUvHULj9iLy6SlQDhSu6Bl/02A9bC\n1aR3aP/Z47e9xctZ2EfhyDDd0dEqw1tZXFfsjEig3Uy1C4LvaNJFjCmeScLd\nhPJQH0ZCuBItd4vZ4Mb9qrEBd8NUElKHgWbL0L62HVeogyGZxxrL2BVrmgSd\nQH59\r\n=DOiZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","scripts":{"test":"mocha"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/project-helix.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.1","dependencies":{"yargs":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","npm-snapshot":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.1_1528216521946_0.9323687581734081","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"@adobe/helix-cli","version":"0.1.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"dist":{"shasum":"af6101d58f54d567dabc571cd991d2c842f5320e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0.tgz","fileCount":5,"integrity":"sha512-a2dz+QwuRWHaGTr7E2Zhn8lk5vOIBhoxmqDlUm799kxmJgerqErH1++6BpefBEkabV/I47c1HGagGa5mzaRpLQ==","signatures":[{"sig":"MEUCIQCYIMP1k+aLQJ+oDqbc0th24JTo4AIRGUdrFhD3Dryh6wIgf+XhBovKeLe7W48M4Z4Yw3TEp9IUPUfR8NbJRfNmBDQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFr3SCRA9TVsSAnZWagAANEsQAI/Engkk+0QtSgtL9jcg\nK2R57zvPpXVtMEVWVKn91sGDAp9jg4zIJ2QZJxqoApfMi4PecJiYczam2lq0\ny/gZrZPg9JeY0YGB8lnjUR7MJfd4oPYWjUBvgj/aauWe8mH9cmV/evkyf0us\nmCGtxjAo7bc7v6BkHmcqhsQhMi86Yg6MVAl0xGWA63JVi+WfOxrgL1WABLlu\nI3T7gqIEWwr86ZEG+v5LNzUcNDcE9E2NxrAH/NGJgiJHoOZEYe2G5rKMGwIV\npG7vsyFHG4Aano3gzIBH+IB3j7K/PTLmh4FLnH/bcXMyKbFIV3b9KrSZt/PP\nTTg6HqXk1c1BHliedtVul0CohCPkuXOHDM6WXQCJBjUwCpbwvt+ejtlIRw7v\n6Zt5cM5ANYt25NdC2IWarMmD90P538xB/U/3fe/N+SClHJq4yLNg9XHqsAhP\n72Xe+G1WS5iele2Cxj9BoTMJHIcT4/pmXPlFkaF22fYFEEh15JERO83tEeTi\nnC3v/Z5fPfyw+myUKgP88Pp0T+89U5xI2KjfCA/A0+r7WIqrPCsJQpjUBdsd\nkTyOH8o5lw4rEg/Qzzq6euQ/ltwqBjfPQ6IckNUFgU5wTMD2wcBdKbyyp6S1\nr87irBlFEkzShGEG5kNJJBNbVOmSR2UteTFBSOa/GY91ERZYx3EEBiOMhJwO\nYXy/\r\n=EmCY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","_from":".","_shasum":"af6101d58f54d567dabc571cd991d2c842f5320e","scripts":{"test":"mocha"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/project-helix.git","type":"git"},"_npmVersion":"4.2.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"7.10.1","dependencies":{"yargs":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","npm-snapshot":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0_1528217042054_0.6218638264144694","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.2113":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.2113","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.2113","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"dist":{"shasum":"909e39d6379c20821aecd5bdf77a4c09e3d2ceeb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.2113.tgz","fileCount":5,"integrity":"sha512-EGaFaxzZlAEQZXiUG6UDzh/rdBARNOJZyz66ozEw9fXvTvXDU0sXaJM7rZ24sysbovmh/vwmy256aTOC2QSrvQ==","signatures":[{"sig":"MEQCIBXqRyDtPO3Wj+fwrrYBEt6HBDyQkhJi2EmqDFij57l/AiArVfKIZniN13ss2eI9fM1XguZLonppQpNbIWRuZ0yANQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFsnDCRA9TVsSAnZWagAAR/IP/3bo0RL91mo1D/rxAw+F\n+gKLIYl3R85GFmF8HEdacaleKeN/AgDPvOV+DnTRnzlNlsr11YGs81HoWyIv\nnhpWRYVuFQSCx5G9tC2XFCcwCwf2FxQ2WqBfMMXJ6OFdzjFoPZx+qICHjb+D\nrS8IPW8IFCeY6z1UUvudTX7/Q4aGNByvn3eYD/r2bA6JKqehlMbXaqd1NVgy\nQZ+4RiUVT7M2rFIgZ+qOd2goqzh6sDw/w2Q3U1ZD9DfVS8pkTTSr6eOtvDoJ\nEEFfcRioxI/kPcneevalz6ok1vVKCFKgVUC5fPYfsgdHrgNho2a7SGMjWMu0\nw5BW5PiNEX5hrQgc995pHZEqjkAusTKFnABGvPdA8vP9XOSZoidhxAZnkT7C\n1pH7D3WweEC9h9uX1cNBZpH8qN0+0atNH/nIj+PRMSVQ5ku7m+pqGjwcrxHI\nWkJMfE7wzMo7BYQPRuReINpe3lF7MnxyVKg1KELIsxM5gyodOhDie6AxQJuH\nUUhkXDK317loyOh43zsjOZhW7VTjfJHZiENvLH4xul4Xvr7sQx2Dea+UzLrk\nMJaMhNpzZdbya0Dl7ArkKuxJbWPjYaoz9zOxmRyDGnkqaX5AfYRJt2pzJwAL\nmZdMVYqVHjod5hoWFOSuK/lIrDJ4fpjxjzhrPL9WmTNEbCXUi+JCW7H0fuVq\nhf2L\r\n=5lQ3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","_from":".","_shasum":"909e39d6379c20821aecd5bdf77a4c09e3d2ceeb","scripts":{"test":"mocha"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/project-helix.git","type":"git"},"_npmVersion":"4.2.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"7.10.1","dependencies":{"yargs":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","npm-snapshot":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.2113_1528220099554_0.9073336684751168","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.2135":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.2135","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.2135","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./cli.js"},"dist":{"shasum":"eab3d495f6306933235cfba02e848306957063a4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.2135.tgz","fileCount":8,"integrity":"sha512-JlCijuCpdSnlQcs6OrMpu89GF7KIVQHpxhzhvrgOev5GfgstDA+GLsGudKxok5JVtsaOYvfWex15YliGDDAguQ==","signatures":[{"sig":"MEUCIGGm0mIRadsb03nMgDH6MacxY6vbEhKlASG7bmG6sAxlAiEA4fVnY7HUWldpanJDCbm8Hl2vgSUZ6/d61kLOFkdZ0vo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":69533,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFvLnCRA9TVsSAnZWagAAgR4QAJUl5rCAAxQqSqr8v1XB\nENcc5YvBcpdotW6oo8ConS6CXNZp4EtmlhIzhurx9C/ytHH/rfuhyUlRoMTu\nZXyQNxXje17+KTzSeyuYqFnf4S4XWUyaqyEPpU54IRHjvorcokcyXiIFFf+N\nERfPpcJH74z8UbqqyqEj29jC/37dAKP3zqWelsiCV/Ehx+eh7JuV9kKLUeFn\neYxq2c9p2itDV8f+xx84jTUXTQjerc8bSpRUFStTDF6l+h56XCV829fTQ3u7\nUWYQmulNa7qiD/we8Wz1frf8Fu41TkwPewb03Fodsyj4JzcKJV16S2Lzmkwo\nrfMqHllbWlLyo1cONc33YatwxwxaQGZV6OabtxVKziyvI7mPPW5IIfvjeLDm\nQvvfm7HUUW3oJqklUXeEQTka7hogqWrfUvFBgi6LqTFKIg1QNiHXzL/5ZgK9\nlX/PIo/BVStuwcsaFdmAytGsXBMp8WPBn38+p6VH04SbMSg6KIf90BVqClPF\nm2hZf5hyjf29/KoVeTscyk0oSBXPpwWkmOCzi9UaXpufSArW29IXm0FJb4J1\nhmN9WTUEKUg5O0bJf4rvkT9OmA8Wm9l9UxG4Fplxg8l5YcyI0KiBn4ptWLk7\nAuQ4/Banx3LQAlNrza9DMusk6Suegtr3Nc73nD7aX05Zsydk00Si37JSDeUq\na0Cr\r\n=UJ2U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","_from":".","_shasum":"eab3d495f6306933235cfba02e848306957063a4","scripts":{"test":"mocha"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/project-helix.git","type":"git"},"_npmVersion":"4.2.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"7.10.1","dependencies":{"chalk":"^2.4.1","yargs":"^11.0.0","fs-extra":"^6.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","eslint":"^4.19.1","npm-snapshot":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.2135_1528230631150_0.26611138123072364","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.2166":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.2166","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.2166","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./cli.js"},"dist":{"shasum":"393feb8eaf82b511c9629d3eadca47e2ce1266e1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.2166.tgz","fileCount":11,"integrity":"sha512-NhaeER7nQ2yQMDKSlwaGk/XtqrLClNULMAwbbHhYGYsop2d71Rpw+KkZMBPIf1DgOB+9Xk3dpfm9l2oP/njtCw==","signatures":[{"sig":"MEUCIQDqYzB0oLDPQE4f+M/HE5xOE1sqmykHvvlQrknVSKclowIgJPnziPJhBwUQGCmYtuEXXhUz0SDS9iFtSD7TX/YAhuY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFwBDCRA9TVsSAnZWagAAcVMQAIM4RrwlUBPdu012EQDZ\njquAoHD3wIwDv14DM7piKMGhIUOQNHl53sSCEuRQmxBPjhpG/CxwuhfovcH0\nKH3NO8yqmu6huo34tbTncim/wVjGzyel7xKgjkq6b3aO6HZ+A+u++RiIciJR\njhwcg3Q2ffZdZkysBKH1A/GdHyXy9Jj+St02EolpmGNFjVRp83rU4Hbajd9t\nVTgGaaHTeg1M9D/SnajzY+k/Tv1SgR0FVGv7L+GOv7kNmOPVlzK5U1k9p3dr\n2GGn8H4wDobxlKLGrW2mkgCGVcNiUP6xbvTlc4Xaeez65xRdG/UlX0MYoFuH\nUThtcskJ93lcEt35oTJ1GEwzkpXkG2vQXMGkUfvjqABOsH80zNtLgpngH0QG\nE27LYIP0etMRt+x+0YfbjSHHj5ZXyxv10iKEFkH1Nb853E6B0FxQzugaEOWk\n8CQo18jotxLW9nEI+3m9HR9PWuNM51yg6VW6ROi7cFkBsB8NGDWxzDolyAOM\nd132x7TYR216NDfARDNGpMTTSplwHwmANvfKa2FLGQVG0VZ+1f8XClmMkUwq\nKv/VyNaqsqAhKlW5ifPV8KUWS6rUptasiA/Hpr8iZ+qq9J9ZnALIBoVDp8nK\nJew0SQDJILG7XX5gbPCQlZu8w0vm+O8azvAoKLAdvL70RNyE0PsHmQmUNjcg\neDv/\r\n=ipA7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","_from":".","_shasum":"393feb8eaf82b511c9629d3eadca47e2ce1266e1","scripts":{"test":"mocha"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/project-helix.git","type":"git"},"_npmVersion":"4.2.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"7.10.1","dependencies":{"ejs":"^2.6.1","chalk":"^2.4.1","yargs":"^11.0.0","fs-extra":"^6.0.1","openwhisk":"^3.15.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","eslint":"^4.19.1","npm-snapshot":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.2166_1528234050999_0.6585391871086759","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.2197":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.2197","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.2197","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./cli.js"},"dist":{"shasum":"946686805bb79dc619588663294217de90fedbe7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.2197.tgz","fileCount":11,"integrity":"sha512-EQ+V1o8st9IJ/PDBb2agQmgtLZ3rH0pzbcLHrGscq7lWPg3uEcas6wkhgz84097t+WAEHFgV8CQXHc9c/abVow==","signatures":[{"sig":"MEQCIDD6mhT5a7T98kLPqWb1O1/uPZyadYWVNiYj41ogHXa9AiAGwuLQ7bwf4rVbkoH0GuKFElQPSl8chEXA+Ve1cg7vVw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74400,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFwmFCRA9TVsSAnZWagAA66EP/2C5nELwd4bV1I165yNG\nJbBKXv5UermOyGpDf1LUnkEAf+zPdRb+QqJjikXkjk16H1IcI1y3OQ/GUOFo\nLf8v8Ia+2eVPGRUn+LY+iYMsKbxewtrwIQWOx14YD5MmCAYxpmjhiYJKlMP1\nIK2YNGaVYhAJYjpnDBEPf+rF3ox0dxWiMnEkb3DKDpx5HlCO+E1jUAd4fVPo\nCW/nZ2Gh48tuUc853Y39jZX1LllIi0MS9tLmVmipRIoHh5fpbkcXjFnr0O2r\n/CHzcTLsHGph2yMvDJBwXbwO+zJqqv6eqWEKNGp3Wal449NVDkXsdlDL7zkn\nM4b2fTqrOkZbzAcpxz5VLyQOOM0doIKg19GXPob07As2rVgD2l8p5Z2+OWqq\nJfwoVVrusdqXB0JQnkhR41H0POv3SjZSDI0qD55LVGyF4dMl0m3NUMHTYLou\neBTJKNeTYhtfvqPopC0+2useIpZAdbCtfGYW8+GA45lsgtreEP/uXeM2YUcv\n7UZJ9jv9ZjBFGIrCXaH9A1b+I9lyqP09FZZm6ca/yPpJ9TFhCnAMUH9tHQUU\nFABLE79QjKY8/gISyFEZFPFemULja18lVZBUbH5GcuS0uVRJr5siGnuVlvQm\nIWqsZnmeA223S0EgWD6ajgbxhkwg3vTTwMLqqMisPBdx+4bcoxDIuuccOo0G\nKDFy\r\n=0XBc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","_from":".","_shasum":"946686805bb79dc619588663294217de90fedbe7","scripts":{"test":"mocha"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/project-helix.git","type":"git"},"_npmVersion":"4.2.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"7.10.1","dependencies":{"ejs":"^2.6.1","chalk":"^2.4.1","yargs":"^11.0.0","fs-extra":"^6.0.1","openwhisk":"^3.15.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","eslint":"^4.19.1","npm-snapshot":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.2197_1528236420664_0.06803484510719615","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.2496":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.2496","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.2496","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./cli.js"},"dist":{"shasum":"4154ac9efa3c4b7f2db699e870c75405d18264d4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.2496.tgz","fileCount":11,"integrity":"sha512-0fhUdznspEf3U0EWkxUJkoiUD2sGwDfGE+wd5epe6dKNx+p5wsW8QZ3HZCxQ9k4GSOXtjiroa/gN8ZNSPeuOVw==","signatures":[{"sig":"MEUCIQDsSKwkiC9+J4Qk0dxt6CguRDRtE7tGorXYd5xzZHDJAwIgBfbwcJ1SL/vZP2WZR/nWKqF+S2+t4W7gESqU0Om/A8o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74400,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGCafCRA9TVsSAnZWagAA69IP/jvuVmsSkYpbxmsL7f2N\n5VeoPSz91+QNblyNuBgM3z2Vdas1nOU/xD8p4/zyeVLDhdZsMTF89GMURQbx\nXway3OAJoA6/r5FyHx/V84X2xtn9yeUR5CdD78xraCyXIBvnG24+mPeWsCDK\nOeStntPizllfJqMUJtfRk5ODfzFM+HVj89T6qdpRnrupKYlItNjcJi00dORQ\nOlNgrx4f+tity/a5cFXH4spoz1BQh1jub0IzqWaKKgCOfzLKEBfal50PX1A5\nkboHWIMB8cHiivQQKsjgzjUGctSBimyqG0i1cD2OVsNrldLlIyitAwlGEqIb\n9IhveYjp08nTEvdiNRBtBm3YhraQnzCs+xnrO7Lj6ITYXFsNa19b4lgRnEQw\nFeMs5MBVPqnoCbIQs9a40Jyw1SfRxt049uZ3zO9US5vN2Xma4O7o37r6LgGO\nbQs+3p2yJspi5QVDnaSm3RD+zsKz70xv82/vzCW6zTzfePuYUjC/PUg5pghi\ny6XJoQoQls1D59cf1lEFyEIvcoDv2osglR57ee5Wvj6fQPxPVR5ZKQk2OX3V\nwrG5iT7d0iFJZHwW4tWE2a91WqycgY3oAG5G5J2nzhZeJv9O6omARHLDJ0zo\n7eLCosoQP58IKpISq9HSUTq1yb+3SEOy1yNHHXTVW/0GJwWZsA61qPjI08Ql\nnCeZ\r\n=+fY5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","_from":".","_shasum":"4154ac9efa3c4b7f2db699e870c75405d18264d4","scripts":{"test":"mocha"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/project-helix.git","type":"git"},"_npmVersion":"4.2.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"7.10.1","dependencies":{"ejs":"^2.6.1","chalk":"^2.4.1","yargs":"^11.0.0","fs-extra":"^6.0.1","openwhisk":"^3.15.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","eslint":"^4.19.1","npm-snapshot":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.2496_1528309406505_0.847848351792464","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.2549":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.2549","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.2549","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./cli.js"},"dist":{"shasum":"ffd9d7c821a11e53e928372c0b9a38373b229931","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.2549.tgz","fileCount":11,"integrity":"sha512-vkOp4i5NhthrspuE6QNu4+iWyfyT8jafxnmkdNJOugnKaKskGccjPtsFnqCpD1ElnPJAC2HLa7ndGBdPWck3LQ==","signatures":[{"sig":"MEYCIQD+C5i9SnKHM86GrdhgYVOLLF+GtxedNPef68SGeNZL9AIhAOxcguDpkn/MBJ+iPx4pgeRbmFZHqx6JjYCN8HfbfJV9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74910,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGEajCRA9TVsSAnZWagAAIfwQAI1QoD7//wdrrU/ycHuC\npLMqRfxThTC++OahiQ1ccLF0hTRTzXgptmXvlMHRLBMVhlhoWM+82N/+G6uG\n4ZzHguPEY964KYTBCeWiYDjFmoYYH1ve8nApRRIdeAyW0WmQUyhVvkCxqSSC\njtkZAaEewsc2LfLruXilkRCiTqxUxuHx9KFggQQ+oOAUIhge9sjHLVk6ivkI\ncQJ/Zm9Iz6nFNx9ZpDWunu/mItNHAKNyLqUa9uzBTv1RljWj3GYApQCg/bLg\nBynxnt0q71QycWG3UQB6Kc/4d+aghYgkGn0yvTsC+lrbS15mtveM3oRXlUys\nMA/CW8k/t8tLB1pYiNH1URGYPgOV/wzTvBiSvGs3fyyS5gOW9xG7SiRlf76G\npN9bJx9tUaeWHFq0QWXtlJTLY9ddF4ulbYvheytgwmSoxFZLYXMzXWTeeNyb\nkIPPhxrU8gfdBHNSpUXbmwWZXkgji6Yp+kvtb6eyNjmX7UHVp5yjJm2UZsVM\nEduzov+kGpCDXIsaFo6axjNMcgSdO29Q2zeRqbNT7h9+58qdwYGZ5WcocBg1\nudomValU1owL4394n8NLx6tdJrwvRaLynczwvbV08V6FOAWsxnvAcHnUhqcw\nQZDR9G8L63M1nvtoUZxT1hRCKYv1jE9IF4N6Ms8FqrJS6/II1tQ0nOz1B9Z0\n6Ltc\r\n=Z0fT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cli.js","_from":".","_shasum":"ffd9d7c821a11e53e928372c0b9a38373b229931","scripts":{"test":"mocha"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/project-helix.git","type":"git"},"_npmVersion":"4.2.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"7.10.1","dependencies":{"ejs":"^2.6.1","chalk":"^2.4.1","yargs":"^11.0.0","fs-extra":"^6.0.1","openwhisk":"^3.15.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","eslint":"^4.19.1","npm-snapshot":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.2549_1528317602913_0.7113941921670677","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.13":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.13","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1e45d17b0599d26774d5cc1000695651834d8ce1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.13.tgz","fileCount":32,"integrity":"sha512-1K3J20/vTwbGlBZdermkYW7arw3ekVoYq6cMsDV2SO+az+srrcVIOzKYpuSjR7Q7dGQmtABc23h7k2FL9KzbPw==","signatures":[{"sig":"MEYCIQD2nsuhr1r5vgU+kw3UfB2vw/J8M18JoJc1Tws2RGf5AAIhAPocNA/cyFySxF6i+3ahJ/Ju4UPB3BHcPau7Gaqy8sQ2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75567,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbPjzfCRA9TVsSAnZWagAAWf4P/iQrIy19HyceZfUFkrp/\nIQGpR7BLWuRMFOGGnWaKJPIvHy1RrafsuPv/fJMrJX3q7HtNnNNSIHw8nfKE\naB9j49kb1gLgX7+u9Kam4KZhOvCXK3rcBb78+SjdyBgjzvUv+vl+Dxz+ytAd\n3chPfMJHvUK0iIdAbEu/RBMdZlH34QsfLo8rCCSXRiypWVPCQzSsL37ybGpn\nuNuOeqZeFAkaGAcl1gJaKrVSjpuTl2NXDFgvHpURacTrOwLIP/kS1TR2xImM\nGZVw5TuvH+aH7h4zEoSvtKJpPgyr7qT+qKIiR1zvyID9JhoNeBtx914MXQd9\nb/EP5VncdN8dru8FZmBfL98r44pCToqhIEofkoGzmPqds3a3385WI2llEIBN\nU5U82ve4Mddxk/6STEuoXUoU2CjiXNzpZySo/qOAr9NxdR6C6LPPtR4Y7tWz\nZLI9/S8g1xmZC1H/xRws5k3bH1d0S7jpNYzv5Wj6N9hJCLzK0sPbs3NNX2R0\nqMiIQjElOUe9xRCiCMyVtXIrhwQetCJXvoUsN1XPojSrWBH7VDXsDpbUfiCV\neknwtMNt2JmN5rX5kv1yWRuUuCfPu5fzrQYJfbQxYUxsBJQ+d7LhcrF7N8Ec\ndifKVtv7xtvjpGtX1wLY7Q/fL300JXYubTYAYNVhvp3VMKP0C6EG8H65caNb\nOY7i\r\n=ZInB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"24f6ed72b82babfc52ff5a2d7bdcc32854c8db3f","scripts":{"lint":"eslint .","test":"mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/project-helix.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.21","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.13_1530805471303_0.16268091890712033","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.14":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.14","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6bdd409399855edf9d22321b705fd9a36f56359d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.14.tgz","fileCount":32,"integrity":"sha512-RP2jaGTtTtM29QqmPljIiX3ImaJZJqa+isRoJTCq6QmE+bGH8u9W0BMeLOBrNivJ60WJ5F/jh161G20T+nfgXw==","signatures":[{"sig":"MEYCIQCQ/AK2vVLoarXWdd3vw8koxvbiXcT0TExEsEh4qeU24wIhAInj0WL9zH1fyyEdUvAl0MeBIdG76OHgPHjaqhQKU41f","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbPj0rCRA9TVsSAnZWagAAsd8P/Ag/boIZnxNym8tYeVUb\njjfl/3nJS5x7kKeAIKDFeSPyN0AmqPDD0YaKqXm5QwXZ67FFH5350YCP2byF\nB3ZmB9qUR8d9stnjpzdy8gXjGkM+8Xew+775+FQEEVFFDVkx4IelfRqt2UMx\nxjSDma8HdDRbfYClvVNk/d3k2d/8Or/alCD3qu5zNruZ3HuT04UyS9fKPzYv\ncUXQm379m0Fc8y7tzmdGclXhrptOwaIKElul9z5xgSqir3wc0N1hLXiv4aNA\nvQczwH0/D+LB9N4WBQhhghiP1KeRW4UiIe0abzQf+vK+jRYTwoEGnMB6g3tM\n7SXOmR8TK8zfk9TH6975qVcfkuLpOhY6ugpT21xe1ykCttn7FzHhDk+zCpjy\n81tfGl02U84Y9jy4s+0ZjvcqH0Htz79536VXBssZ/Kfe+54J2EZ0dkKxQSmJ\nWo0OyWspjZcaFbArGtX1SJwKTBvCGo/FSiGLOA+w7EYyjO0/9SrqSgv0LJ0O\noVeNtx5J0WaOOrUZGwWMwQJiBCROojJNLxw2m/T+U9G8/E0BzH5hSxGYi0Bb\nSyl3hLIY7DLh5N/P1bNid+I92lnFWPd9BvfvE1ObMhiDBv+CZscbLEqte0Nk\nKtLGtWxHLI6pF3+eoaY4CokeRdYSTebPz0IXmtwVeaP/yhBphJVOT++PfBwC\nQT58\r\n=ZeIr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"e9dace9fda3ab73ebfea14fd40f5a48e85d8700e","scripts":{"lint":"eslint .","test":"mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.21","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.14_1530805547834_0.009583647174019383","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.20":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.20","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.20","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bf5d971dc8141e166fad6640116f74c70ab06fe3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.20.tgz","fileCount":32,"integrity":"sha512-yu+gucMYCqYSxuz8m/4oPk8OTJibLkC3Hs1wTh6lnbABYsJVvjSYdNpKukHjgFsXqIJBJKvwoFm/cKC/JvSH0w==","signatures":[{"sig":"MEUCIQC67CTdJ+vyTKR8//vAiCpmpc7xselM6reKW4C2n4MhlgIgDNIRVYXthmNEh8Y1Ino1oUkd+Cf3/DggO5B8kb8r6yY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":75654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbP0mvCRA9TVsSAnZWagAAXGgP/0pVCJv12hzV03jePLet\n1gRyGmJg34b16oTjnE21rB7Uo/gmR7eCYYgnQRFy13DyAviH2lYlJ/Wzm4F+\nQdwCsUiAqKPmeEl1fB+tkGZ6zHHHKB0Gz639WDrLBIInKhwnYcEuppKFKoew\n+N0YGAGWLcx7LfLEjByGRKMDQEvi7YSNAuPRIeuNB0/WPsVYm9DETFhL1EyD\neGu3z5AiKBKWFlE9Q1QxQL7sa5kHPRIilP4dZdfIkNfqfN3Z87AGWZv1kg3q\nNGyu/Mdm8GWrgjyISrN2rwHZg9HMrfDO2asZaml3JkY7j9dK82dVptrn+tKG\nhBhujhD7Ckg7cuitqmp3QYJnqdlPjRUgYILCCnCQtqtpkbr1cI85TKJ3TffI\ntV/eH3YrCkoWkhW17omiwwqVDyycD5AjOvjdk+cTAFiPNeS2Qc5z4eRp1xbo\nXybAnGCI3zSwRav1Gxv5mYxLvFAMlbxeXuS7NK3vfXxVED2ZFl4R1HE/tKPT\nDdtX0Ty7XBuCxesFHTooQuLHJSf5JoXE365HaSfLd8+pFRfTedFVoVuv0hmi\ntofz2XOGE+LlQI/2PQRykeSwMr7bh9wt3QOD8eaQ/L9TshWEFwZbZSYkchVx\nD9LD3yypOKnf1xhslgaW7O++sCRZ19xUgmd+K9dfAE5wSF7Y/wrlJtIgOqYL\nPwPG\r\n=AXMt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"52dc1446c0b148dc9549adb7b458ce6a9f601369","scripts":{"lint":"eslint .","test":"mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.1","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.21","@adobe/git-server":"0.0.1-SNAPSHOT.10","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^5.0.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^17.0.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.20_1530874287095_0.788569980543089","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.22":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.22","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.22","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bd5da2e89d888a7128c8a2d93cba267b1d88d064","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.22.tgz","fileCount":32,"integrity":"sha512-U5z7P86R1MAaOx+kMHH00/46fd2meLyohjb9N24cTt9r0equh3778JjWdrKPWQB29ZqaDwBxBLkuorppED0FjQ==","signatures":[{"sig":"MEUCIQCyV9NaKELoYbO6+eApA1Ip28Ec1sijTBrhxvcMEGzzNAIgFJ/vsUAnSBV5bw42nQqZo6Vh0/+SixI9vetE6sR72Qs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76019,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbP0o0CRA9TVsSAnZWagAAbeMP/R7gde9SIQnrfEa1wD9H\n9YS0kUOiBa0fckViGdvoEfUc1e3C/6kkEf2lAv7hq1GUXlu/Tj3you3xLlxs\nUItS1xqzpzOcmMAMpcfefa/y/et/A8vX8xEIZ8K/6PSKXoR/4c25t0DU8aK1\nmZflu+mJYjdg7VaalscFXeBB+GAGMegCj3bUQr1pht5dT0sC9KEC16Gz14VU\nfJNaYadDofZmRAkIEI+5UKJ31EDvDXbElGt3KTf2fAS0tjLWr0aXMlTOiQcy\n7eh6CxJnraUHI/psDBNPm1Vv+jTneuC6+6bXYZ4ntEkUlAtc3aa6EPpW4zkV\n244Ux9eRjBMh/yRmqsfImVD9wu4J9J3vpFQd6+JAaf1g8LiCQAt3GvlgMRab\ndeSOhmcjLB5S/PWLeX0rwLY6uQcpU6qhEG2s5ESBssZw91UcNOoRk+Du7sAa\n5IDlOc/vdwHIPJakVXNt1CUn/wC5r5aqTyDsFseyMlxzEfd4FnwDetODUP5g\nqvjqRQjgtrn327an/7WlEi7OAOBk6HcSInw1zu8eH0dCqfoXcj7wafa8nHV4\nYB497zaYZoMlgsTeGVA5bQ1kQYEOEAbI0wNSjHPjtS8t/HaJG/2MpxMrlrNR\n6K1CjBKySBQUQKqikTrbBkwGMUPF+SouvCh7TSnLIyqMhBQ70Q2xyM5YmwH5\n/uEA\r\n=MW3S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"71179c66153f211ef82ac7db1d19b0656726102b","scripts":{"lint":"eslint .","test":"mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.21","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.22_1530874420082_0.9069359202703167","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.24":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.24","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.24","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"05c58343b9d37bd20e651b17c4f21dfe29a45510","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.24.tgz","fileCount":32,"integrity":"sha512-cCAxDs4NqLWoBQ3tSdeENW/1ODfQ+ChieqPSVY0bSlbpk3YzhadNb0+h89xIVmVYEGpw26O/RjMbGcbyT/Pdew==","signatures":[{"sig":"MEUCIDuIh67iUDTCICGS4YZ3i8nV1NuseRYaJQ3xZEuiIVaIAiEAgNNJGmh+qCOuEOdOsemAojYez+z8ZMi2H4dbe0yVFAU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76122,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbP5pMCRA9TVsSAnZWagAAVt0P/iIMD0hF0nAAM1RibY4B\nRm8FBD3oXkF6SPSG0sbKh5rmwXE1mdaC0my0pS3OLxPm3BCxT2Nup1GjltKO\nh1CWj3s5ETEcBYU+On4h3gPisqoBp2UoonyCKK+apJqULpclDgvlWZxdGKgi\ngjyh9EEkoieoZoti+6QVDV1BLUy0G8hycr/0oSakr76ubxW80WJvx9zojiKe\nwRqvIaqmjEryFvce3w5thavQQ4srcfGNvxl+zYYEa3Z07IMKDesd2HUUXrMA\nBK5aQwV2F5kEF/zP4sNFx5MY4etN3zMG2BZr/c41KFE960b48F2z8YQAuOpG\n4fOH9/Vd2V6M8u9IYz804THYsGb9YfO6pzdK10R7xSVXuLD1r00Uwh8W1BeD\nxpTczQxIe47UBdssj9LxDDz5DUpOqRG8SaUrdH6MzuQayxC5gcJKX2z9U5NQ\nnk+K5Mz7MFasxrrXv8SUsKQjEnvNWX3OYKgTtl2jrKCD09iPxjpYXxzUfPyo\noBX85Gr3zeSY+pzhLlW3KTqQfzhXzoRvxWz0LfhFBl9U0MVYxy7BWOmxFZar\nIBi7TkWE94QKUppp2xit7hBCxxqg2ZKEmcMU0ckJaBQos0Q+JIIUweqrQWZY\nqB7fwBqc5ew89PokJFilCo2Naz3DtNJbFf/d1skO3bwKmJcUmrG7KMVV6N0t\nWw0x\r\n=6s23\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"2f0a401e98990cd139c163906201dc97ee84bf05","scripts":{"lint":"eslint .","test":"mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.21","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.24_1530894924722_0.25037307136417053","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.28":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.28","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.28","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a9f2eeb622c758c67c17a0f6b1066d0a3404f008","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.28.tgz","fileCount":33,"integrity":"sha512-ma4Kd09GVb1UtcpJdR5KPrh5r3tcQwvKQoFJyfzKM0w1sSbjS160/w9jsb5XmfG/U0JNFrzl+SZDb9+B4YjSQw==","signatures":[{"sig":"MEUCIFk3rz3055/csfseZsvKAwQVSrStA7ypp9YDmNEpmujZAiEArdkw9yw1rSldNSJLFzAzh2DKvRgj7yZsIklcNmYDOCk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77126,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQgh9CRA9TVsSAnZWagAAiq4P/ju0DsvyaBCh675SGPkF\nSl/aRTiNMqPhMJu+KVgFeyVV621C98iUVU1tRIElUQ06EpBpok11+xITKWlW\nJK3Di9M7o6I6xamsqutEbl5r1+wOt5hn9AE8r2mUbSfoQjh4TqPwDQYPSXwh\nQLs4qJnI6ysq0MVdxlu6AjCnIghU9z4MxzakWBUKp0340nHE2r8eDGCZiHyQ\nGqFMUgW6ISBqsxb77r09dwH8w/RCuVkXiGko+KIfxuBj7MJMgN4NvHro4Ozt\nECHDPh6OeOk8mUN5XYpwi9XLWzdFM0oI4GjtZ6W4Sa8sfqAUZnxlkhzbORYG\nPjeEhJ2VsXGkO4G7yH7B2CpsND8DezJ72z1vZW7vvIF/xDAeQcs1JLFbKsy9\n9ArhW9j/a0g9mJZfr3r3Ub2/a7s97j3r+5nLFRko2QUjTsrWQsjqFGHIE5oW\nkDYkd3EfT2qXNgfYE695f51snPtvgYRRr6wL3xkG709CfZCMAjfnO+w8kldA\nQiBFeLooycTTmuRtTCvxLnPPgvBq12X52zXnmynriBuhOc9UVzD/3xWK6XOE\nXuJ2ZFKhlqvt6tDU+grIQB6UwOEHzSDX+YWnElUZ9GN3hgzdugbqkLdtYYok\na9jiq1g+lWxUFJhDkTcXdBatPvHkVLgEgGbl1+wOE+uG11dv6k9wVXpqz3cH\ni2jt\r\n=qxQv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"7c34e56f2334c2a844e0a37c2ead8c28c8c43c9a","scripts":{"lint":"eslint .","test":"mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.21","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.28_1531054205525_0.9011116645427342","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.34":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.34","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.34","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1616d795e05a65918278ef6935292b4b487a6dba","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.34.tgz","fileCount":33,"integrity":"sha512-5zEl9GxpfMTlNAOSl4RkwWte6HuozfUf0kJT2M2F2z+9oHX39XyDZiQTHXp5PfO/GQeV3xFT2p7RxCXxVqji7w==","signatures":[{"sig":"MEYCIQCdjTuOdznKF0rSvAkURtjE87s4k2GYa4KQCPGxhvcjWAIhAN5+dxugi1I+x0gdbUOLGke9kYz8M8wHstnWjXXRlzsP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQkefCRA9TVsSAnZWagAAo5YQAKSg/3uXPTjWBoGRtHBb\nLQuvLIRk/AReqTx3mxiqww8785qACKPKN8k1O1m2xnQdVPdOif8zhejCa0B0\nGNLqte0/RIs4dwF32qfzG3BWTnnRti2LFu7B96j1hsDPRg91X4XysJLqpgoF\nR1CLS+3UAIaV8allkT+oN1YFvkQ9PgbnyqOFiUkhoP1gzIzvjiTbmATffL5z\nSjdVuLQTYuWJlRc7U1by+xSnSjSmd3clGDBVA+OC/eZxtTqJQgmEMuub2Og6\noRmvogDce13zGtJETrqXkQVAYpS2UoOGuAqsboMbS5r8YBECNY44kBWl9XaC\ncwPeV+bqR2ecvxPZqaOullf6n2qnAPhWON4fb3gHahA0ETDVY5RK0QTmADl8\nCf03+JZLzIY33qunqeKnIHwAOFU2s658pqg8WU9u/dU8iT54xV1XQh4lkjqH\nO5WVLH18tqoQGKOx+9QvLmysSHogdPErp29M5LRWQQjxuZ53remEg3FRoFkf\nFpz6WPiomY5FFcVM1E3NbJ9fD71RlrJk/AXBRgIvCVbXVTT7tkyvHgSjoWZl\nLcvGDwkM/PW276wX9VWGtXBjGl2iBW5QIfbmtC5yMhTjGNwA3D6JiG8H9dP7\nib85r7adTtXHmbw359Wefl3YOgBFro9rHdQC/+d6vnXiI3Z4AXw8pY71Ldlt\nGCCr\r\n=OyHx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"11315dc06aac7eebeee0600ffed043cc029d8f90","scripts":{"lint":"eslint .","test":"mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.21","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.34_1531070367324_0.48169744483901034","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.36":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.36","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.36","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"84bccacefdc4cfdbf59d8acd4d7ec243c9752840","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.36.tgz","fileCount":33,"integrity":"sha512-rjvbxwfjFMryxJAG6aRdIu97rWBj50OCWAZOpccls3iBbpTZec4P7hXT4W6+2vILG1vPXdTIxlX3VowWrfbvrw==","signatures":[{"sig":"MEUCIQD402EtXc3HRThf8NY0nwGh9N8GX6D3DDRcJxM1XJzHCAIgULirO/9eD4dg+svEcnT3K7VtmFi+V+h7lIzCwXQ+/AU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQtVaCRA9TVsSAnZWagAAMhEP+wcDpWbwU0KgwUbMYsKH\nUx9amTRC75a8Vk+mButswnIuEcuDN6ZUX+pXBBogZbT10Zv7yxg0NXznmcbt\nWcsUoMo1Ab9YVycVWLf/6xpjfuBF/XKWKNNcB0GmjomJcuzQSxmiF1oXBreh\n4wguHY9KIFzsHQnlEokBgIWyAbs04im6YGwhktaLk2YAIPV31eH4Ulc+zBLP\n15Oa0ZOk862a4H6nVyYfuKezSsc4S1pZgIewwfGiNadxztywoAP0wfkdX97I\nR7WRmVdIqvq4geIxQrm14odAsZ+d6rH3qrr+xZ3LDgVXGIBm/5mUQpg1DWyJ\nNimyP+6+9DEGDIo6dcXliFH6xGPW+/TOGMmJps5adbwCvLxh+N2WBla2tXgl\nW6mekdqEhCQrxYwa72KJqwO/n5Q8PFLYp+xGufczTugU/bppx+vc7YX1sHBA\ncLGhHA9b3mhqOJBCMJ4penghchm2n3esOrRCO+vJjmzvfXWgsyxX2p6mBUOs\n04y/Ua4dgEQziaw+GVDn2Ii0WR9jJdOWJ0XHsVlNA/2VjNHl+6bQu3zzGuMj\nF56iSYTA1yH0Mtslld+l9cRzTN8d+pjw3w7G7qbScs9/4ln3S9rTVGiH5h35\nYGguj1Ysvl6YZtVxRf3v8G3zsKyerYy716Q5Xv7A+YFhc97Ae6onPQFcLS+H\nHEVg\r\n=ysvZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"65ed62eb887435ec8a89faf9de8241d77d7adb34","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.21","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.36_1531106650229_0.9826678627633842","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.41":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.41","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.41","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"28177fa1215816351aa00e77c44f67a50fac97f8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.41.tgz","fileCount":35,"integrity":"sha512-X8PiajcLqT+/wuCJuIPR2stWCh5Ivan+gtmQJYv2mV1yDPWpZH+pqpsUR8SLwgDuh80hk8oLFRX/jnGn8FiMgA==","signatures":[{"sig":"MEQCIH9Tk5hniaVprUdqSdOd4CyYG/l+3/o+Oz1M9gT8fyEYAiBk5hx2+H6YuCyi9REx1fPM0rv8Iw5oyLQ63LqnmoQtvw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81484,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQxwpCRA9TVsSAnZWagAALaYP/j6Hk8NjdP/jexWnYJlo\n3uS36ml7AJinW8EB/qSaZoKsXIgKgJdtMEp6AKHh1NjUyHX/uF5hda1/y76t\nSG90cpe6Y226kKm6HTTSY3of2O7FYYawOmCPel3TCejbUBGP9mPA/rlXgEmr\nd+cy4ledbglmanBiKMj2VRsztU4oZUGhrHyf3f1VdTB+lS7u9RIk97k7cO/w\nQyzdsutxj+ZY/rrHt1AZ1LWCM1cayBsqKlL8y00R/aZK6HnKYy46VQ7DdIYj\nvfZNHk0lBw9avMw6XiduYs4VNanozFKmu8KXlYJvroyHaZ6cTYZ/DWWNNzp4\nK5fxKVlVEYbad2dhGg7FkSeWXIFoWQ2TmFxK0dUzA6BnAa3Ex4LlOcZn8mgy\njFuv2EY9VtqZbytolFUVyIi4AsEpyhPtZI5PfBWvYJFL5awt3ZRpBR7XrJkx\napDM3Qu5ZkEmWvieLBZ/Z73tKrytMc8zbhlF9CFDv011uGa3vbUqN/3cXX+8\nJjNme92eRvKXHEert0GcTuIWA2ba2VaXk+orngMYdnPTolKTTwCBNkueHmKm\n6YqHNe/X8Uubg8hSrgYbd6fqkfzW3auWcheolGhYs3OeODRDQsauAxBb1594\n+oKZUd/niLLrbG3lpSI/nZdX6t5gDt7j+bQH3tDUrGBb5Y2kh7s4qpXKmYOd\nWTMR\r\n=ID1B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"d98b1bfd07fd01c377c6a0ba5e08451f8ed1b8ad","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.29","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.41_1531124777922_0.83644417828923","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.45":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.45","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.45","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f294595a08ff494a5e5814ffa7112a3c13c040c9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.45.tgz","fileCount":35,"integrity":"sha512-joDF+uzz40VSVicG8Ga47MZpwcZ0dEIGqkt7OnVTyddP6NKt4ebG9rVzZcZOVqtw4ppwc9L3Upk2nS4IcouXKg==","signatures":[{"sig":"MEQCIHmCvkYHlwtNu7FHQv4+tr35vBhiPaetkE5lazaE7+5yAiAHeF2SmACTNhB/iM6oGGE8DDU/CVoHPg7xhOVvK33C7Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQx2eCRA9TVsSAnZWagAA20sQAIrldUEvUlez/ek82cvo\nTgW5+SMyRDKnOcHe7ZbqIbvl4uUpwiUvqXGnjnX/2mPGw7c1o8WcRHdVCY4k\n3Zfz73JHaGQXzp8Z/qv2bj3DO86xo/lszV0cmp7RqOti1SlZTpRDIQUp/MDp\nk3Jl51DOSqGcoDRtdwkm6Ht1fhFcwP6ROhtaIQBlql3uZSHt+m6/YwFIznjs\nXu5ZpYuilZTKGG4WOszohlt/ZF10IbXcNQbAui1p0c1zx4JYZDCtcyaoIg85\nC08U1RFF0tGPx/mMCLbLfwmQNbVENQuNdDNUvcmdwLNSYGZV6Z2LmxBF74EC\nCrma08id5WLzlBQfrsHv6QGqXcSM3BSMlYUuIWAhWM7Xxb795Gzkc//oOtVN\n3MtRak9SgyRWhpbu9DYcnN2eopKlovs0MIOy+g5dCCgjk2mErdpszWIM+NMr\nvY+iMikRPZl+lzFl0BT+f34vygG1ba+6Ycp+GLu47B7WJqoPihn3tAZed6mH\nl0aEPZXsVmECc/wc5FtNjAADvl2qFxOlDxcI/JlBULUM/g1nifejy6yn0/Sj\nXkowMfPZeAQEkjArihBwQs+gfcjfU0NHjnp7K3PgOOJASMXUY39pqxMH0mTG\nNEeyxQhToX1KV+FbxsjklugO6ukBeBi3D2Lm8Wrpfn+AE3+H2oNhXGyBHtMc\nQnbw\r\n=Ghkx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/parcel-plugin-htl)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nFor now, manual installation only:\n\n```bash\n$ git clone git@github.com:adobe/helix-cli.git\n$ npm install\n$ npm link\n```\n\nIn the future, this will become easier, boiling down to:\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --namespace <your-namespace> --auth <your-key>\n```\n\nInstead of passing `--auth` as a command line option, you can also set the `HLX_AUTH` environment variable.\n","gitHead":"fb3cd7282c2f9a2559065095e69f33d455f60661","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.29","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.45_1531125149967_0.21496611301281954","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.47":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.47","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.47","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"56999d0ad35a410fc4ccef29c774ea73ddbf113a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.47.tgz","fileCount":35,"integrity":"sha512-n3wRHIcg6WMeHMU1ha1l5YhhCqa6ONr+46Xse0JSF47tyzCSYf3nJD2xqwdhhp2dRz21b0pTqNTG5/fQQrthbA==","signatures":[{"sig":"MEYCIQD+a4feR9tA7M2gS0b6O6h5HBg4n5O8LBLffG5gPqaH/AIhAITpfrxm8iVqll/0Lr766aVEuLlP1Ohct9NFxqmKP6sj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQx8fCRA9TVsSAnZWagAA7M0QAJNkuzOBoribnS37SLI3\n0Y/kdZJOikaAKPXN3bDC6fkhMlyTFXtablD5I1YrGg1MUjqmX2RZW5rP2i0A\nUQcmNTX6snRAkLp3vlsRiJrl5Zud+Obl7+uw0qhMdtVdUNS9JMyuuzJNnAa+\nAn80wze/vEMm5ET68fLe6HA6dPJnGZPMcrp7tavM0lnNoLY5CeVV49b8UFib\n/4pfmSao8FxMlhmunclUEi9at08ud21d3Ov8UrhOBPBIktWWabfq5iVPEZmO\nkUM1ckI7cIun0tO7Twvz0BTV3a+5mb+eoNok32Mx2uVOhdgQQ5E5k5BvWTAi\noYwsTcQuU9IjNcOxTgd7CnMxY5MuxOs2HnKB6oT1SSu0+N6ZHUie1TYunOU7\nQ6MCSEdgWquYf2HZaavg9vOkEPInB6acqDkC52QYGPJfSXWkYFgsszYNBxVP\nNfICZpIwgrMskcaZNZXWM/fqZoq7iFjg9N8NH81603JYOW1OGJQCp7++jR+I\nKPfv7i8K7YMQM/yR4+DnykQ82BpLzOU8BdcGrOM5Kcx4SctD9Zpyd6kZ9mOK\n8duVP1TAlE1VHQvfKoAPTQ1qEXgje6vGPlto5zECb1hpZb+wapnEwy7LA5Lr\nhshciAo1lnCeV1req4D/8ARkv6Fh1nZjzOMup0UZDm4fvdjC2X06EAOiLa89\nmAtD\r\n=rm+D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/parcel-plugin-htl)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nFor now, manual installation only:\n\n```bash\n$ git clone git@github.com:adobe/helix-cli.git\n$ npm install\n$ npm link\n```\n\nIn the future, this will become easier, boiling down to:\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --namespace <your-namespace> --auth <your-key>\n```\n\nInstead of passing `--auth` as a command line option, you can also set the `HLX_AUTH` environment variable.\n","gitHead":"ff9476e7573b7407a60d947dd820180a1366b23a","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.29","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.47_1531125534952_0.2647684002992168","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.49":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.49","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.49","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"09c117db2f53a979efe2046e5ec08760ba07f1b4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.49.tgz","fileCount":35,"integrity":"sha512-/3zC4oF0+r1h0ih5klD9c1N3jjSf61r/mUq+C/OYHrE6KulV9Gnuo2DceB2a+wggG7WiKdYvCHoUgx16hJudAg==","signatures":[{"sig":"MEQCIAId8C8TrkxuYjm8oL9U8OkVhHCPhfKzttOJoijCL7thAiBd2roxw3t+/08uLS7PuT3rbnYdmjapmObVYm96ohoFUg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQyG8CRA9TVsSAnZWagAAykoP+gO2MkvbLSTDlcu3oE6i\nkwyBqK/2tHF6qttJ2pNwLgMfSQwkpzNYbJrT6uusuQejX8Y26Fnccmwxye+Z\nfxwzTFIsXmwgjsCmGpoVfmY/+8RjmnOGzDCXSASHzjJvIt/zx3YNZy0Pe61w\nl2IJbHuBTo0HxjXuxjkOnIid/0dN4BSt6hUZeGWiUH/9OI3Ec28Q28o8A344\nJ4OXVqT9G26nNB0FjmijtWXCfKr+OE5HwXi7QniH7E7j1LuI9mhYJyyR1XXs\nyGCnpSt3jxZ7k4Q8XtJT+yftJkHpNMBTnjTkpFCmniZ+Mxb5GtKqRKHHn3Wp\nl8x9GDCOtIOjlljmoh4AYs6Fn1d1zvNME5hTZd7vub9gutBfvJO447ZYCO6h\n/f0ZH3Fz65VSdFNkfFRWEvnNY0Z+UIZ9DeOHIBtvaSery25LH4xYrjRiHwt6\nuixhdyfdx2wn/RWalSy97EtKmZH+ePCSjhHbaVGZ2toQLp/e5dMyA4xUB+Bs\nBruzRQCRVfrpYF/WfTxt9yF7YoUMqd60jr7l1MvFZG4llB93F0vj3Jyuuxl8\n3+a2IY7h+BF3pmUtIpk4iuDuYGfIPvDXpl1LU7uXzD/HpeJ0yMRm7x37ZR4R\nhL4K0d550lxqLJuTy84SSkc/Dv5KQMk5bPGkkY5a55MdEos9PD1umM+m+Xq+\n9mzw\r\n=xVfm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/parcel-plugin-htl)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nFor now, manual installation only:\n\n```bash\n$ git clone git@github.com:adobe/helix-cli.git\n$ npm install\n$ npm link\n```\n\nIn the future, this will become easier, boiling down to:\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --namespace <your-namespace> --auth <your-key>\n```\n\nInstead of passing `--auth` as a command line option, you can also set the `HLX_AUTH` environment variable.\n","gitHead":"7bdb9ac05f8506499a303589ce14b8f7204c717a","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.29","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.49_1531126204388_0.11745390038236136","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.51":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.51","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.51","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0549e491bf84d37b643d0bfc7007c48bec53dfa7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.51.tgz","fileCount":35,"integrity":"sha512-vb4IrGk0aO8s9+ST34frPQo/tVRWjRuTcCdJMM7TlS6alNzouMPOiRxqbCn1SHmYo/XlQsZhiKPvbPCsUXZQ6A==","signatures":[{"sig":"MEYCIQC4VpBVqvJcHIpAMmkxyRsW7bWVZ+ZYGwYnorLpOy1MiQIhAMkCtnCazS8zAu+78EbENELtz7EtHyBcVjlosEzCHGnB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQyH2CRA9TVsSAnZWagAAzwEP/0RmmaNeJqQzETo1Mrpc\nNHACMRyIuz4s09wkkInwdgUKKQGpGrC2xZP/Ts+GwUerVnC8he/17JJL+ty1\nW4b8DPLUkFjZGHnWB108O97cukNAjNd4m5tQaOsiyIzCiWsZN+y7+bL5xkou\nrXn6Di8904me8Xg683loN3w95w1DBJm7bVN6Ye6jdHpXHC4OKrlHpUAgPECc\ngmxgj+/+mAr9CRefs8hV6cef1KvMU7Ek6NKv8q+xCXYVbPjR+/2IXhPYX1gV\n/RV4e/GQd26HEszmZya6gNTX3/sVFzUMyZRuYmM1pFbwbgXye2EM2yxUeR2e\noJQxkS9WOyLlJ4EkvL0Jz4ZlyP4yth7vbFYCcV9SbTmjW0abK8NZQpL2G6CP\n6FPp1BTZ4mY0C+jH4KkTzNIBtqs6R1j1eNh0n3ZrmTmX5UwbqooGw4flZlU1\nV/FcpEB6aeZ47mAeGEvKNN7I8ZNgXuJq5rsZ8Y7xb95ugkH7lrrzDAAZxFwo\nICZhNdmHCMY/LMLrai5O3123o5I02yi6N8CkUuE8KZqtRs75ILfgppIwpenj\nbYvnGFcN5GPlWZDY6556nQ6wwXy5K27yge92WOBcIUo/PCK4FalIh5nP8iWO\nqkr6WDvVKTYucNAWCjFl4trnfZffAcWr09tvZGOlYvXy3zRikaxD2Qj3oXzU\neTnK\r\n=H5z9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/parcel-plugin-htl)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nFor now, manual installation only:\n\n```bash\n$ git clone git@github.com:adobe/helix-cli.git\n$ npm install\n$ npm link\n```\n\nIn the future, this will become easier, boiling down to:\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --namespace <your-namespace> --auth <your-key>\n```\n\nInstead of passing `--auth` as a command line option, you can also set the `HLX_AUTH` environment variable.\n","gitHead":"af6a80d94d35551fd41ce1af3d6dd9790c40d901","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.29","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.51_1531126262116_0.6048865434330712","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.55":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.55","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.55","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"18042687001522f6336a2b78e24ebe9101e97c77","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.55.tgz","fileCount":35,"integrity":"sha512-NmNT9cSjiA8x3x2/+b0842fJHuyLvs2CzfAo3zSYnIpXJJY9UnKiC2YsoSQ1CHbMY8NaPvXBq+LTjde+xNZGoQ==","signatures":[{"sig":"MEUCIA9bty5d46juHV99VrCp1RJL6Ln2vMwNEIQ9BIzx8hw1AiEApzNJL/ezE0EGNI6S/B/jV3z4RKDZ8QTc4K6I4i3I4n0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81962,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQyzECRA9TVsSAnZWagAAfTgP/046MyFWcdf/IlwXpfCB\nnB6qn9tHK8RxbCQYtyhv7hf0oF0zaiGtlPn5m20Ozn5a3pXcSJ7YCzsmxG1j\nxEVR5pCAL61OoZpHcxyTUFX0CgwTmYrCKEsuy1jRCo/fgDqXKltTTa82Aq1V\nx22W1G0+Jvxt4w3ZtinpzFSXyh7REFGsXRnWvK297oiBW+OdiAY9RMm8wR1d\ntT7FK1gR3H+bczunGxROMv1JzJm6G6tv1zcpho5gKNwOAT6ruOH7xHd9z9Aj\n0aW827BfnHEyi3I4IN6Bt7mMtNkaf6YF+W1+NBv28hmxUbOc9hCtANggE2tP\n3gvC26m2GzU0DcLjYNVG0rbaS4a6Yfn1ihFZ0gVfXFhFqAaWa7bM5uebCMNM\neK6Ll/VcqtscvPhUc2KEi20LZRlLMZ3EbNuiu0HF5yHF7qUHQEXKMAJWXbUt\nBWuK+LoFquHcHSz/Zfj3qeuzhWOk1wBgXz2wTtjYom5cY0kY58BM9mrSqdUH\nYcDLk4ALgTFbnokGwnCkt60duKhsCHJV4yLqEm42R3MJj1DWjY3/qZ07Hynk\ns5ts0B9MZ2peo0gGDZecP/isYe2LJer1LWRSpnQ697L+Z/DJxLjy5xGxQTtv\nGHYiDYNTWzQT0PM9FG5NVKhfhmGBRRjGWN1omDIWtkC968w8CnvwtT+SbuPn\nUAF9\r\n=AXY4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/parcel-plugin-htl)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nFor now, manual installation only:\n\n```bash\n$ git clone git@github.com:adobe/helix-cli.git\n$ npm install\n$ npm link\n```\n\nIn the future, this will become easier, boiling down to:\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --namespace <your-namespace> --auth <your-key>\n```\n\nInstead of passing `--auth` as a command line option, you can also set the `HLX_AUTH` environment variable.\n","gitHead":"bc1a287b752fb3f2a1a7e5d1e8cc666c59bfd2fe","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.29","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.55_1531129028133_0.30690749847457166","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.58":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.58","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.58","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8f17d51686669fcb19fd6512cf4adc66543d33aa","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.58.tgz","fileCount":36,"integrity":"sha512-j9XDchoBdHKD7Oysv8TjHmSo8zdo7QPGVXuXohMmblLvgJQZa20RVkSB6yrwJii3SPHzQVrBscyxvOi0Ft94AQ==","signatures":[{"sig":"MEQCIF543fH+AduKPI9X7U+dxy390deun3x93T0SmOCtDlTGAiANfwEtIJqjgyKoBJulv7/IFIKiakfeT06lWflyI6AKXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQ4PxCRA9TVsSAnZWagAAhu8P/A7NUZk51ANgvuPSiO6H\nt2Pw/BHE4MoBwF+eLMZIMNoAbbt6iX0r3MqxmTJ/1QHJ8Y4UBo16XokG78Q+\n/aFP49nYMNLhUKjhm1mXH1dmGlEkvqS3l84oMXP2a7KJCJsqzHErucHgUSLe\nhc98cFhOPnr3WPKYArqGw6hZDBoVXWi4QKqKpf+pOwW6DJNaRLtaAvstNfVw\n6BS7gb9jr5AsV283AQs1aaWiMiY5w3K82YAH/R4G++9oajh8r4TCu8wI3wyd\nNTo4WGU4sc9TzfBnfDJJe+NefQ6fgqqFUSUXXoApXudvPLB27D0l+c73sIHP\nu8jcVShgxIrZvYbfAox10BNqd2mf2fy87ESuje1aX4LDQVYYJhXgOpTGTvlW\nNAUgBmPTjM3OkKPE163WPk8lwfas+Mn6rndJ39W1H2VawfX6esNWt5msnyru\n8zEA6Smm4X5Wij0ONAxf14t0sXNEGMVH9ry0y6RDnz3JZGpApJKZnTPrPSUR\nXImova25kF7kzqkAQq//HOcbnSr2ZQcXv75h+2GZ8cz/eylW1JHduIBvkYO2\nOM9l/8ES6hCenMkppnx1HGgQPHritUz7Ij6PKSuP+b3IZlv39unPqtrAsO3s\nQQmGtwmsfe3J5cafvv+Q7iPTcg3SnWblwKnvLSsq1LaieNbgXgOgKR5mYEro\nl+l1\r\n=Ee+I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/parcel-plugin-htl)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nFor now, manual installation only:\n\n```bash\n$ git clone git@github.com:adobe/helix-cli.git\n$ npm install\n$ npm link\n```\n\nIn the future, this will become easier, boiling down to:\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n","gitHead":"70a1b66dff701f31eab9677fbd4e90b48f69fc74","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.29","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.58_1531151345521_0.5302208008473022","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.67":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.67","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.67","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4715b14fdffc3751a6dee7698b773d51147e5aed","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.67.tgz","fileCount":36,"integrity":"sha512-PsyofI4TUtNJPwNMwJEe10VVoJ+i39jE0g/F8RuTPTMlbgt3514JiNIVVg3diCn3fvaKzxZSHHW6PFg2X32TSQ==","signatures":[{"sig":"MEUCIQCxFKwLfiB22gYFOSTMrQ2hWht8vsXxyrhyuO0EUC143AIgfsGJ+n+4WV7HIVbSEgsZcYn7e/WLAWnS242iRAHJ+Y8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQ4spCRA9TVsSAnZWagAAR88P/Rl36TcAbNSM+gs2P53C\nMHlzyoVmaDRuChqEzlTyCK/we6c4LweYAmOpdEz7HmLpC8ezvfEKqTt5POWm\nifpzfAxWW0fuwiXY8WYJqeuJxsb5ek5SsxP1iomC/dEVpwQO4jsjPrailKZ7\nuoSfddkEhWGP3EC7qowtP2H8NyEqk5erkO2UFPfqfWgsU8PkyKsD8uPw5Fpf\n3Jw2skLKdzPNscv5hXxkrxGO7XInqaU7tWNmt8vflMPCE2ld+/N9HQ0qiZ3b\n97zfQBECzvPG7Px2E7D8el8bY7ruBpU5OFf/7Yg6hGUXKQ8RV1GIm4QDGw1O\n9CYcj7RJzqem9UQwmH5KkFTBcb4hWDx5uUfyvXLMiPtqB+xZx23PcsgZTwCR\nfxF66LOGNvhxfwMZ9CGqfkoMKhZv3HD5M3cEljz+vCqNPAbguPZGhjjrLjiX\nR8/EDT6qo44BPLZjXP1mxHYuwFYAdbBdO4YLMt8NApS4vmBf4QCT/oMPhgFy\nvcGRixpu2hugw50hPBin2UPNzTmeCgkBolyEFpvKXMpJ/sORAc4S4ahz/01l\n9UJ411pzT4Moeqz81Bgjys6g/VrgR9+zd37U5mDMylnCGPOHqZm9r4jho+w5\nSpQXv6vsddpbBpyjclmRb/sD3kwxcIIHsIdDzubD0VBox3zm2FJJqMwonm4X\n0sdW\r\n=7OlK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/parcel-plugin-htl)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nFor now, manual installation only:\n\n```bash\n$ git clone git@github.com:adobe/helix-cli.git\n$ npm install\n$ npm link\n```\n\nIn the future, this will become easier, boiling down to:\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n","gitHead":"afaaf10929508c66defe6e35fad2b51804f39736","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.29","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.67_1531153193688_0.15461148968364968","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.69":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.69","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.69","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3eb154affeaf4025e2120c9dd328720f476728b8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.69.tgz","fileCount":36,"integrity":"sha512-N7wtrMDdkHgBbvJRb1WSwBr2M7PZnDJez5YHCEAOVOTAI7oWrkKMyz3OcYpnUkHcJfNSc2+E/V/syfN0v8RLRg==","signatures":[{"sig":"MEYCIQCWSDRy4XqztOFeYacLx3iEx708UeTtAYzqM6sbnSlrDgIhAORtU2glSPXP811PlVcZFZ3r63tQjSCz67gIjb1ovcef","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85782,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQ4u/CRA9TVsSAnZWagAAaFIP+wcNGX7zrYzc3VkGGeR7\ncsFGRCmQaaaDX7FewB1Km99JZVTpuhXR+Hh2X2cDmltevMYSvuxYc92bPln6\nHdNWG0dWzeSY/mTGVB2oaeaawtd7WmEwruLG9jMc1H3GRVI56yKtr9hUad6Q\ntpVAQrVyqVPOyIC/YmOoCUOnzFdDMVNV1jwF/Fcg5t9BxyOSaXYgzUI/Hfu9\ns09BQrl736PIukgtM4kQ5cGGUqsxDgIIHQomavkqFR2cFTprX/8bEoDSjP5p\ntVdhrPO3X5Y7rPaQkNZduE7w+MHWUru+aUH1ACuyQIf3O2Wyz1glvopBtDT5\n96LNnjkBbpl3dn2CW9ulfZsBzQqHlS/PK6yDEax3C6fLL2iG4g06GGDTv2uE\nhzXeSXygfLYv4lbZZD1xCIm+bNNXVZzcGnqGd2/tObtlbK9E1droJnQqwTKG\n7TWhE6m4uxMn6quR8t4Gj5YSclW2jQ31H6m237lMtVcqMHfRUqoao0jAKY69\nlFCqsz14KjllMYO/3BYxIFo13ySLWVrK/tMU3HIwLnoCNL0xDbwwgL8bJ1LM\nHEvcdTlX/9SYKBH5E2G/nynYoL+PX8FjT/43EMZhzn78E/EK6ZosRFSjj4P3\nFPDnZsxUB0azbdl/eAzX466SJJJXBbfb31cTcxKHwTZUxVxM7y6s5eHOLr8W\nIadz\r\n=oSND\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/parcel-plugin-htl)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nFor now, manual installation only:\n\n```bash\n$ git clone git@github.com:adobe/helix-cli.git\n$ npm install\n$ npm link\n```\n\nIn the future, this will become easier, boiling down to:\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n","gitHead":"b8b7e26c5ec72c7f4c2e3f5960328b06bd80a266","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.29","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.69_1531153343734_0.9325648901149812","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.71":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.71","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.71","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e4de4f9853635821393e9258c8c236c7cf7b79bd","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.71.tgz","fileCount":36,"integrity":"sha512-typ++5r9sGtli/f2nhcgbdOfU1SIfEC7Y3lCDOpeOp3Ggqk5qOGCsPlIJfNzEiLFF2WArAwqMu9pMV/L+bGzMw==","signatures":[{"sig":"MEUCIBjlM3HThHR2bRTz++D0Apaz7piWHBPLm+KCtiV155MfAiEA84MnU2b7/D8ahzDUFdN6mfxksc/O3OFv6pKQQtPVz3k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQ4xECRA9TVsSAnZWagAA0dwP/0yLiQTvMGn+hxZkHJOg\nybrMsXSu+xma0ebVxqbQl3yKeFGKVO4p+oeM4sk6PS1Y1rp9mThzcBF5V11F\n3wGsaP6WCxvanJjPFshiUCiBr8LiNPsx+QvvwdBUc05dSZvyVt19zVUgf2Nc\nPxhQRG8qzwJl7IuuqZdbCJOOfTcTJg/aGdkyd551f5Z/0FUDf8w1YYnKf6Uo\nz/qGGPvLc6uT1JMEa+Q1Hjx5i4ztyqAprEh4A7CDsDmbe62JoTItBzyuRL3S\nxz7l+IvogZo5m9lcvJqBWnoE5BHrdXgQGMCnvibJYedkIXJTAISCwU11I7qu\nXs8A6YzXadgSwTytHR8Ymrw1p7rbYUaNIU4WGDM2GRE5bJpS8gofkA3u8eYs\n+kNftILDoQdEjxXywf7437rYsJPPXf699Tyc23Tpir40wEeL+nZXJwiqhZoV\nmelOguX8zj62apE9P0+Ik7ObXR4fv9uKfXRtBdUi8Rb0OKgHAkL00r/d8Fu9\nUqUV+p9JX8O608v1/7nKOhVwHvcNGIjsU/IerK+BWzEbttQreYyQM+JsOiRd\nl+g6DSkSBXikchhhNMLy8nwqr866inofyj5EZucPxBkLNqCxYBEdwIHP1vFJ\n1c+Z/yaVv/xOxg+R9a3VCJfaZHEwx40359xoZunOZr4SiYh3NrwdMWtlOata\n0DYx\r\n=eaRE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/parcel-plugin-htl)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nFor now, manual installation only:\n\n```bash\n$ git clone git@github.com:adobe/helix-cli.git\n$ npm install\n$ npm link\n```\n\nIn the future, this will become easier, boiling down to:\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n","gitHead":"fc9431946d47f0e0448da7ed12add8a709328b35","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.3","@adobe/petridish":"^1.0.1-SNAPSHOT.29","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.90"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.71_1531153475952_0.6096457454000734","host":"s3://npm-registry-packages"}},"0.1.0-SNAPSHOT.112":{"name":"@adobe/helix-cli","version":"0.1.0-SNAPSHOT.112","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.1.0-SNAPSHOT.112","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0625cffe922a5a2dcd86e0fd784ddd730e7408ee","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.1.0-SNAPSHOT.112.tgz","fileCount":43,"integrity":"sha512-tiiR0lS7CcXbjkhy1O2KpG9DAiQpK2e+WnqKEaDjTIi1BSfJ+I979rWSReHXpX4WiTbOXHtVttsqpCU4mCW/pA==","signatures":[{"sig":"MEUCIQChN+Y6ALIfqznHd8qo2txRqqeGHxwSvh1wW0qWo/bAkgIgaSTThpUu04FXUuQAQZsLogoJWKGTqB4viFlGi2dfqRI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":98457,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbSG0HCRA9TVsSAnZWagAAKcQP/1pp6S+jh07OfC6XiYvr\nRzDGFb53HFrcQzjcUHY0ZrqhOP8+UVAUvArlIf5KWvA4XtzH56VxEENS/mkP\nYymiNeI70RlC/MpgpmmzuVxjUP33kAxqvyFvJUWBcQQ5OnizQcY2MCDp9oHW\ntJZTOVtf5fuwwHqC0XnPoeakgQ/Tj5dwDT6vTWxiK0ZOmt9BOPMGmDdc9cuW\nhmkgXOpiHbHeV6ma8aXor7fGiuog3bzF9YCAdEeW+XlQw+OwPB/RgFvVulRS\nGS9NeiRbsl1WQgZekngEkNA77qmL1CScgIKBU2g3hA0V8GwsRwELMpgfDex1\nGrgQGwCLMcsDakiEcbJ+QrR8mk7tHodARvsV6jvneJFIB9itsWZeHkIzZ+zi\nxl2j/Qr3xOeDVepLzD1foN9bfCCrsqVgDulMRcoyW4RyKGMwYIXbHA3UID6m\neG4xo6oCLBz7SIJRbEd9JSmrF2ig0yffGaLzhbmgfVzPQupxnnWAIAP4SGZR\n2n/We+7DdvJ1MN9KH3Fj58rJzsvV/h3Vjk5wem+RnPfCgkfZKp4fIik7nOF2\nOJunLSgUaVmH/raWTKpK/ZvjjAb9PzRQAK0LaIfijOY1mHHwxpLTqHqb22Pi\nKWhHL9dbmOmEXeWmMwPPcOLcXrjcaoGcmOVGPM5WsPhuqH5OW0od/o6bH8l3\ngIxX\r\n=QPde\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/parcel-plugin-htl)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nFor now, manual installation only:\n\n```bash\n$ git clone git@github.com:adobe/helix-cli.git\n$ npm install\n$ npm link\n```\n\nIn the future, this will become easier, boiling down to:\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n","gitHead":"27dcc2bff08f400f356b0dd257934ecdeec9d534","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","shelljs":"^0.8.2","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","parcel-bundler":"^1.9.4","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.3-SNAPSHOT.68","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.1.0-SNAPSHOT.112_1531473159871_0.5693527979838449","host":"s3://npm-registry-packages"}},"0.2.0-SNAPSHOT.126":{"name":"@adobe/helix-cli","version":"0.2.0-SNAPSHOT.126","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.0-SNAPSHOT.126","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"618ae6ca95a9b9ab352067dfb7d04f34d4e90005","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.0-SNAPSHOT.126.tgz","fileCount":47,"integrity":"sha512-3Qp3vyEElgTGZTmNgsRf07TUKFEEmqA60G16Bky3w+F7SOoFRPxl6aDZn2Mfms9ser4iXpA82It+Q5v6eoRlFg==","signatures":[{"sig":"MEUCIQC3zw6JablYihNFTG+5yEkfncqQRgOHmwXiajI2GipbjgIgOiG7ffshINT+ywWrP4uxJOsCMiKVMC8KEZQhYK2GPM4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTFOeCRA9TVsSAnZWagAAYS8P/ROih7Xnto9sASJVEKG1\nrK2QZ8ZinkXLcStbjxulLRq2enJgyI9IT0tzJh5kYdjqgMfYQF61R9Bco03U\nvAnB93o4lqhtyVD94ZXxQ9W40gGq+9Oj8fmOUWYymc/U/Ku5CG7iLShFAH+o\nHMlVEr9ZqVWh3L15wVry+1z1Ty4PMXvdHaHoln0rywGjd/iITEtoFm8WE0eg\nMDwp1kurWg0e2NRAtHz0+LN2BGUaXwSm6N3RQcPRkRGxdfYc4lVNGuyPtp0k\nw5+VusWlMHsT1RqaqF5TIZIK4j43tNkkEW7wPM2xzd3AGh8qCwFBHjms8v80\nPqxBZxUsvU9ImvJ1TyjzfQoJkFEvSRUZ/EkyXevFhy99mDPIWuCmxEQG6tlu\nFo8hdCkDwka1Zr5J7tMyAjsBYbe15F0GzG28UqP0cOPgRgf5TrHsrE2qVo9r\n7r7xF0iqpfBX95glUzZposr3SSg39G1H83LvUuNFI0DZmfxtkb3KzuCXJRNN\nrw+8u2ZJP3VVP+IJDO7A6IzyuqrX57rKP9WLPkSv+2dYpYBZkItG8n3OiNXm\nrvTILtLkyfhiSMlb0GXiroYZUOrLGXD7hHUyuHbxQjQ3I6GbapZB2cpfcSGm\n1L/Ft+yub6nNYio1q2LIwH7LLIgr9ksr76/nJ4aNZtpNPWUYKwECzv44F51N\ndgeA\r\n=YoaH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/parcel-plugin-htl)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```","gitHead":"e54a75db6be38ccc0e7d9a09b1e452711ce29420","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.3-SNAPSHOT.68","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.0-SNAPSHOT.126_1531728798410_0.6067204811920661","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@adobe/helix-cli","version":"0.2.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c9bc533b4a16c38e9d58ec2f17b80c89142edf1d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.1.tgz","fileCount":74,"integrity":"sha512-v+/ChDSwTS+ocnlOYTdiA2o48WovHEliuzaSi8b0WqW4nRVfWKDSMX9tUKoL/fODy3FJG1r5fPQIC5f2WEvT3w==","signatures":[{"sig":"MEQCIGV4JN9I8ZovDt7o8ZjyBBgYBRZVDq0j0BHIxWsVVOHCAiB6nemhxhdSZJlJrJm8N4Lkl+XLrLz8idgBaj1I3MPdhQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":195644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTuovCRA9TVsSAnZWagAAfY4P/2wFDlagmVUbyhLyVXhz\nL+K9Ih1CWJMPX/A8OFawoz9xgXP3ajCj3CCfX6XZ0xK9BImp6CrQRggVAzXr\nnGpXLp5FnkYHM+s/1w53ChkCNchicGJwJyvalAxAKg2f7amK8Qs+PIGozz7X\noX6xgtwn9Zj4EuRSkqdsQ9Ohlj92ZWv/JQ7LgC8UMec6o9QUrtQ3K+xRj2Lq\n9gCb2TAI0KI0N7bns9m9MeqmcwVtU8EqF/uRt5Ske/ZR2Kr8VErxifF6pIPU\ni6yasEtiP9AMQG4GhVUWS9sG37soizPCUsoxeyWOJq6szISSEVLtXmiAKnP+\ndQLWbX2WzTluY+IGV41X4jDUS1TuraiyzLrwhN0+SWn5ihGwZZm1m7siHtz2\nW9fPJO557IGS8ZwjYqO29QamBAf7wYPmpHZdvi4DU/dwPoely82+GnH+xKa1\nEQBV5Pph3+i+18sqruyijMC/Rv9Jx0RoH/JJdctwZ7wKlmCJ1+n11xJTAOcC\nhSS2abZ9/YO6t3/Zg5QG6CLFNlx1YWQ4XIDBAUfZ8BesKcIh86gC3TBmhobi\nX2v5IsRVe+rFB1HQzWfsFP6kyZt+KWy9/A/voJdxunJypi8v1Ri1Ua3YGfOH\nOrB9bXLcpT/GxMLmXaaJLRtKSQfmcrSGAZ9Gtr4IllM5/gLPAl1iSjuUXPye\nDkRS\r\n=dQKM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"43053a5aee8a949cf4b946eb3e513fde327e68fd","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.1.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.3-SNAPSHOT.68","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.1_1531898414743_0.6212527809434607","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"@adobe/helix-cli","version":"0.2.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"51a903a251c43fa411129d876a276622b7cce110","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.2.tgz","fileCount":75,"integrity":"sha512-5sVZvEYaj2HdcvZm83crMs5DGrkP34V8vr7y1N4nnFRcplN/gaRbM6m+htFVYk2R/rjfjW6ZfrKloQQ82UKt3A==","signatures":[{"sig":"MEUCIQCNUFvbvewQGHV+HcXDHFGkmbdoe7y0WGIHmg8HG+CmMQIgE+euY15IAP6p9WYbmk5pPppHd/NCtyefHuQsXXsVq+U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":204046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTvDDCRA9TVsSAnZWagAAjy4P/RVmpBJtOVL+DD0waMhW\neueLdkw7hsSsuRxTLyfsRBiurdYeFRx78vXpOf+OY+Sgq1ESpfejzVhS6vYK\n/RkCg33veghNcybAwR/89zAfM+J/bghdG9WD/0E1pX9eD9vcDoXXOGJwZIld\nl4Voz2+0CWfgoQscD9jQykY/Qd0msL3NYjakV2bC7CY8VxJBibobTwkfvAzB\nfm/BW6HCI9SKUjwffZLlP0ODF92zGZDxaGWHmTZCAQ/7yZmdOP4dQruf1SeZ\nxC+pZo1eFy6AVIqNp3zb6ZL198/9WW5WkSz30/dTYOZ5x4HvHNRdnbp2ySu8\nyjY3+OOomxchWf4RvH4LWjr7b4lAv07nIhQDiY5wem66CL00YFdVAxbhG1Gj\nMUwhfSuO0/DmnI6qqgk1uRJ5gTDh64jYawyhHf0bzE3w6cfnXbVPAU6sPv/v\n2afwjAQCcab3JmCTNn+NeXVNLM7O/i46lCW5YO9oqqOe9lpeJ4T52JwuT7qP\nlN/8v2NLIW3oAN4sfryiXvzjaMVghHq5s4c+FHi/Bu4Y3XyMFs8fPA+sw4tN\nVDN8fephSBiAsSaV3VdzoZ8z78P/R0u2wUbvMEpzn74gWRckHBDfXOEOlta5\nVI6st1yFsgBHlTHplhb1J8XqbvYX+a+ja53Ln0Mf5vIVd8Bys389r33wFiLx\n46/v\r\n=FVvC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"e91ac65be234274fc5fe5f02c3312eb1219391ee","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.1.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.3-SNAPSHOT.68","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.2_1531900099064_0.26251391608536","host":"s3://npm-registry-packages"}},"0.2.1-SNAPSHOT.136":{"name":"@adobe/helix-cli","version":"0.2.1-SNAPSHOT.136","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.1-SNAPSHOT.136","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"baebaaeb4594daee350a1a5cc2196e3777529cce","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.1-SNAPSHOT.136.tgz","fileCount":48,"integrity":"sha512-naPE9NiJdeorQ6MxhAkylK2soCCT7u5aPCaRQyseMlGzUECra+X90npcn/bBFlVNFQ7yhUZA7xIMX0B5euEe7g==","signatures":[{"sig":"MEUCIQDJ93pjA1GeJO6lR/lCEnd+c24lhVgy4xsNPZz5kn4YzQIgGRZZc+L7qibRGP59FclISS4hBtUa8BXYiEuDE/3WYpo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129758,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTv6fCRA9TVsSAnZWagAAJAoP/2sCHt8zBadokefjMUSo\nUDu1iCHdhbcN+7mTl9Vl7QlbSh8j6C7iThqbmTp/bpFZS8GzV+9MFVJZwak2\nkKcPvwDobQJ3TgvAkBH+4Qo4Qyw8twOq4qTLBePxSc1LIu7ilsNIRQzndCNv\n4es3w1rME1FdbkV7plvYPhv387mLA2r96VjkGC3HjCDQA2lW1PPN/i0n7anO\nanMIs0YezLpQJEXUNpx4cQVYvtYsap/kVBqu08jPA0ujHltJked6zDsOcWYL\naXQ8uwKvZD0yXRHmawBaORxiX8GDuh2JggX5JvBk38ptg1Qf1nrln80zCcHT\nxoUP9U+QgaiXjFPsova+Mp2pOadnD3BCO7Wd65QcYKTtZEze337hsCCWQoNc\nIek9SYLK7svgLEpk3ngTzIOxixXpAO/6hbBAbU81HvIhQ6y5VZAh39RNRk8Y\n/lBKhIHwBcrGSmE9/0UiAERtPOnps8fdQ7YOu8mJ/uDy8y+jLVpGZ2PEpNOl\nHNPuVbDIkV8w2i2hXUG0/8cLZaQ+76MWa9ZFF1x69AvzNmJABCOLLxQLK5aE\nCm2SD5M7ksO5We2iJ3aJEjWFBworyhMdDQN4Vp5pov03CcwxCU2LRz37HMgb\nE4a5JTKWCAkRL8s6vP7vojvB4jSsVWpUPODMqQqz6BBUnk3iNbKmtWQcluDV\nimDd\r\n=quQL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"9bcd25ed191554abb6a3b7a5adc941c1bec3d7b2","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.3-SNAPSHOT.68","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.1-SNAPSHOT.136_1531903647231_0.9521705736033497","host":"s3://npm-registry-packages"}},"0.2.1-SNAPSHOT.143":{"name":"@adobe/helix-cli","version":"0.2.1-SNAPSHOT.143","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.1-SNAPSHOT.143","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b253f9d8ab124727be87720b579c38e0ef0ab8e4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.1-SNAPSHOT.143.tgz","fileCount":48,"integrity":"sha512-LPu0uzmblAt9skm4rCIgsYcMzKFDRC1n7scp3CL11OGXO9ItLaFvggzeM0Jd+qJDXs8jmeHHWau5fLIybu18KA==","signatures":[{"sig":"MEYCIQDThFFWoHgmW9WlBIHx9CZ4ShTm64IIwgsafG40MdAxNQIhANDyqOBt+AFrjnuBDiPZbz2EBn9hiwdT+QKR/0eIdkmA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129764,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTw3wCRA9TVsSAnZWagAAA2QP/14P73ySFk1AlUTDz+oq\nCJ+nK+iu6XETOiEA64X4+cgglFc9ulqp44gdE2HjtQT0fIv5/nHzDDRT4pBF\nb88uOBDriSc1DMUWMUc2Mo+DA81K0qhn9eCbVK8FBviY3bbAhvmJBBTUnknW\nBd7U28O9lYU1CGhfTCMcGpQD8cQqC1obmmV9/PjSDeLyVO2Z2hwiTXhf2ual\nKtcWiiD2imNU862V90AUi0J0Dg7zXI/iGU/21li2CnctvkbFDvMivzeas5Ws\nVkIWZ7QGmwO07S8k+kLNe0jqpNg40jcJndjUTgB/upezzF6TEDOWxEUdEvOi\nCXnraC5p9b8Szp8y5iHKPIRZiGMKsB+qvmaFxUiEkxKyNZPFgtoU76Z/TLhA\njG/5aDg32d4BYzFEJasLXykkMa5yCPs3RFPJ10B3xjbYLSZo7/GHqKt9K9dj\nS8nMPBuJrRaPuY0yjeiU5KiYvesUz2tPBMDfPP0yASLgiT54oG0KG7jkJdaX\n9lknNlxL/BO6P1RWkqdcOrW2Imb5JI8dZfngf1BIshpIJKY1/ejIfiVti3Zf\njzZR5mOX6EKWrLln2A4u4n+z3RAujJOrJgZez7xSs/sUlpSX7+ZNVt97xmdQ\nuCgEjHGoBm5VsdcsTRRKfRkzqMP3z5qUovXKrGFnkIUTxyTS4lfhJuq6T1mh\nFn2D\r\n=f6Ky\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"e383cbc82e210e9f04b971c4c0d1bb39d2844344","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^6.0.1","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.3-SNAPSHOT.68","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.1-SNAPSHOT.143_1531907558879_0.6443837745575554","host":"s3://npm-registry-packages"}},"0.2.1-SNAPSHOT.145":{"name":"@adobe/helix-cli","version":"0.2.1-SNAPSHOT.145","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.1-SNAPSHOT.145","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8814a48547c99a05d508ff4ed7fe4e256112c062","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.1-SNAPSHOT.145.tgz","fileCount":48,"integrity":"sha512-jKXKWVteQFuKjLTQ5dkYXHN1d22PHdR+vDvAE1QsHZI42YnytRN4woHUs0pQbTV/+NvI1IQ3J1bBIsx3f/ViVQ==","signatures":[{"sig":"MEYCIQCkGKrFx+KzNX1k61xhs6F5LliysxswZgMG83f089x/nQIhAL+wUeT1RLhxukjRS6kxIy3kOIWpHQz1nxQ4OofP8Bzo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129764,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTw77CRA9TVsSAnZWagAAfSMP/30UWC4zKwOskyNUNEFW\nMJNuMSnWl8qW17aDoGKL1HgUMqwlvjEH99wXgbZHlG7PXzgInys1fxOSNuUz\nwTHctB8QzZIcmSWtH1om4IbPf2slW1MpU2zYAbV0E8I0Jm4nx/bJTckUkeXK\n0aH9YrpXfBOMeZDBgZczfnB0PN1lbzIr0R9oGtWYV48H4RiX8Bltox/MgPug\nlRHhKuWWzUYF1Mpc+5tzPAT1yO6RRxqoEdUwbr00TvgSdujhaJqbbmTLQOyw\nZyz9nYMT+Svk7/olDkWzI2g8wxxFKSRT5knhetaZerHQxn9ZwBLx6wzMJlXw\nmD4bKwKZgK36ZvlvVIvL9qFWEqxT+533EXCAtjkTXnI+Cf5Wv7T+O7w6Qlt2\n6UWHpXqeSstcwDlvEOje4Hle0e/JojKOuy6OZDLzU1yPURfkNvq3frrievEy\n7702AJJvGWqdWhumqbhzsP3RzMxQfVRYV9w448u6w0c5d16BZc/VJg8WqyBY\nA6VYNSCc3YrQgihVYadD3fWoCM5IBbdBHXlt1jNLhhB+lyXBQ26zDWL2YBbi\nXp7CCS54DgwmGU5EHsrBBLl26LYHI4yWJBiPtxVFSibjs/lLdt6ZKvRKM6A4\nYI5IO8OKAHj4wgOKj5z12cSv8MVNxKtTdGtbxGdNqeW742Xj1GGgLgqQjbbQ\nvGlr\r\n=ktnG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"2a5d8e4c6376f10dbb01b08f0f0b31b5e3801d80","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.3-SNAPSHOT.68","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.1-SNAPSHOT.145_1531907835206_0.9143371518064256","host":"s3://npm-registry-packages"}},"0.2.1-SNAPSHOT.147":{"name":"@adobe/helix-cli","version":"0.2.1-SNAPSHOT.147","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.1-SNAPSHOT.147","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4738e0ebe1d783d98ecb3d01b9b450e5e879ea9b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.1-SNAPSHOT.147.tgz","fileCount":49,"integrity":"sha512-n7PmENAAkA6a31IenLBOqkwbMv51qk1H4CxGNhJctKotsIooioQbCB2mGsAjXo1BcO551+mNUrXr+16w+44/dQ==","signatures":[{"sig":"MEQCICq18LVRkpn7TwVF54h6P2jx9a70GFIvgZajySY+aLBbAiBudddzKftAUABZT5D7Fvl4WWtWzlf8ctipFiihAXLivQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":131572,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTzjLCRA9TVsSAnZWagAA1wYP/RPqjcHhfk6eLFHFI1Up\nj6B1jD5t7B+DeNk65/92l4SVxqtBp7cBUzT8HBWJLNsv16TYKsU+66Oqn8dg\nIJyWzI0qK9tEMCNRdYm7qfjojUWR+eJilused5Usb1kxaQVebTvPTerfjMdA\n41iS2/ftYOkUUqzTAvphoiPuh/Ee/Rqd2HkPUDhisMBndVpUayefR25SBIuV\n+/E7dOn7LTxNp09ZOcw3RbXeSyld7maeQs9Ywoh5Uh87Q2WmDmDhEH04UvVo\nKf83jIoYsIySZ+qVmVdSH+t1IKp9ICikEfAUjA/ksQKq1gt7HfnQgrx/v57m\n+ysWsvnvMay6DRkKguHV47su5bFD/D06/707jq5jm/DjU+9hVush4WxAYDlg\nmJGlp1nOsLySiTdnfTcs/w4OfZOJBn6MAmxei0ojQ4iEE+VlnXWaIMvx2+p0\nmcm0RRyRPFGZs4kjsnimBVps7NFPMR+ZQ911fEnOFbX8n0RbGGTQfki7e47U\nMzoo2P5vxaJnMT6X/Z9sadSBgyqmdYJFAZtgFukAdmRgvE6thN9kx1FU49dI\nXPKDaJWmoER46hQ7IUVtAnaiZSRAcVrtfWB/SG7ddvcF0cEKnEZ4y+mvYmPz\ny/SxjUjOHvv2mj9aOAP8dvJ5zyLO/Hcm0U+roHWsl8uhHLcRm9Uk1zZ97VtJ\nm5Th\r\n=5RSb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"230910914f13a3e99acc366718ed4631ea068b8f","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.3-SNAPSHOT.68","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.1-SNAPSHOT.147_1531918539675_0.13209527400103482","host":"s3://npm-registry-packages"}},"0.2.2-SNAPSHOT.150":{"name":"@adobe/helix-cli","version":"0.2.2-SNAPSHOT.150","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.2-SNAPSHOT.150","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"08f796319f5cf8f65ef5ee22c3bc414aeeae609d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.2-SNAPSHOT.150.tgz","fileCount":49,"integrity":"sha512-68Z0rXP+Zmzphhs1ZvwZfKtBs4suKh4Qfrcb30vl6kZ2I200pfG7BgPJhB7tXxvmPKoStkRe9BdBHWOuG+pi3Q==","signatures":[{"sig":"MEUCIHQv21lGucqorqLn/VAoF0m6mlEuWr/4Bw5ZiiTKZeyEAiEAx412CZQ9HZibO46VKaiTMWv9KUh87/IPNFH/Tzov74c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":131572,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbT0c2CRA9TVsSAnZWagAANmkP/2wNbstgy4zYWXeedMky\nD9RaTIC236r8lukPm7KJd1nWibo3MBNvlmWcqzHUuwOCv80zBvN8WE6sEVlB\neBKvK812EfhH/BQqmZApWZTmWSG9KPfvFjjA7aGiemEG49qkJf8+poux5Xrc\nsS2gYd5ynRoRQLdO8/Q+LtLoVKtBLsM4lbiNnwYv2d/tqwsTnbGWR6GhQjU0\nLGS4jRmfKtFN7O76mixnacgH4LKPKEuGBS8f0sdIC7BYnpebcObf19O94q0J\ntMnFC+mG3k1hJ3jDZp055WMIDSFD6linKAdCyz0+OVuCEJFxcnJCuiPwzUvT\nogb94Dr7oEgSrc7cO7aA79+203XQqj5lXb/Y2WDvq2VCvp05k68ns56HNd8x\nRGG42V1qErUX0UFifWihK5zk1XJTJ/t1i4dD5/cE1G5KCp8PTMixNklN2tND\nca3G6Jr0SxPcc5KoPOSNK8GMvREFNXiwqDZ86Feuyc/o4jRpkx72AbNbHgvJ\nWC1aStPpoHPA8xVnp/wdk61vXRxnaC9kZ0K6sjfmEAKj68JaO3viqw9dHrXg\nBz5r8JxofOs9BxBkIcTNpFkxqalPk9cU4SF7PoLPz9VH0voSxTdHu4r2rMga\n8wm9F64a8LKfRc7VSiMWUSjGQqzWgmQsb5ul6yBUt/8q0j4F6M+xdgD9sGWF\nCAFY\r\n=WsDy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"33c10992617e50264236fe4e2ee344f760d87ae6","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.3-SNAPSHOT.68","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.2-SNAPSHOT.150_1531922230488_0.06901076688242802","host":"s3://npm-registry-packages"}},"0.2.3-SNAPSHOT.152":{"name":"@adobe/helix-cli","version":"0.2.3-SNAPSHOT.152","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.3-SNAPSHOT.152","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d1672082b005f2948b0cee6ed1845c3ba6b01cc6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.3-SNAPSHOT.152.tgz","fileCount":49,"integrity":"sha512-Rp+uHcXPXM5OzosGvM0ADO9pY/9+Hkmha7cXTIiIIWAgHLhRzzGgAkYFMdHhrBsF2mZX04rvwGu3+Kn85th+AQ==","signatures":[{"sig":"MEUCIQC5m77FZuROAd4lEY46T8wafkWbWq2KhcAr6+cZndIt1gIgMmvtKa2lFHEILftN2mgNnyUvLDL63FJw5nj0HHDdEVo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":131572,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbT0rdCRA9TVsSAnZWagAASlAP/i4gwdkeeAlvvt4Vy/z2\n0+6yWZAipewR4T6aZYEXyzqX5n3HgFPx+HCFWZja/pQtx69NANDKXht9WgiA\nh9C2fMqYdsX+eMwzWlrqShlvDhZk/DS/6SiahSE8OSVDa9aXfjKK2Nj0osvN\ndPCAvU6JHpGvvR3ApHpMRpfnfxU6PTB+ZxWKiUb6DkVMXEOzkwN2idtCQo0V\nDhg5TTTdGSW3AGiIdS3DWdnUxkiVxoeRy9cncNymkMgW6f6FuWEMjVA9/3IW\n9YuSHuJSJ9KyiCReW707PM5PGtPS2h5lTxd8V9qhWmBklD2Iz3rKPRaQLpst\nUneRBTqIH+z0ZzZLyH8TygjiBJKnh3nJBSsT+/5QplkwBdSEO+D65uAh1KQb\nCwXVTB7NV/6nxZ5+IG36cT6mZiBGDpZY/23TYc+/zZVIM93ujr1RGosjA4jz\nuvziJZiOQW/HOFmgybuMChL/nSOajGOBPu2KSf0+r1S7tSewAQPxlDhDomCh\nNnJUBVhNLv4LKJRjWlYIqOUN7CATzK5rONEQrry6BbVI9YmjJGxLBgFmpYY8\nuh1+Bwe0dhddPprSCeQ1XVTinRaoqOXKthHfVLL77t8B1CNKd0N6mbquI6zK\nZwaahRU/LjLveN7fGD8Yg8p6MAEKErdkS92XQ2WUjLUwqeyvZgd0RfgD3ZHU\nn8ob\r\n=WTy2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"9d5d48bb56b70dfc6639b58c694f1e269aa3657c","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.3-SNAPSHOT.68","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.3-SNAPSHOT.152_1531923165605_0.6712351426816907","host":"s3://npm-registry-packages"}},"0.2.3-SNAPSHOT.157":{"name":"@adobe/helix-cli","version":"0.2.3-SNAPSHOT.157","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.3-SNAPSHOT.157","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9ea7905f1292c91ffc5ce13407a246cd81dc3e8f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.3-SNAPSHOT.157.tgz","fileCount":49,"integrity":"sha512-mTJ7x0amXI6L9LTvvxJqnt3WJnjbc8ZrSitHAgiNZ1QZHqhJ0SJZ27mYOvLRXfjZxLZXC9yTWrbA/ctBJ9vlNQ==","signatures":[{"sig":"MEYCIQCFfqS75a5CuT/uqtnRnJqCdNGHpXapVwD0gUmKyEh6WAIhALhSERa/ChE/5odGe16Y3MDM4rXqJNPqwRWCFUY3iSS/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUAnPCRA9TVsSAnZWagAA6tYP/j9lH9CnBME8JSPaLFUD\n/FmzsN9hWKmVWzPbRBmCQ03oc8mKY7BofXH8bN0vx6U8zkaGrJFPsf5Qya5X\nmwwORN3qNXQKIZrM/LywCY5hzFwigjvumDkGj1gDxdq58cls7Ru4s8LFpVkK\nN4z800d54tTlSr1OrVU67WbOtIJOVXIiIjUZY5pgzS+be3XWhGU0FG0teo04\n3hiwc/4mRVVQpPykiTvaZ19BJNGdHlBZfkJTEWs5ufDgl7Qwl4POcSsMg8Cr\ncY7SgaYuMujd3mQ500cFYAkjj4SBse0v5AWf6B5X1Rt3wRsy8EHa14duqJvg\nU4HGdK5zq0KOcm2Gp7UyIGLhGK6SmaNT1Z5gGdKCSbyKj3TZerLdvEcqXUtF\nqYiKxg7TlqR6+c/+DhjOXFLqsKI94k7VviQ+8NFQly2AlbaZOUa3Uqdwcrd8\nCpa4JCLTlRz7fjeXQuVlF1cQB6wVSRoPbEQr8J40V+AQWudBPbxE3zLlAe+q\nNbLmDFWqHQluKvUzF/bkoaQXmjxHvC6TgE1cKdQ5Jn4CqY2ddv8GWoYVE1DM\neG4ZE6vao5A+VDLJrYqVUWF3Lh70d7uVxPuKVV2W11xhePGaYVRFuqBW0s1B\nQqdI2Bkj2Rw5vOvttUhkptjtocc+zjSW8j2b8NLiRJ2NpS9Pj5nqdHXffBbf\n7Fkm\r\n=y/SO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"831919c68f5f7e95d8c3a67b78626fbe7151ee37","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.3-SNAPSHOT.68","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.3-SNAPSHOT.157_1531972047382_0.12737446668405727","host":"s3://npm-registry-packages"}},"0.2.3":{"name":"@adobe/helix-cli","version":"0.2.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"98d2d202892831b70c65d5e6bbf515add9e0a0e0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.3.tgz","fileCount":76,"integrity":"sha512-01COImZMvRa/48iLTV12nwUkEaXrtNEmUa5TVH/xTXuW7EuRJAHaXTKD8UncNLC3Mbk2rhLob3gKNZ5ZL4Yrzg==","signatures":[{"sig":"MEUCIQDKyhYQ2RVs3octAJA5M3hwV0deFlPsT8P5J3Nwzaa2xQIgEYLhcd8MzjY6Xy8vKy8qhHbA9qDmo8wjgQXLr4Y1kfE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":219842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUDD7CRA9TVsSAnZWagAAhEkP/iPFHfCs8kQ1wIkWOTB+\nRDM3GDJYqr20uh1gprWfxP0/6LJ8jlVCCHxgXWmeO1uoOzxf9ZuOlZq4IezG\n4x3fMt0kfXYzo5QBEHfbwqhXqFCUAoRCJMeWjLwHTGVfYLGi6DGwXG9wRfuM\nIPlNt/H+iLnWEiftufW5D6iKhJnO5XRcz/JpGe5xxdd3uQrmn1w/uSefSvCB\nqFTFe4wvo/RD3czKot4893I/2J3qn+Z3zbj+w2+frJ4DclhB3He2GNCdW8LL\nI0rzJ669FJw0/ahejP74g5N1UpU2Vly6rn0cNpvxC8ZJz1k4dk7sXkX/2beX\nFA4PUFOR8AZgIILvYZ25eY7q6CI2ScGJDVtHUxKuU7W6IFl2TWF4JQmgJZpa\nO/Zui93OhyhoNwabuyf2PVxmDeDyxXLOVmqQ5b/fyeeQKmYKuy+rCE6wiGF/\n6sigaVCkySdmuvwYxe4MaT8K/yuksbUGURoY7oCZbZ1O/IWe0p2mhR6ANWn8\nlJqdpEaTTO+ARpn3w+YxjY5XiOeFaWZTT27KnT5oFOO0oMshydyytCCPa4L3\nWVG0eLh92WTkjydzzps4nrNLlfAZz1kJZXI+5o0pbfguhnp2008UzH+wFe0J\nvl1UxR29r/I7YlnK8FUgAa87gCqintCEsY1TyMACvd87EvIfJCJUBSmhK+H0\nQHhZ\r\n=0fyH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"9270eb941f29f1ecd79ebeda2a53e1fa2fcdfdc1","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.2.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.4","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.3_1531982075507_0.9414166244039033","host":"s3://npm-registry-packages"}},"0.2.3-SNAPSHOT.160":{"name":"@adobe/helix-cli","version":"0.2.3-SNAPSHOT.160","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.3-SNAPSHOT.160","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b0affaab8b7d61d05b8ea09a9dd24ef489efc13b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.3-SNAPSHOT.160.tgz","fileCount":49,"integrity":"sha512-2vqzcYyLgHN5EW61wq6wGHOWnc8NgIDlRXJjUr814OC53VH6YNMX6pQafWveCBiu2i1LZe3LaQXcM8m27igRUQ==","signatures":[{"sig":"MEYCIQDZMVUd+z55bnYs9yC8sV9IbVdpnhH1PHUyGFk3Rh2NkQIhAKLbu4tQ6Ff2j61/008rAaLyQ1AwrTqn6PA2S043Xrfq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUDFJCRA9TVsSAnZWagAAMQwQAIxiy27Mwpvu6Bhf2QN8\nU3v2+H40htD/hS4968XSvNb9KuLkiLpByD4T89HtPrRPrZfbxwLIbKE85bYR\n9CcNG72WVgiGanDKNzvcrrE/sI/Vm/Xntes54vBN2KT47pCWOyX/CZq32TvN\nE5WNQOXvjPRt3k6/yAj8zfqFCn2tcQQ0LPm6HSX6ewBO4Xf+kxjCiTh2qB9s\n/imOoQw4MZBUMI6QoaIlm2e4Pv/S8oZbML/XB8ZgdO+FOJU5qPpPUIbQSoNJ\nONyBL/yjzru2IS/KjmkLjUB2+fT2TlNm72mNwDc2jBqp+Xz7uu88THbO8bnn\nBH8ntz9+XUT6rkoq7UZdlr/0IX0Em92oZ3aoLLdMGo/TYcb+8V97WW0JRiji\nTCGNLGz//nVkMi7FVxziKhnFWjuDAXskzufpM2uB2Q2lXG8hd/KtmFk4AJFc\n7Wg4EnzOvhQevsIOXhcUc59n90GAgMtHlICazfCXTFhN21liPkwcosJ6tjIG\n0mh/9nMVhx0KcichjELKGFOPi3XCkgUYwK7a25ORIe25NBjxmWBewDMjRrQG\nv151ihNv0z22GYK0EBLUIGPOoRAucj2w8dva2L6ehd39Ue3TE93ardAU3QwY\na9HFWcI7sx327XtAyzEgw6KAUbZJSqN0+u8/ZgUD/TkkD938C0z+Gl8IIzNu\njg76\r\n=bBFx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"96e5bf5c1ab4d1ee1ec6bf2e36d99bf38113dbe0","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.4","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.3-SNAPSHOT.160_1531982153828_0.30139474286164836","host":"s3://npm-registry-packages"}},"0.2.3-SNAPSHOT.162":{"name":"@adobe/helix-cli","version":"0.2.3-SNAPSHOT.162","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.3-SNAPSHOT.162","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"77daeecea8fa44bcbe3a0fbcb6405961cbae206e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.3-SNAPSHOT.162.tgz","fileCount":49,"integrity":"sha512-xb1Y5Y0uo+lMOuNhMlkbKbPkY9IQDEZ3ZE+1OoNHFnCGSOiIUn9NnAG35yFIPGvwDvOADG6ZLTeitayAayv6TQ==","signatures":[{"sig":"MEYCIQC7+6nEhKz9aqPwlCbDbigEFfyVJuCvWSb2ALeOkoGyNQIhAL4i8n6le3zXcPi/hPntzxrQYC/rEkwyAetFLrdCr0Re","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUDICCRA9TVsSAnZWagAA4Z0P/ROp2E7/sai7yK6uHRvw\nhjD6uA+/am/DThZB19l/zt/Q+VPdq2MlVhJy5fNUBGEH2+QPAqutnLi5Yp4d\noCg/qSLUHNDfAWRaU/nPQqew73AgYeCbnNrelbleYhQZ9yS6ApXU1xWX9wo5\n6V+PL0WapPfom9Nj8jRYhJZGLw/DWPvDiq81IvQ1JkqQrZESEYpqiTlrTGOa\n/JcNpMhWLUal4H97ZSYYBX4Qn1IBJr/1DQ6Ps1lCSz1/T5nHxyjB/McFyMu3\n4HRuZYPQ+UCZMVarm9zE7G9Dqq61nf2Yp9ZCsd5QVA335C+hI4KmbexVFX65\nzj0kjj+UAITPD/VTVaj9FQeRZlr0CYRlTwJQSmdwjBTnsSaFQ7zsXyZPGEfD\nMJeb6+K6N3XFHQJD4eeL5bDwz+vIucrSrmeUnTfhkRTWY9OFNNhk0juxowvN\nkHhLXazIjPwiqN9GkZcDI2re+AEWROTe7OHJtr1ZhJwqwT1Pfd/70Fkhq4+C\nasU95kEUsKfv0ARFLczPGAL9L0E6jW2Z4wSeEEf96EgojXHbeGoIkKn9Ryjh\nt2DUf1CCnsFc5vL+8Htcgbnnr+oPTh7CGiS6w7IUCZGRpNMfIXlOYD2DCtDO\nKVwEMyrOwQUB7OpTnd+5J8lUgGsl1uiQB+rEwckVorxxlu+H9dmLlP+Hyw5U\nO4WQ\r\n=J3ed\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"9270eb941f29f1ecd79ebeda2a53e1fa2fcdfdc1","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.4","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.3-SNAPSHOT.162_1531982338909_0.358038418656105","host":"s3://npm-registry-packages"}},"0.2.3-SNAPSHOT.164":{"name":"@adobe/helix-cli","version":"0.2.3-SNAPSHOT.164","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.3-SNAPSHOT.164","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6faa948ad32660f8764b137bc023c46284866f67","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.3-SNAPSHOT.164.tgz","fileCount":49,"integrity":"sha512-J4ZkbmnlMkuXvBjznjL5Wpqr+bPsbFusLTg0SzyyktSupVq5TX/0V+4yUFV1pS4quKxxMT2AMOY2hkHiOUaVgw==","signatures":[{"sig":"MEUCIQC+S6oRRZNWWvIWIP/zqZ8Yt576j3ps0UyhmmrkOI1VBAIgYGpHxOIMZmS+qJ/WIxm9nUq/pjNHIwSuX5Aa751OCh4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUDKiCRA9TVsSAnZWagAAKhQQAKQFn+v42A/rfTjUdLyl\nkAbV4dGF03JJhieAt21/p2KInhFI8o+Bqc3aEPLXatZPF4GsTUaHNewtJnKh\nffZh6Za8bUfKjqkNGSMykRUDrIEKKHSRFnVVHQVWUMSZxSe+ukXeb5jr7jec\nc+7JDSEWBRqTEGYPmZ9ns7Rm7XhFtipRMOQZ2TQ2PY9YxhI6/Qjn4VXIxkaf\nj/X7Dco/HcK1YhpR48m5KJAQg+yvhKkb1VSOizAJMGoS9Hx5CzFg9taVo9G1\nb+K3/ODUI6nr6gkhMZgMSkXm6O7emeM1G7SLsUMeOTtGnGKAgKSP8Q9cC16Z\no4iUWG+H0capgJUKUUeabike6RDQJrpZYdC8NcVL7oBfCgWDqKDyiwmg0Dj+\nW7zxP7B52TrzCPL01bGk0u6HUd7B7AyNB90lhGi6AUR4rLaajJEqTJOu3lrR\nAsIWYFfEWxrhidFAiAg92CVtjEXuAupX0JXcdbHpZIXr0VeDbbZbvnbk6CGE\ny0VFWnohP8g5R3z8n0q/CWjvCb3V8nl4o0++MPef52ZayQUUmKnholMlilac\n/dUL0vWu9HGUBQPtADhNjI/5m+oWQMriT5tdNgkLXviLHLkSb6wfsw0l9FYb\nLxgmlYLrvFvE4moNagHB8duSSECZrtFYE/oj7HTW58rbzoph3XOMManqpyHQ\nWYd5\r\n=9H+B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"daa78f2b15bddb96cadce9adfcb2df89f4a1fda2","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.4","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.3-SNAPSHOT.164_1531982498780_0.23732841830789608","host":"s3://npm-registry-packages"}},"0.2.3-SNAPSHOT.171":{"name":"@adobe/helix-cli","version":"0.2.3-SNAPSHOT.171","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.3-SNAPSHOT.171","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"df0963408ec15fa7466e29adb369d7e6156e8dfe","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.3-SNAPSHOT.171.tgz","fileCount":49,"integrity":"sha512-ttxHxF57bZ2Elb7tP7ubRzptIihpw6Ow4eFtla0MzRlelHtHQEIzOU13air/6wO1VLV6i/6iiextn4e+cP9xHQ==","signatures":[{"sig":"MEQCIHW+6XEZ486fV5m0JXO3hmGuM3uVqIuoMs/hGI8PBM6qAiA9XQnDXRFRnUiQmkcHTtWUT53Qkq96U8Mgujon744yNQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":134553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUZziCRA9TVsSAnZWagAAzZgP/jX9jvyL5dHUtD65W/U4\nfm+2HVPBXZawNRpQShKuXPY87aZr09FN9O/M0lgTMimsUm3c7c2e1mp4QNKH\ntU3aCIAkeREWcObQvO0Ed4kvBKXpWNtns7Xjh6yCsd6jvVG7ttQ3+8nH9BFy\nijtLcjri5U8yzzKCGtYBG1H76vSWL5yvXinmesE+9hYu38BC6tsx9c36LbXm\nlRhIea9EcQrxGr+7p9fLw0/AfED77O+CDzzAbVm1SgMHi1rkKYC042QsMSAI\n6QlYvNsqayuOdoldeksWX50QjodfylR0qTv+j6xjEZ7KIOCavZaKd6xgnOzR\nFx4R43Iym3aL5qh9lqsdbVkb+/yELhBtL36hWiPzgZxfX6pTzyg3VR768E+9\nNY8/kJJQt/+NPqpTuI5JK9wKTN7k8s+/FKw4vBAod70pam3W8FU3VIUgQknt\nYdJS3l7xcenOdRPL1A+zPimPIdki3Z0pcuenJRLf5G75QbYDDIPBEFr9450w\nuRgyuPhLf3/h8shA8llVnn8ko3bFLAb1WPHqlpFEhXcYnXlJZnuSYBAph1Z1\nIXP9tG7xsowx3HOC2iAQMJuxnFLXKU1fYlzwlpwlhMBmw4DOROZX4aBDtt7E\nkcntble/n+f/njNplKDUKJulOuAinWBQ/vbzkJCAwkVUW5ipCa8lgXaly1kn\nLQLC\r\n=pJ8A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"6436f30cab977d6b1ca4ac41f5c05bf51b1393fc","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.4","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.3-SNAPSHOT.171_1532075234235_0.5532894380927891","host":"s3://npm-registry-packages"}},"0.2.4-SNAPSHOT.180":{"name":"@adobe/helix-cli","version":"0.2.4-SNAPSHOT.180","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.4-SNAPSHOT.180","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"981140c3c1e2dcf064a573b08bca31e97265267a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.4-SNAPSHOT.180.tgz","fileCount":55,"integrity":"sha512-c2jOLREnd0RwGgY6ulIaTtrReGIj+bWI7wY/yshG0pk+c/0oLqRMPTlLMKuycW9wXiutv+4sZdY/P7O/8st+fQ==","signatures":[{"sig":"MEQCIHJVdfcbiK+RuISbhn7nC4wWTYpq/4nbTo/KwJLzigicAiANC9GAHDFUibsSI1VHMr5MafLW7aUi0pSSXkFOKvbCBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":180234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUgNCCRA9TVsSAnZWagAAxYcQAIbfve5UDupkPO05H7kF\nV2YCPjK2zCpUx4/ws0ZmL5HPEaEeFYjAp5KJFagxNHhh63ODZSICQBDHEHSm\nrBsLbtNJgC7Wmh0WwcLP21pVV3YZ9Dp8Nuhwmf7zsc+FeHQl4I5Ezs5LKhzd\nbDAH7k1kGtD/Hca5aEXGV7BAFeq3j4IgWkdKUdyipiY8OJ97D7WNsGejr6lu\n/SRDHcYNwy4c7Ekca7x5vfy9TLMdwO1P0qklvX2Za5/BpK6EsbOF69mL0zhQ\n38dJMusFn106Bfw983Sni00b6u/0rzcqYsr83UEH0W+3OXCxKrv6EItreKAU\nn9TdQlBGxdaOnIGedIkuNQs9dCEyovZ5KNfAhEhAvaPKjw4swb8RD9jjlqMN\nzIi6Gizlhyfj7TehXOH6QPoQESo3ElWTn6niszQ7iYhnHsMEb3H/P1K0kkJF\n6TkeuTr7V/54+7qjV3qJpRend4ldy/onNfkqJYriueb7pqbWBLNAUX0u/ldO\n4ywuSp+xRvg6pX7ziuqjnhZaalzB5nsPnzWAfrHDCcVDvMp1yP1tbjOiz8+b\n+8vgm2h32QoULPsq9iU0A7YB/MzICUUPfF/kPhOFfyibVgUi96jVqWrhBK33\n44Bk7n2HVZIpT/qkNRsIBne4LvsQp87ZwzvihTFnAXMMAhZwl0DnrTkqdv9v\n4KH5\r\n=5WFk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"276ea7183c54255a0250006a3833cd57808730da","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.4","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.4-SNAPSHOT.180_1532101442617_0.3564102344923461","host":"s3://npm-registry-packages"}},"0.2.4-SNAPSHOT.204":{"name":"@adobe/helix-cli","version":"0.2.4-SNAPSHOT.204","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.4-SNAPSHOT.204","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1cd99d57fcb8060c65fcd32a7412f26de91c6fa3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.4-SNAPSHOT.204.tgz","fileCount":55,"integrity":"sha512-ebDpbD7w3mh6OqrznparXaTByo52jJo/A0cMQXuKBkSLQMSCiSuLIYwlJ/uGq7pr+/5ZHThUF04tuZxtgBorLQ==","signatures":[{"sig":"MEYCIQD13iGjpOiccQT3tpepzTMDWG2v5ar6QHW+kp4BLBdJoQIhAKoNjwpX6QGE0aERYAm7IG0YSEcZvQEhaxHzhmCMuiSX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":182651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbVsrECRA9TVsSAnZWagAAgfkP/2CysEX8yZyE4+soYklZ\nMzfPd0nix+LxTYcKzP8fn56WYCJs8RyaBdxUs/qxkApQJxWYTiUU/9aWW4Bv\n7UNpOuQ9vYGeYub1XgQjpnxiwqPxr+IcsYd5jTMRSmLjsHKAGAIRpU8fkmhl\n6tz3CGxjYwvT9wbLnFcNAbWrSj9l22fqN3WVXmhqRSqXraOPDRGlQPukcNs6\nRQrkETMvFkidGNgSf0i+K5qi7GDLum9rSwCPZm24DX/uRagTwP5ShVI4SJsK\n0KIjVIco+lin+fjayrWWciVOPxWCrHbS8QSmqlLDVIRU5QlUuTCRGKkAweaa\niqbruZIV8mTrs4f0baK+79S6tfz133nkM5qWbpw+dfD/KSQEyh6U9gEm32sh\nr4aZ1G08rzARcFSx3fwcVFSqBR/4w9DWy6UyTHZspRAVLYIRZyNjoG4NqO21\nnyRCo3E7QfI87+SLz12W7ADIYVMAK473DpiSJwQfM4p/r2Lx4+7NY+I7f6SR\nrM4bd5lTKNx0AvsIGuabP1RhS8E0KvixfVrLtLcJUfgyGTLuMlCrNsKm/MDf\n+B0wO3G9nn5jCCr8a8qCuOQsgu2SPH9AAggl11P8KLFfEJL8uZ0zbEpY/hD5\nayWrqHXdQiO0M4dfEeUfrzIGED4gLtylGilQU/BXJhfKN0j5ADGZ77s3O9CJ\no4Ho\r\n=qcIh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"a57a229250dd75cd07fa90fda73ddda67e4a993f","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.4","@adobe/git-server":"0.0.1-SNAPSHOT.6","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.4-SNAPSHOT.204_1532414660494_0.3889483307353734","host":"s3://npm-registry-packages"}},"0.2.5":{"name":"@adobe/helix-cli","version":"0.2.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c03b63dbc724aa1ef96aa9a623924e9761ddec63","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.5.tgz","fileCount":93,"integrity":"sha512-svqf3lapgvssxkNRFpoKd/Rg9GGg7xSbA7PCiP2pyeRTPAZf0Bv+WvUnR6iLqiWQVWm6PXDhbCs2T+2OMgmf6Q==","signatures":[{"sig":"MEUCIBNeC25eh0T68q2wNjbO6KwZkCzKObLqH5ArJ1LgyCuEAiEAu2cTjWItQ1O4x5Lw1/kz6uWf5fK/iqYL5vA2AXz7caI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":775379,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbWNAACRA9TVsSAnZWagAAL24P/RaDpVoFq8USBXhyxOC9\n3gypb7DmSuN+tc8fR5dcjJosalxDXhsos1i7Y/yq0nUwTCwSk01ilPuKWxS5\nTD6KpLOiglMMqGQiaSs13N+SPkFt0Km+bARr9cWvYLonYsX+9bvOt+aTuqc5\ndG+c8N2QsSLJ7to6LTB2H1r+LUOYZUtHssHKzRtPYN6mCgiN1EesRZ5g1JKQ\n6yB5WZR93MDEhuQeg4kChfway98bZVoU17O2jVgS/9txpwLsU1oOIlqjFQjo\nY12alKHqJ0JE8TTiBD+tAK5uoNeVivSnByYoJ6yyiCGL0q6qAGAkm2/4RB9Y\nteil0Soy7s0YtBbs0HK08RzQbakCNttRC10f6iFbaiYrf45tqj1WDo8LCYyr\nlPzSbvUBsfJY3O5jQIssWlnmWG7WqNiHeJyzPUn66BDo2WPCZyM7MyQjWyLU\nqIw9kcDZcveVIX6A/gjneBGyc6AKHik62zIwhHmwV7MucQAhZBHJp+zGcdcQ\nESBxtvZvDhhHh4TCtVEnTLmoFaOEw9VOrX5cdNkqOHmknpTu4uzCZPHnhP5P\nDgOtr93XVuxGTDbLnJcOmIbCAr7gYyLfFAnQYrglgKW4NUla7nasJztPAeLa\noSkwZ5nd+pGU8nTL3JKmn1YTZ185DIZMqCfT/WmNADDGXcPy+BQ89p9Gg1+G\n58Ss\r\n=Vw4Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"7cfe31d1b3637bb3d86320063af122e94fd5c525","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.2.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.5_1532547072132_0.6706774108792","host":"s3://npm-registry-packages"}},"0.2.4-SNAPSHOT.236":{"name":"@adobe/helix-cli","version":"0.2.4-SNAPSHOT.236","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.4-SNAPSHOT.236","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3587fee4b174a0d2ef44e117457ac8123d06fa19","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.4-SNAPSHOT.236.tgz","fileCount":60,"integrity":"sha512-EcRod3ojzZzLyHKXcwjBXWgSbUncq5wDWyvJy+yCslZMF19rjFyQTFNArk5NVS0knHej9gThvkupzP6gQD2MEw==","signatures":[{"sig":"MEUCIQCayNI+cHL/F3MgU6VkCjWfxiHyxG8Y4JhYZbHiqnMWxAIgYBw+Chkpkc1vIIujwZ8W3f/Z6daeZmstwLX2ataT64k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":317417,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbWNBUCRA9TVsSAnZWagAAeA8P/1FzBr/+lB5+1dbk1d/t\nGipyFLSYJtRyl+4mbVwNM4nh6D4WRHCEMGNT6T/ARpSsN0pUThxOrbm5q86m\ngRFMy7F+ih0Ut6qe+85c72T3Tb4H+7naQRxBIt+73KHHZjtr8kLM0J3KZynq\nN38laUaJQDu+MAlJwVBtfNcSo5tgq5bmY1v8MMQKWzptBXUayhZ4y54Ma4vA\niD+Q7XCjhOR4qaQGq8CeRT9obnbghm/slP3t+lqe71VMOSUUQ3EGRQWgEJAo\nvdQ0bkkaY1pNXy+D4kAVhzbYy3UdAlMwIEh14nSomV6yoHCgQuKlQqPq9qv+\nLdk24pQ2J8ZFKS4oKSzyyuGWAyGvMYRegDzvrgtzT4Idg1Ni7N2JtRwpJJSl\n+oLrVmQRCU69iLNeoi9bnqfAGQhk8nxJ2mpCLyGbvJUaW2LAh+SSPS8R7epV\nOxVxtH29gOjhvxX/kxopMX63nT2i01jpLQnK2GL5xvwdSrlV6nPzTcAwggLF\nAJQ57GA7ukJ5YW8zIlk8LTgeVFNZJ6CX/aqupLkzytOgHpwVUHvw0WXlRqKF\n0oOHInfbiJIjatAUCQWKspzjMDI7PrnPeOmedDapBPPbWi4zsYIXQRDV0hBL\nvPV1JiO94E10vMJ2V1F2rATrfbFs0ocJyRP9TVZ1/XXrssqEje07iMi0KUtW\ndFB4\r\n=g75F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"bc634b3bc506b4168a2e8ef3581677db436ac249","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.4-SNAPSHOT.236_1532547156354_0.4627271231366148","host":"s3://npm-registry-packages"}},"0.2.5-SNAPSHOT.238":{"name":"@adobe/helix-cli","version":"0.2.5-SNAPSHOT.238","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.5-SNAPSHOT.238","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"fb3163d5f3fe23391b6bb913f9798a15d6efe877","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.5-SNAPSHOT.238.tgz","fileCount":60,"integrity":"sha512-A/JdeW6K0KqvEF8q4qIFQHhOalbOGwXfpkZpjulOtzbZrFe+ZzGsOHK3kByQ6EvlzoEXsR5FLG+dU5yQaOIjcw==","signatures":[{"sig":"MEYCIQDHNVySzBdlJ7ZPQw7HVZal37EjRHb3dkAEUcnG34V1uAIhAOG9eoNMpuKRMAi4/Q19d5EhUxe0lME7TbDYScTyTcDr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":317417,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbWNCTCRA9TVsSAnZWagAAMRwQAJlm5SE17Aklvx0NOmvD\n86SgqSPD2Gy/4RdJoIA3j3DGBXyAQk6S0BAGKjIgHxEUmh7dR1Lfb1NKk0uH\nUkDUh9B+WTj1i7lF0b0DvTF+eTYE0Waf1SnGMC+H6l2t//KiZFyzldUnqfDK\np5fqg/TozxYe0PSP+DlfM0EuVTApiLzxpmdp0+yz2V48mPoJ0BDOYcRF1JTC\nxBWw/aHe8qohDsR074MjLYfMJu0WfXWppZ+AIF14g5UpEjQqsUAeOtIGwHr4\n+rnUqk+y3YLs8VjrWniF8vb3NqBz4W/kN/Le4bShh9aSRpUbr8q9y8anlpEO\nx8g0gxCTIDmIz+wzp9mgSgme+aXE4nlStDUKodreYiyTfjM7/yBWgJV4nzIi\nafQsgMjK1tJsq0oXmjZyldGPGWVzE/giLcXO4I752DUoIJxqBOeEt4OfBet2\n+EyJsQQ8zJReKYJM2Wz3Mw4yDlSPuOVuX6UZLPowU86na/oQG9/NAZnDStu3\nnrfWQfT40+1OmoJG8xL3OMmXEoD9/XeHTS4gC9O9tRH91C8y6t4gG6Sdmh/D\nA0gE58tZVWRsg4B6xI1DB29Awbb29dXAIrY5GoUHQzRz+cXuys8NUooSSXOg\nGQvks7qVbHDqoEmoT6H1yk4Go88GnARZihqE2m/NgMOqDOBpfzmjiDiCeNHm\nA/Xb\r\n=sG1v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"7cfe31d1b3637bb3d86320063af122e94fd5c525","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"^0.4.0-SNAPSHOT.136","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.5-SNAPSHOT.238_1532547219511_0.13532157469261374","host":"s3://npm-registry-packages"}},"0.2.6":{"name":"@adobe/helix-cli","version":"0.2.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"058191db24cedbf66a0f38ee75d7d8775c405128","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.6.tgz","fileCount":156,"integrity":"sha512-4k179f/dnRHD66/lS/Q9NV2vlLqvlZiTGRQmP2T8IfZuuMPfAsNVD8tSEI2nBErQa1MWF/yvdTIgWYNF3rhN+A==","signatures":[{"sig":"MEYCIQDrczVU4zar6ae1d35p/dQefNlPlJG5LsL8LkvHrRENOwIhANe0j/h+rjXy/8Of8KyJ7505RJAt2Usah0wRlRKbBzVB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1154390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZLjFCRA9TVsSAnZWagAAY6AQAJ6J84jXpNDv21FEIPq8\nSmyEd3x53VzkK8P01WvySuaaYcb9DLCRsbB41F/TTIXndRcuIgLaT09h/ytQ\n876avsZjG5S9/OS0Xdx+z1H/V8CLORs5Ijr1kihqqQPmgFfnj65ZnXx8kRLK\nphJfLgl4n40Lc7+qwIk6mJ7EBK6qZ4vVLG8uyRmblA3y+igVsfUpmLIH1R/r\n3vgrtUbB28eA5ViECHR6f1Ss2LwATTzfnn2u/v+od62KsZgMrBJbqd3mNexC\n9trXEWxQNl1v0GbwcvkYzYAJcibtsMjdk7/7lxcMXOObkZ1OHHwyX6KStHgl\nu0nhI+o6xfPTZGaSSEVsDlQGMmZ1m4dsT++a2qJ8gk3XCTfp3KpjcYohtmRl\naYuMbU2M+shkW7EfsFFg6eYUsnZ4PK9rWeApoUQtaCRWai01Q+BNLHa8VNc4\nwuxf5dopHG5FYJbza7FgWWXEs8eEV5JkjTaU9Fg4hDE4cYkfFWKGq9ZZyDr+\njon+Z/Fgw+gC1KXXc7+lr9Wgu0WnC6o7iyT25XE4scBYDhKKRyQOvh1Vt8x8\nuIhg1bJ390FEP/dBVC65kdGEzs2qzzjxdChV/ZVcoOqog4+V+jcFFdrv9fBW\n732Cga6vQOPMH7ehuq6gUOXVYosH1YSOe6mrkYyZuOw+0OLaPfAD7PEqWhL7\nOb08\r\n=JugH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"6e0e2ebf4ad25b5fbb30094ec9388d1617296003","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.2.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.4.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.6_1533327556634_0.004666179080837551","host":"s3://npm-registry-packages"}},"0.2.6-SNAPSHOT.255":{"name":"@adobe/helix-cli","version":"0.2.6-SNAPSHOT.255","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.6-SNAPSHOT.255","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"da11e4bcb4a6cf45da81aa2652c61aeeaacf6308","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.6-SNAPSHOT.255.tgz","fileCount":61,"integrity":"sha512-1W+kb3ag8EeefMBsexXiBZ9BFUQEkzPAqBjErypjkeFhMLg7WN6I9udlgnMVMXCki7FjbeCHsvWgYadHnMD2Fg==","signatures":[{"sig":"MEYCIQDU5s3V3u1pIpFojOOZ7NYpepqzTVM5dmAq5A51qOypygIhANwEUGfEJ7p412J5iMf8WK063mqA/PK0hj5/YNM8nDqz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":324981,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZLkoCRA9TVsSAnZWagAAT4wP/125k8txysk4gSIZvYod\nO/flHEMmnU+1NoSZ5qNyUU3bC3xKYfvAeIrSppJa1A37yk/vKHXF6AooTd1B\nUv4EhBBQ2msGpJgm35BFku5g6gsK2AIku2p5KCSp46/uW3+9tDvnhMIIyF8D\nRbUTTWc5GsY1bF9HDM0Wqsbuw/P78yHzVuSL/2LWpfuA+wuCoYLI7mY9mAzN\n5aLIzWysV2mqHxM24FN6zf/kW2nEsOy2xjnl5bwzoxskgtyZ2yWcBZ5acDpT\n73vadA9JbGMbrjzyeA3/Im2VLXCjF39YwN5h5xh33CzEm+00anbTKU7qp3zq\ndL+dgg7QoyJfDenYy/PaKz9euGm10OKnnWRjtYQ1Z+eBGpjE+nkSHz0qnZWB\nXKqw37/bRY0GQdaOB0OvXTHKCLaQ8P8+ETz9tYacjKjdAbzxxxPOZ8nFJMQ7\ncnSaIYYHqDibDIJgBt9AYNOgeoJiux9qnouMNNnAWvU7VuudEYh8KVfyj4nh\nTbcr1jLFyGVzjtsLXCkpK6neXeWvXI+AGmsv/lrzI0Xg2WYAezkSLiYpjB8f\ni3OD7gXDAPya5BFY3tPnknIWSQqRYnVgb59NZhGh/Da2df3c/XzQw9vAdkhT\n6fYpJzDKwao4CH914wK5zN1u/cD8E5D2K4MK/xib+VCSzu5SKvIahpvPwqlj\nSWCH\r\n=mPGM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"6e0e2ebf4ad25b5fbb30094ec9388d1617296003","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.4.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.6-SNAPSHOT.255_1533327655529_0.4676931810054399","host":"s3://npm-registry-packages"}},"0.2.5-SNAPSHOT.256":{"name":"@adobe/helix-cli","version":"0.2.5-SNAPSHOT.256","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.5-SNAPSHOT.256","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"96c5de08ba6d149aae1ca1ebee714f1711add6f9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.5-SNAPSHOT.256.tgz","fileCount":61,"integrity":"sha512-4e7YwkNy+yG+UL6anusThq5Wpbj/kGdBwFd3Ixg2V9JHYat4r5auCJtFMj5fUECwIu+wfUMJCZo8rOZK7sD0DQ==","signatures":[{"sig":"MEUCIQCvJngC4O/YIO1x9p68xsFvdRr5iqtBlwwAlebWhNGP0AIgT5UXNlrlxsrSlwZYJElQ/gX1yQcxeE+XAyvNRUg896E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":324981,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZLk4CRA9TVsSAnZWagAArPwP/05+tOVbWyfAln25VAqy\n6OwKb4EVGevgw8CTnvpFfBkLqCJcgotUxKkXt/zG5fDB547GrTG+VrRbrSsD\naW+EeWUPTxIfVYPsZXhAuz3T5qI4Tr4wQzW+k4/PKBVRPBu12mIlutj43dER\njVnaQi0RMilYLXVLY2A5Z/3sh7ioInnsoUx37s6oEBSn1a1v41RhLMkpWDv2\nIfgHGWBu671t2oR6mJlonX5TWQpQfIPeKcRYYsgVcwDj0nF7SoH+PvJS+AfL\nGgfJ8Jom24nqHeuGEC0ZM+b1uk6ynfOq9K8EvWCpSOZ1qc5bQvesUd7E5qDR\nzHyKJqK+Wz3/H9Gds6ACbUfaFWbznu5ZS+EsQAQwxDtxkOPhurp/EbDtTi47\npyS+cDdhEiKkCm5JvYDjgOiLD7U79U5OA8D2IekdHDkKM3HKkGhbwNLffipj\nQSVnvJ45WRmwmnXBCdCXHLCqd7yo9vZqtmx+aeLomSS+UIK/r3Y6tSnPFBI5\novtovmXWQST5GVH9+MQAfuJ15Sm0UPTfj9CE7f7aLN12XYSNEETrgQpm0jQv\nTGfXx1rQAg1OKMOtFuHVRxWUB9daQpbmGCUB0xuJzOhobRd5rmUIJBAuzKdh\nT5QLaMxDtSo9kl42HEMSzS9dy27EjacPBvJqsVvKT2jIaZ3652GMeTnZKfrz\nUMQV\r\n=ccFB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"116a79a47acacbbdfe5032823005b4ce7a7a4ca5","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.4.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.5-SNAPSHOT.256_1533327672202_0.5014405759518175","host":"s3://npm-registry-packages"}},"0.2.6-SNAPSHOT.263":{"name":"@adobe/helix-cli","version":"0.2.6-SNAPSHOT.263","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.6-SNAPSHOT.263","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9a2b0cc5ae975ccbfb11778fe7a29e8b7c56f043","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.6-SNAPSHOT.263.tgz","fileCount":63,"integrity":"sha512-dOqix+9ABqE3uGNfTQNk8haq8vW17872Gw613GzfvFBPWVRJXorNxP8zZOkLgrYvZ8RFd35lWqhUt/Ti0YHhEQ==","signatures":[{"sig":"MEYCIQDq/weNN/h+lUM7IQGBMAdWdFN9qN8kjw4YM4JHEdVbnwIhAOu6+0q0MAhJ3M37yQ/BQLFwaqNP7BeUOYk/ybYl5SYW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":334598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaCGrCRA9TVsSAnZWagAAadUP/2YBLM6W/GfJcZ5JkN3E\n4OifKPWyS+X+Z2/RB/vky1R7kasEc0lt+UrMvQHFu/T2+3956B2zwDnZsF9z\nXE5UTOK0eDUQIQo0wh8pyQiDOP5X+hdoKwXLW7YuY4uJsz+RvKlbcri+Qqz1\nS7QkCxtJvwIKC75RKIUKirhkgm/qhBUHyCa3fSiyPvIpcfiNoxWHCqoSV0Up\nUtHBN+MyXWSsz5YuqSMbCTFYJg1CuiKYWUTuhULQRzmA0EtrSMMgdGT7i9Zd\n+mrH1ai0UQ22pBbTC20VplDClPobcdy9Oi2v8FFgyLbbVri40V2eM4XwTzQl\nugzTVm9hsFdO3c0EDYtxyzBcTsUe4g5BHyU2HYBrkTBfCwdUt/7lMIFSiw0p\n/v/3aSo0cXnRLlycEa7pxAQtnOfLOF3iug1zP8D+hCgmQl/XYIYV8i2msZ3a\nDlCyvUZb1QRgvdtEK6vdxRbPHpnuKozoIn37GkYz4UNyGI/pevJ6lN0QMuc2\n4fxiCcmzOtaxlPadHyR7Vi38VUzKinLXgazOnDNVNDY6a573dVMtVcHyauI+\nIT85AP3E4v8LpwDtrRUIXEQMJBcdOoKR5anmvPBngy7J7Zqn9mCcsayo/2M3\nQgK+leiKsU+lT+QLr6jTlfQ5VoBXM84fwGQIj/NysDYBr7c0N+aEZoX4Eeoy\n8kbS\r\n=JCr3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n","gitHead":"94f8215f547fad2a28ebec7d91a2665f1b0709a8","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.4.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.6-SNAPSHOT.263_1533551019451_0.5070752844217781","host":"s3://npm-registry-packages"}},"0.2.6-SNAPSHOT.266":{"name":"@adobe/helix-cli","version":"0.2.6-SNAPSHOT.266","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.6-SNAPSHOT.266","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4d362a828cd0664103ff0fb3b4d59dded816361c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.6-SNAPSHOT.266.tgz","fileCount":63,"integrity":"sha512-MET2kWgDzrHimfyfbMNj8ltLiGP3j4lnrdGLldANVJKOF+4g3PdHMvEJzhqabVPTYTMf+NGtR7/vAD44SpEqDA==","signatures":[{"sig":"MEQCIEbcktMAVYZqVvzTj8vG6BLmY0v7Qre1a0gYswFRrO1lAiBrxHH5DyDwHOrOQNkUFbIGyVFTpY5OZHSKBWdSvSCGPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":338467,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaEAICRA9TVsSAnZWagAAPBcP/3UHvTguRrxvflUJpISU\nyAVSbsZJH41WhAdX7sbVwFBFHi9nwSSq7/9P1wTX7+rq+w25nB9yJorJuVQD\n2UUZJHYokKw+gsZlWmka2OU5kx97NYi9vladXlbVapVH/yzd/v16B8hVG21g\nbhQSGcwJZkenDVf2udSiGEJepi3gox9JyPN1SrkHPF5yzzO4R6CoSn393XlD\nNN3gUb65x4MMbuQeXQrW5lu1AHrQ8DaoBHQbq9QjqSYDmyQODPjl0vzNrCnT\nToK/LTqiPZ3yzaSR31SIaGz371v4cjAdK6JQVBECtKXNh7j3mHPeCLP6W3dQ\n/T9oWeguP0dODaQ6YFimQC1X8qAQmUx95LrfzM9KBLwNRqe6D9sH3PrjBuw7\nKB6tAkiBwfp5DPuxZ/6HjOIjk8gUDqW8k/6Wl5AqVabKal3xjgmndnbAC/fl\nXmraayZg2ZqnRT7d951rr4nIrBOe8M73oNNuOeA58fXmfzt+JFn6EK3QRiIx\nROFCIXJkBk7G1aFuP2z7R08ls/5UyduCK+eDy80JAathVUgoXifxO31yy4O5\nYDdKC9Fhm1MMBf+Db4fAfhGnSVnqtfI1fjCjPbitoYGvEvU9rnrhDf5ENgBA\nVivZppcmrFOdjx0RoSVrPyPhVsGyoWOjSvSICSJy3dQ1WeP5M9aXPf4uh7vc\nOajP\r\n=Lj3D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"31835a9157e3c2cd541a3c3228419220ef00d734","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.4.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.6-SNAPSHOT.266_1533558790731_0.21065801224619563","host":"s3://npm-registry-packages"}},"0.2.6-SNAPSHOT.270":{"name":"@adobe/helix-cli","version":"0.2.6-SNAPSHOT.270","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.6-SNAPSHOT.270","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e4c92de1848f8b13b56beec101bcb25924aab5de","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.6-SNAPSHOT.270.tgz","fileCount":64,"integrity":"sha512-/c3kRmwEElZApQWpBY99VyiXnVfBhMdcrdzV6d3+ddiUmnE9IJMZjS4C1Nc4eXBCo3qScQ4ytyz3fX5zadAQ2A==","signatures":[{"sig":"MEQCIHfLfImktGHTT0U/DLgO0Ig2lk8cupovTqD2rwIwXKKYAiA7pGVdGlzPp8sCiggbKZJS96YQTmy/FCcae/tKv5D2mg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":340205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaFPUCRA9TVsSAnZWagAAvLQQAJpiyevkOMFcSnfRAW1S\nTd8GL90/5J/YMbPLGHTboZ6OE1v1Zsk9DnemQkgsPi33lUnyglqUj1tjXmM2\nBlLW6fjkwkAVITUk2XH/2YUm2v2ID0jY37uo3IfVcEWulx4vzdxrHH0PLTwE\n0ii8LrnzCX2fhE+wcI1zetO97jSwK5f0tyMgmpw/lqIFUQuru/5LO88FIPKI\n5qtg0FUOrgiquNX0X61JJ/HdwAxbY18/yk+9qX9am8Iwc94kRIBMvJJX4v34\npgs1rDF9cf2Hdm9C8hye5ktajYFhm50AzJJiKHMErOTCEXqW0FJgUaX5jlA4\njHdoqb5+Rtz3JihKQ4VyF2j1zk+SsvSALewr5nAq94c65138yeB8svtSV0+K\nvHIj3W/TKpYuA3iyIM9pv/3xM/LmDlQoc8TrnbCTaCxVU+OBsjUf0smwshC1\njjkoDaWRh79X/S0VI2iMcVfYabirRkl2fNeMnLVcyKHXdY1zgJ3LxIE1FxOx\nbv/vL1lt8p5UPH4zfZrpXub/nNFQLxHEy1MjBfasddELH/Bw+PSNvbji39sQ\nqctnrgzVoVx/JKFumsoR9GRsGCyH5naELXEjSjgoszVSRDPYP1YZY79Ilmje\nN1G3cuw6mlXU6ZtxP66ILJaMHDEjJBz2f3eeqKPK5cS0Kf+o1E5DjJdflJj3\ncwdk\r\n=PwCs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"68ce4938565edc399acfbf29010f84f431f4fdd8","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.4.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.6-SNAPSHOT.270_1533563860274_0.32292224878621645","host":"s3://npm-registry-packages"}},"0.2.6-SNAPSHOT.272":{"name":"@adobe/helix-cli","version":"0.2.6-SNAPSHOT.272","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.6-SNAPSHOT.272","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0dc7ecddfab7ae233f8a625a2e379129fd1ce355","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.6-SNAPSHOT.272.tgz","fileCount":64,"integrity":"sha512-0NIjw1XwdKdUBHOraqVhdJYAQ8EhsmIZ7NLyXl9FvFX2GU+rl9p7hdlTVH2Y6E/BLfcTTXQ4Vi9ufw/9PKudfA==","signatures":[{"sig":"MEUCIQC1FDp+p5w+m0KF2yjdLkvHOJ/g001Qcf1wZLQtvZxokQIgZE+f7PEGQrABznu5GjScpzr4+DmaZLj9UN/c25rKJHs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":340319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaU7sCRA9TVsSAnZWagAAu7wQAIpmdt6rjRb803S9KaSD\njB/UKGt+ZMqaEhSCLgAfCCwFVOQaO2l1tAb2XvWZYy0zmb7vBRJGVC6nNSIu\nuRScbSQjs8fe5DBtW1XIZE3FXVkn1FmCds2BUT6snSrIbr2nb7ZakVYdZGFz\nIPYAjl+bKWzUwXl7sqgXjSMMErkPSrzTS09OyYu3wt5j0cFpwkbgyeIVr3uO\nYtVgooWw5p028dLZmMOhwWKtQE/BBYEyr+okL1u5WWhEdySUZbq1oRe96VT1\nTk4BAmhMRGa2McZ7/vIBVjoYQbF6h5m9MCt9qd3oAf2nh6nudVsRvrkgKYy+\nnyKZHablM0EDvH8qU3NmAqL7VV4IZ58r9hWE7H5TTTvmJc11hRrPp3zGXS7e\nkrQ3b7CTv+EgDPTk8TyABT7HTcUwePnZ50fzqW65cLqBn1ZwdtLO8SYe88JU\nhNFdryyMDfeRdIxWd/WuIl2pX/8LuQKxw2db7aWxkTZBapPIVsZRKhNufV7o\nI7rLMuVSXmM/tA9pWMsnE5CsqqOAqKjIAYkXSjzxSQYOOaVw3619CfrqDu70\nRwcB1wjQgg15lC70Z1G1v/nNto53bw7N7LfMUOrM6eEue9ddWB5axU8Aav6N\nFy3gk7T4O2jJXoFQjn3T8Wiuh7Cmi/2GiWrod1LSPv8RzxS7A1oVqzRUcB66\nKRKj\r\n=mZpC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"26fb1d3cadfd251a85d2a518120b44836803d04a","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.4","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.4.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.6-SNAPSHOT.272_1533628139955_0.25570441328977944","host":"s3://npm-registry-packages"}},"0.2.6-SNAPSHOT.281":{"name":"@adobe/helix-cli","version":"0.2.6-SNAPSHOT.281","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.6-SNAPSHOT.281","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9cba42b972531bb1b7fcfe013d7578f2f830d97a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.6-SNAPSHOT.281.tgz","fileCount":66,"integrity":"sha512-BpEYJB7wE/MlXKlwwCvnnFGMO7XPA6g7rf8FBZcMsZyxcjEcVnPF2v9dmLLZEoy42hvfbVrt1saFuHTVEjVzOw==","signatures":[{"sig":"MEYCIQCYNjxI1LvMgKVlKfr5JCc/lKWUm/xpzfHxD6+AUsUx1gIhANaQdP1UTB2BcBqgktrDnMizu2clrkvCnfnxQYsMpl04","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":344059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbavzrCRA9TVsSAnZWagAALpwP/2ssKYSCWR8cCSxiFL73\n8sGaacIHJ1cNwvI/KMdZ4hM867IAWqgGJp1NkLwk+11q5Nozf/N6Nu1VfM4J\nGtKydGyrLYyKyQAHnmrHlNq7c/XPzJ3vyT/z47ajGkfPe7bF5yP0WzDvWU/n\nMII9pNZXacswOgRYssZDCgajmTQwnh2WydAAkKRuT4BFJdqawKwpbsiFCqb/\nVUVin0MLH+PYw2JFR/x+ZrYSFiqAMcIwJpx+atk0Vpp9nHAELEQTTPXp14LF\npUFKbFzoa0uzw8RJNuGyu3GFUwUWLesNDye8w3k7V+oOqoZJjOFy564UWSrn\nBMqQatk6/310h0+cMK2J9XclC5TAtTGWf0ZaBEmo6v13LF92lAiUfNPaxqzs\nufyigh8KSVpRwtnwGJr5vb/XkFHqVEM6hGP+YuAGVynWvyXKO21oVqHwvZ2Q\nxfsvK22lLFGlCRXWDAMiug+EnDbeO5BgHbBXHe2pHGm7UZZ2AffURSBFDha3\nidej1v6QtUMOlG5HiQ4lTZGdsq9R6DolT2zMB+Y4m/Ob352B5HU8OZeq4iFt\n499jbKU0pCZYOEFLiPnludKp6udlO05oxH1nZqoaVHwLNC0x1AbOKKRQrC+b\n9SiSUVSWmPOR1N2ehDszm3LunwXwmCJjbnLBD3qiy/z6Skz6TensOX7nwFYJ\nO0F6\r\n=jZ4s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"7e58bffef74b592f574220a154c0a53b4bf29d96","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.4.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.6-SNAPSHOT.281_1533738219333_0.06369351653885569","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@adobe/helix-cli","version":"0.3.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"24f29c8c21bf8e4010834bbb88a78e9e583b5231","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.0.tgz","fileCount":184,"integrity":"sha512-Rqbk4fO5iyq+l2unc0klnGCqyG3bsJMe0jNrDVenB61AkEgWIB0AK8VpDDOBrJ6DOiwcY9dKPPn26O5W/4o3Rg==","signatures":[{"sig":"MEUCIHVfIYNuWaHdNi36VjHyTbGCJxZ0dCSjVAMsXMJrSYLwAiEAy616+aldvSwXAT/FAq0GHskgYJSK+yNs1KMdbSk82bQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1422279,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbC96CRA9TVsSAnZWagAAp4MP/0lVwbNuJRlhXFA70fPP\nIjUBW2NuQVEhQ4DbmeRyE9eQguNcykG9DVgp/aEV7fjdrHaHon8d/3ALwRHQ\nsnqY+yDm0TROaWtKl7K0GS1+j/9LfnrBjf1u6sLHRU3kVJqk8pinkny8eDOC\nxKaOirXpa72e4yHA4YtkDyhMesT2JAHAGOGUXyOpjheDGiA/T1mbYbBi2uEF\nbAhCdbsDkzgm5grjrgL69tXdZ0N9ZiQGf8VJNyANOJyxStULRH8qSls5Ndlt\nX968hgWdzlip6RWBpT5msEOnawLmR5a2j6c4lJuMZNXWyOEDSJChbayoPewH\nWjIH5U/dTEHLAK8iTJ9xJPax2ko8BdQKb1gYSTA+xQcZ01fQr6YG1sE/mfiP\naxDk0enIHh8ZT0PKxjaBZUVZpvIQMMIoPuok5tTBzYDhLRqjfCTOIR6Y9A/b\nU6FLutMT8zXEsCLea4H0Q9sZ5jdm4vR3cmX+zh+ZSHPHAgSrC2L1HB4UAyZj\nQrQxR0CeyUPcL8mujTZcgV2gkIAEd3ONYIGPvFAeEE0P9ydTw+54HK9lW3oU\nwWoNe3nWrXzb+YcTau6kGDpPzjsQxMZ2tOLZcv+Z3ZBWN4KQEbCSwmy8XFTE\n2hCutWMeek7GkICe6Pgtd5Ejm3JNSl6hMKYD1QawITSITWdxw0tnGuhhboWk\nSxos\r\n=pljx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"2d7a544771e3c3ba7eccf6b4ef1bf43feaacb3bd","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.2.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.5.0","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.0_1533816697587_0.16881450531454645","host":"s3://npm-registry-packages"}},"0.2.6-SNAPSHOT.288":{"name":"@adobe/helix-cli","version":"0.2.6-SNAPSHOT.288","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.2.6-SNAPSHOT.288","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9257136a1761869892779764b9190a5b9f5a32ca","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.2.6-SNAPSHOT.288.tgz","fileCount":73,"integrity":"sha512-BoBvG/C2JIJA4JSVkiOJPJ4LaKl6+t+UdJdp6p8KG1idXvXvb5pbobgKTW1N5mMppbw1fDhTtMOtDBNQ3FSbnQ==","signatures":[{"sig":"MEUCIQC2HInfq5tiT6wfY9kgJZKqhAbmlhfNjaW7hQqJredn9gIgSC0bKD77efmX2LDnNdyef7/Sfj5YuSgGKFZ9TpqhuPg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":357751,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbC+yCRA9TVsSAnZWagAAccQP/jNGaNAIRSKYBlHMje0D\nq5Uf6r1NvU1K1Cfkl26BmllfbmThDD8x171WkE0CPrtaVtNTfecw0eM1YNCY\nFoJCv6UBkyYS8E44peLcOuYfilHV8pNtAP+tH+WGZoh9QnTy2O48rFj90ysR\nTn5hCIzJyaZ2N3AhHxyB3mgYpUD6ZeRqR75fzckyyZ3XCckQP6DKa8GYPvT5\nMm7ZYAd6lgcqvWOt9bWzQ+uuCzAzE89vOutBVZKnpCvAz/dHm5DW7UAhz49R\nGCPXpAMtn6cy0sjKK8UNAF348RpWWZ1Uyrat3wjvP1lIZ9mxMbj+5E+xTvVD\n680Xsa2LpC9ABbWYHrSlhNhx3/zmu/ZDdMQWYJq9hI/UDuecz48frk/xWgjQ\nj4LKvHiaOWna1mELmDDsD27AFgnx/E9Kj80/36amiIne5Um8w0Tyj/nOYOsH\n2KQ0viifcFb4/H5cZCqJJ+PJuB1b0HETdBJCjxunkaZBuvQGkzgmjeQ7ymrx\nR6s7VEIBP8Zjo43sfS05rVbceLF3/nGTLAsdHHccwMweONquR7MrWTgxSKCW\nLF53oZTy4SgRRwDcfBu5YR3AO31REHbiMxlvqpVV8QrB9yWda1WDQNi/YgZ9\nmkHBePe6RSDDglyTxfUfN/0OiTVmm4BdFnVRUuDepibY9Z5xghBWCdvAq8/t\nXK4R\r\n=PZKt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"9a85de8798e33a65e7bc039a31a6adbbeab67b50","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.5.0","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.2.6-SNAPSHOT.288_1533816754313_0.3419321916525555","host":"s3://npm-registry-packages"}},"0.3.0-SNAPSHOT.290":{"name":"@adobe/helix-cli","version":"0.3.0-SNAPSHOT.290","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.0-SNAPSHOT.290","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"682d536db343e19b4f054918911c78ac945bcf40","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.0-SNAPSHOT.290.tgz","fileCount":73,"integrity":"sha512-6WRZ+XC6HTsT1JV+jeeX4KFtgllSjK58EWf0g8QHqhd5fVXaczoSEY4Qdh8vOxEfvUDQO0WVcgfxYh8kaNBU6Q==","signatures":[{"sig":"MEUCIAK62gIEmZhBtp4dzEGuRzqBcdIzUgkzK8nt28wscWNzAiEA6bv49doESTLhxLiOLpY/vN3vIw9y7kJ/B6dnwcF6aLI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":357751,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbDAGCRA9TVsSAnZWagAA7FYP/iUXMOH4jcM6XZ2sMsPe\nHLqB68gyohzuYJBkHKugrqp7J25WkbFhBmBg2qpc1UF6KTRaVpGMXYabNd8l\nJeO3vdXa2iZ3OpIERo/tPIdvRaA8hbEU/EMbkcRw+lgZjtB9a8+Ruq5cDYW5\nGq0O8P8fGioIk2qzEInQ2Iz2OHkyhoxWDXmxBvb0kC6zY5/GcoIgpxwrHQyB\nnJt+uVzU/k6eHdODDB72CxdbC8qFcfXWHNzXkjwb5RPZB9SFkoXeyn1ciRCE\nZmkcBq6+nDdpvLCOhRtK3Z3OcNEicToZ2Uh81lK8/Fpm8b+f3sw8smgfw7QO\nX8TbXjD5wfA0DBo6OH61gZ4rVZF8mRWmHctPdjXMpN9dm2H6eAg/7xA1Y/ya\nhQy4hpefkvKskrJOHvlby1kCc2sOq/XB0Q6byRTyxMs2Kmd/pajyt9T3Bl6W\nkf7j2FSIIMj5TZTrxOpRiGzVvpJA5+B/LTaxNE0DKCEPs51hZciX99lFYm6c\njUCacF/3n/QOEkAOvZUmaOaSUYpMKSBH4juThFj8YyyYMLq1Ph1v0URoou24\n+jDt6dGhsfEZyitKw+ZPNAljierzrY2BYLEj+LQgDHtxWsns0PvP5UNJ1sdm\nrN6GAhkWRqAm16NGLwS/AqLKWzC6xSMXRU97jaWwxddr0m9OG1KbhCXVHdhj\nEgCH\r\n=QvgV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"2d7a544771e3c3ba7eccf6b4ef1bf43feaacb3bd","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"git+https://github.com/trieloff/incubator-openwhisk-client-js.git","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.5.0","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.0-SNAPSHOT.290_1533816838055_0.2325073064937011","host":"s3://npm-registry-packages"}},"0.3.0-SNAPSHOT.293":{"name":"@adobe/helix-cli","version":"0.3.0-SNAPSHOT.293","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.0-SNAPSHOT.293","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9337fe2de424789238542b5f00fd5272252ddfa3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.0-SNAPSHOT.293.tgz","fileCount":73,"integrity":"sha512-4RG7189MDe7uRWZ/TrLZeHqgNVhMc3BwL92U9ynJ8ZML98DnKPC2kgpOs9MeaWYfdFJgjw0Llz6lKjQwBmycwA==","signatures":[{"sig":"MEUCIQDGrTmoUtUXNLm7dId+76T/ZZO74fV1VgvW9K+Lg24WuAIgPvZ/dO7MPqSurAnQdwdMDMUM2BcT9Ob1TZ0kckhpe8M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":357696,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbFg4CRA9TVsSAnZWagAAUPwP/01YMLOnbL8LuE1ntpHj\nye9DhNkQnKMquz0PITvjnhJFmCfSY1wFSL5EQzLbqLNK6EYdC2ajv0DkwimA\n+VD3ztDWqhuV/egWJZAVhv256iKcyTi2E4UhZAMH7MApclm6PoUiG67s2EQ+\nxJJ4cQ7gY9lP4sv/10UWUjMXNU4nlAiXUCx0NpXXpuhEmXcCh27+fJXKTqlN\nSYMRk9gW9o3O39ZxrMFzMHlVcNrCt+LTWWIhykZzmi4YMJDUJpPSKF78A26L\n/ORH6UDue2WoTaq6aWL0zZmRfI4m3xa+HRGBez/n5tzru0JrMaYCDVCqjzYM\nOgsCWU30IB67o+Y8uOBRouRp+41/Dhs0r0+gOdGtgCo0wH8bACZtAaZd5RWq\nExecD0GhTwdWEXkCPI0N6OBMgrlIri4zmiwFoyu5G6vjDeKVQp5EIZJ3uPNP\nms2uYd4ChKrtjzTOBrEBuPxk1sEKW3hIQRKbNU+5OjE7VXOkQqLVQqODAsmi\n6pW6bdBV7dch39q69IYXeBZ/FSIOBdVpypiLljb77L4UpmndSAfX7cIJBdq3\nihjz/hodSuwQrsfsEDvHWs2Ou2xudrZ5Lv5VPXLbheutnfjF0BsVlV/TNElF\nTL5Rfh1PEf6vozbDvlhaSLW3X40+oC0TiZYJW68f+kY8Xc0Sor7YbZFrZxNy\nOqid\r\n=dpbE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"51f9a8005dc19dbfa2c89c4362135b247229eae6","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.5.0","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.0-SNAPSHOT.293_1533827127732_0.14861102628695955","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"@adobe/helix-cli","version":"0.3.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f2afbe2d85f1f6547e9105184095ee4ab68f6f0e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1.tgz","fileCount":184,"integrity":"sha512-HdUbxpCYU5Bks9dGrStF1iS1gpShbK9qL51c7WcadX6l78H45r8zPFsczl1vcZGc8uy+3vcePnNmMz7BJXZBLw==","signatures":[{"sig":"MEUCIQDvAVGck2pEh0yXtw6SE5vlrHbNXlgqGheqQ/SMSAz1PQIgZTjfE/iqQlzXcAxlrpwUta6wjPfQ0SNPm7KYiCUZVic=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1422183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbYGhCRA9TVsSAnZWagAAI0MP+QAztDBofuzYDqvLHvth\n3vJ4e9YiI9//CJ0Svi1q+G76JMB/LQqiK8UmpedC/FDHqJLPzub45HXN1jlN\nTRiOBMFRYTcmdF7QG9gh3BdA5HC6xB0E0nKICLVxfLjNDmZA/tK2+nTbOa9d\niFcxdadvJrEQvAxgcSytWtql7Jv6UTWBenx6E+Vx6r9GA4uK9rn1kxqTEoDM\nJtIkp0v7T7oxszuQtRyls+MaWkLgb0ge6as1QQlns7WvVtyUwTvSHTm3+k7W\npMX4/a71n7oj4ptHF2cScYYdSW5Mc7GUjh3dvKLszpWWRccFLwe98LCuyPmD\nWmPzAD7SQDr8jQFuZjSv17SZujl+OB4cjRgzIIkWqu9FWlUNYp3KmzOs3kGs\nM/IRUUdRaCW7tozRvQsnU+b6MduNeR9ZOjfad0FD+1BoO2G7Lp1QpKG8U0IA\n0eMD8bWdm4K16pta4rFJ+4u2EVr7KPQeQ58LNWr8K5ST0VwfPStpdr3YUQLG\npWsbm4tnvY+TIO7Gc3JW1c3uk0CGbhQUgNO4YtYzT7/aaT1CUCw0byOUEnzO\nhSS4cDQIx4H8iosM8i4OFOeWVubewyLBJSPzpk9pIKWc9+BX8VygDuE+x1k0\n1ve7xN//BHwqJ5s9UIP0f4kDSCGhSVkJUFvg8LIuaMThhF/z6YqyqvnhidrA\n12XX\r\n=htTa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"6486837577e987cba62933caafb98e503615db77","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.3.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.5.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1_1533903264542_0.7642267836058381","host":"s3://npm-registry-packages"}},"0.3.0-SNAPSHOT.298":{"name":"@adobe/helix-cli","version":"0.3.0-SNAPSHOT.298","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.0-SNAPSHOT.298","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a324d3fecc5d2a986fd1ccf2c1947de948de03d9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.0-SNAPSHOT.298.tgz","fileCount":73,"integrity":"sha512-8Hf7dDLfzMM1mU6ufE5Se68jKqMr3AQ1bKOFz3nSPQj4L/n3ZcRDcISaHIvCXAHSi4W0fwcWAbXlplk+MaU49Q==","signatures":[{"sig":"MEQCIDEr1iscIi6tcyBV++LRCM/1IdB5qz42i/1GeIFxT1dJAiAdBaOcC7575OYxeHz3GTEsEdGlbWvZD/zvn4H1uXI2fA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":357696,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbYHlCRA9TVsSAnZWagAAQq0QAJwAsSt7jBmySFezg0ZM\nQwdrlf0bf2N19Tex/aLvbOHbUwPPyAqZUOMNMZS+ZBYAUPgdjoT5F/rytGrr\nXgCV/FZOIm/yVRFF37C0Vdm3KAjC0TPepMQ3V5nngiKxGXda2K98hCaOKlgv\nQ43lh6e8Ud4ygfJ6ybeBU95kisRwJwU9TjK+Hq2adReCaaGwS/zRGI6x5qzP\n1wmN4Lo83NDGJn3ToUWexWmaUYRccWLooPAYQtxgRPb7k/RlmhUAadx5E0RS\nUWf3E3HdyPxgTa9MonCwFxmJdgKnnBcurjLTxwctsnZczikX9drn5m1jrt2h\nreiVUnUD+ocsmQ1rKUzDWxpbNDVONvwcU9aCP/K6wMvAWXGpOs6fDugfpS1l\nQSMOiW+gsjZLGlh2RSfnF+5zTjq4ikVNJPt8abm87yAzhza+XI8N3AkbHHrE\nQxQ6wuwwpjR6FXWcMDNsbpKoic7VXuwLL2Y7uvLYa8xdh/MFDFKEnui4XG+f\n9KBlhQTMYshrt2wNmmRoYWdkPpnQzNEqt9LsZEZ5tbyRYx8uPhx7K9VIs1x0\namGN5NnDVucB8zzfplvPR8Ka7PEKwzer/MCEs7YW67UCsjoX4tPvPjpIuPWw\nEWbPSWwrJsSLt0mHfmHClX0trNhGJcSUX3iOrNqQrbA6xLEovLCmsjqJ3hgq\nC2Aq\r\n=BmgP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"6b7a0f50ce09f924aef52d2df947c22603cbc1f4","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.5.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.0-SNAPSHOT.298_1533903333413_0.37891788933815507","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.300":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.300","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.300","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9e8d36ef00eadba4e14ddd65bc203abd19f6d5af","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.300.tgz","fileCount":73,"integrity":"sha512-nElGhZFfd+h3BqGJLlQueJQxKq9v9QviUg530WZ9w+1LLWA84VXBekcm5BFH22uRyLDaFqPXtfDFSdcOfejrvg==","signatures":[{"sig":"MEYCIQD40JJt7LpQ6gsnOiBYdad0GOLFgCuUcY4dgFcvCCK/9wIhAOniK1OnKCfMNhO/p55cGBSp+jApS7WzBr79ouLuXIP2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":357696,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbYIoCRA9TVsSAnZWagAAsBMP/jOQFNYCoqx0fYnRatIJ\nqLErytjg4r1KwmK9TXEZ0jboVC+urREJ7eXQbzFKkejR6CSc7+RAX2RG1gFf\nz8tbp+kQSFqTFaUzroNEBS9X60IrdnEyf2RB1klYegeTbiSDkmOw2n6qZmes\nEkoDn1mgDFTzCiYGWQK8sYDKcS85qwyejVegOj3BhHjK5pq4fk52gsinD1eF\noAF+3ymnvRDzR6F6i4Dw2MRw2CArNwSrL9CIaMiSUfIRicd3pC4rm2IkwJ+n\n0JR4jIwRddTVp1TuBGHB322PrYy54rz6hu4IrdY8CbS8OVy6DjDrZ7ZgmZpT\ny7dlU3WWSVe5EuhHy0RU55U6Xx4yfJ0f5Y8JUZP9lh8LNqsU5U0LiC7sEeRK\n7OYIhYZA1WiTqR2JrxUdc7vd9l5XjA3nl6SO74i9FG7CoD1OhoAnvzTTPCdi\ncetB1SiJ1eFGamiHdRwP9p7UgcMvYaiEec+5kfCVeTfuxkVVbUpQuy1XH2LL\n9vYufK5rTZ47hy/7jMYfZ6ZkNZYGroLtjz07jH+1H3Nc2RsVw5cL2az3u0kl\n45Bf0Y9Y4Olt3hfjfQNUFm2LNSLMQMpcmF+AdmW2HpJoWUX/f0tPdMsJ5C+o\nOlggxlHvEdo+/DSTiAEd6YymqV5O2W4YCoavhXeBsQJCD7WywU3mqxqy3Lw9\nZFo/\r\n=Uc+J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"6486837577e987cba62933caafb98e503615db77","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.5.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.300_1533903400271_0.6008560403965959","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.308":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.308","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.308","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"45cae0f8bb7708e77a0ba7ed19fe9fcd673828f3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.308.tgz","fileCount":100,"integrity":"sha512-YrdGGZETrMkqWKFaS2QI1ngUSVxl3D+j/0rfvC5OK7m7kA1jY6slMQyTtfXYmNOjLknnyNJr6vrJo9lohpyaIQ==","signatures":[{"sig":"MEUCIQD+HG403GakB7ZbA3us5mwoq5Rlyp4Vf0H+NfCvlGChrwIgb2pJMYE3Bqwm0ZK7RMo0pj5JCS/PWEdApgYTPcX8DMY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395201,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbcXkaCRA9TVsSAnZWagAAgj0QAI+ErFuidxBl8QHGKUxD\nLNSauww047868pQPrxL9ZXlKconXWRelp/Tjsk5CAtglLqUzxi5sxegZvcQz\nFFa1HTv7wVE1mY+CrmD7f3DpeH8NcUdRP1+BVnxKawjGhnM+RDc/0XYX+wiL\nhtsCz06d6eB4YXNjDfmGnwSk4M0smNqP0FRcihXKlV1O0r36ePlYnRi0y2eW\nj4W3GagVOxv1E4ApYZA6JI/nr8zmkc57iyQrgZPMjZgxnJ4c2oxXytr2+l4r\nyBIqgMlW6YDSMf0gVk7ff8L4iOQKAhglin8Ymn+O8dMHp9il26r+pWtaHmOU\nE1iyWDJ/xhM5xYXiFRF+NusuoNdNi+tZ0ZasinMME6DQXEkRVSo4WfhYVhjS\n7QBWACevVWR8ebDGy+DHND5vdqPj6KjOmtX9nSNGhHT9fXRuO1T6dYUMevaq\nu3pVxQU4KFm11uO2Xp8X9+s3jSoC2KgyHnT5d++aFMmRa7mcQJIC7/kl29yn\nYfauxRaNXFh79D44KvxGihBq+XJ62KrVaC33J/ttN9OP+gFzydWzwJFlhODu\n+MXlGwIGsBicyGrb8Z6iFdMC9Sa0VC/64SWXWbjr9pFqzYUS+MJefi6ST9bm\nCGafByFDUSgJrYB9Efj8kgu+gACq8gYZtcEyE2j4rEFj3auFuIQtjMjhhKKi\n44aZ\r\n=neqT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"b90dc6f9c4e7dc79f16b3529a23ca15627b344e5","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.9.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.12.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.308_1534163225589_0.1487740549246066","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.313":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.313","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.313","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8d56890d266bd6f6261fe269a79f193b611b44c9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.313.tgz","fileCount":100,"integrity":"sha512-/gDj87nwwZcbZVzNJ4HAWaFOIt/sQeml/SJcGyLJ7+jxIbX1aEI3tD1NBh1sk9Vusd373LBNpzSz3dpiZ7xyDw==","signatures":[{"sig":"MEUCIHJWjmKBWk8As9Fvwgo+cp5gilf4lIkc9V8pfstq3rTLAiEAuZUqreLYiKNiLlRa1cDya+H2dFXLHCBjYSZovtrcGNI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbcoXkCRA9TVsSAnZWagAAP80P/1HYAXmgnb5YhsU2JfVf\nOEverCgP4l1pzCmMze6vWM/cLDo+EEsq0gv2KawyEW6vwiJQMXu6B4czIVTm\n61vJsTbfJQxEp/jdMvvEJRASzl/PymckMsZIDcHAUyEMjjWCA2t1EKyLICtg\nnhp+N6mKAe3WzL/XqMP9zkrxDeJimbP64FRmAoKKmCQHE4xyCvtYh+ok71SP\n9unZvndwgGOhfvR4W6sXCJxbTWdG9vtY8kgyrI2M6CBb2GcjW5S7mdoTmQqP\nYiGT2ZfWMb1vj12ctI2WGIvGSeLemjGAm8rORkE0K6teNXeOPHOTvaLRHvzE\newStVPOjCOGVTPoPERhkbQNDJTNIZ49I7ZhpyRfBiZMLOp6VMXmCGFKVm+K/\ndKR0eoiqyFN78tSJPrObr5pgv747ybKUTEkKq8tHERl7SdYctejPFMn4bQGN\nTwxVjZzRB+us3tsTP70/EqSbisvIsEvAURxOOXkyrOB0gSSzPXTEA2UY8zpC\nz+yzxjLnL3/I838cgZZXCFDf3PsdUIdJ5vYr/rSPWRe9+hfCrGB8G6ce14uQ\nBVcCaugmaIwqby1wEYVWsAU1E3VInoYz93Ac7bl6WWZwX26Oj0h31OB57W2u\nocT5ztK3qJQdHsFyE3Lu9MK8ewWRjV+6Vgfzekrx8v8rrYtpDS7qR7ePef+8\nPNFq\r\n=jXFO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"62a87ad71bf8b7827833888eacd866e24cae78aa","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.0.2","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.313_1534232036400_0.29180355167971306","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.317":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.317","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.317","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a9fe208fe4ef21db19c2a6b7c4d8f7082fc81b2f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.317.tgz","fileCount":100,"integrity":"sha512-RyT/zII265dBAXmwMPtZAnzTP40Woe9ifnYtyAE7lmzQ/aftV9reRWcCH6KYPAnS8PBLX1Gdbi8v7YSYPWL+Rg==","signatures":[{"sig":"MEYCIQCD7U0cwAk+R1MLIWEXqIh5AO1ytyG3+fVnLKLcO0YH2AIhAJJ4fm9JtOsp/Qst/P3S6K0Zfh3Skob9kye2/O+3zfQ9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdSjjCRA9TVsSAnZWagAAaCsP/2fH1vOp5XFhKS2e05IL\nj5EkcSgPo0nLI+PNzQaI6R0rAufpiTy+hLPGTXqn08pdB6vx7o4UhWMDP2YC\nEhth6gdEx/LSG5iCyn9+BRzDX3AlWAzkTdsI2S+jzZvWAO5Bw1cuCbO7iyvY\nc6QXHCTv+PMg3z560cPo6kXyU15zjW6sBF8Cqfyd83vX1D+ij6MjWySe/s76\nOUFf6SyUvPQOEJ4ao3ZU16sZfBCptDPSgGtwML78/4EXxxl8APFpACeDOFiu\n//ytAPbv8bhMMX6YwnYT+HC+LTy6rgAQbkn4NkZhlvPHtKe8hsr7M2bJnoPJ\n3FdFsgf6hVFhtKdY6l41JtMQBjGQphRsjDZHXb6r6XjKUnJqtP/cwc9jWxFH\nN/qrG4oFTikKXh8Yw77X73cpKW+7LbhJFgPSgsE2+195aY4wwuCQf1FsKyLK\nsQOT1Z5DXgK/tha4ruYcArq8FswqNuA+MhfnsI/fNE92HtsApy/z3+HXUbx6\neL+e0T+GA8A/RDBWxW9dKlEIgAkjkr8/COZGb6ehdRQV88e07/NDc3rHXiuh\nfNuaJR/P2+c/nahldXyNKZb387wo5MFGazb8iL7LZdpwLfpC+zplcTzBJOB9\nv1+Ao9QV0tks3MmzI/jFuoJFkbAmwXAaOfVFxbrSW+tNTgJv92GQ6eXOzYfB\nl8g0\r\n=A6tj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"a77a79df1e562479a10a5e88edd93e1521d7f2a8","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.317_1534404835156_0.6529159176616008","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.320":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.320","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.320","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9e026e337bae3f90a71af9c2d369badbbaff0158","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.320.tgz","fileCount":100,"integrity":"sha512-3Oh5dnHXq5BUj8CJfyODRyvrHV/+QeFi5eimmUIvBgx8pj/uOlQ5GcVXHT36TXm/dcmu4EjcE1xqI4+VcAtPWg==","signatures":[{"sig":"MEUCIEHGrpI/vg9XoEJRFGmYdfypMoPsqC4pc4VPpuGG4cSpAiEAvRq6iB9YSxzMhZ1D/ZYtBafAIjFN8/tcAZPGVxgVOvk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdWjXCRA9TVsSAnZWagAA/MEP/3vylUMZqSXZp4oM1jBe\nfgCIprjbfH+XwkVYf71cb65rQVHgn9/Fw0Pvt28g8O+uCm/VzzGed1aCuwR3\nOPL8zY0UWyPObsdKzPJT60ZKNY6VR2Vo/XvQVlwbMeO1SAmomghiwvh176bk\nZfMC2RyS5Xz8qyPzv3YUYAiVF4XIv8u8yh7y/gbuBWnbTnIqb/AohO0Xi/JA\nmOg6KFthpF5Em1lxaR9pdkJVwl5aiiAUBs1QAOQVGXni96/IL6WDAGN/09gc\nDuPZWv+tjvcQY9jWMOye/ZP6DEd6ijEYx0uoI/hR2Usy70idVbbka9QmOVP4\nz0aMIjtHQQEdUW63ax4WKVzTFPxc5RLfSVOeFNzf+51j8uf+nEAiRmv4W8wV\nqhKMHGF2STn0sSUrf7zf2WrCN4SRmPJHyoUeW6wtPrN2QKzKv479NxYHgP9e\nHK3iGFI2w2BOw5yJfKGF6+shlscQykzkFZBGaweEWWckSB3DOkqeuU5SMUTj\nJkbvsGpNKxXF/iiThVQQcsM9QWXb6GpY52RE18lgIBL8mfWcepTJc21ejBZB\nmZ0DdJDwtA5IOufdZNZP7xY4R4DsjItUARmG2HXpwhw7I7C5Zl6sDteIp1AC\nYcwOh1K30hopsjujSawDk8PwLK5pmJchk7mYxzYY5agAjerUg2hFTwkX6fF4\n6UE1\r\n=Vru6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"88692773b331b5ef3848f96743e5055911ec43de","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.320_1534421206521_0.8831495446306965","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.326":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.326","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.326","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c87509661961579c0618a1667411c3388d87d734","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.326.tgz","fileCount":100,"integrity":"sha512-sy6b2oqxmnOq7SMKlUsUh5llDXHnULnm+ZRTXPMPtRFUbexFK1TdpnOo1eZMdjW8lY9IrCvgV6K3ulVtZbxgrQ==","signatures":[{"sig":"MEUCIQC9rVW/UG0zAJOB9cDUa2p8GLQHysNBZIjEKDAOxdacbAIgfWAAxxQbnPrX60wfkanNSp3sNu7c0vvSUeG91b/8q8w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdWt5CRA9TVsSAnZWagAAAX0QAIWtO27UBb7ZQjOBCbh+\nd1zwOkXjrYdmN1thj0di4tEhTmtiz8vzLf5oMkDmMhoObBmSvAc8eYy8gq6O\nV5pjflXugAs8+JXjImuhnr4rQJKpb3ODj4olovdvJV7IhveL8C5Mda/I+LWH\nCfOA2h3IdiXKHfaRZNlt3sZ/Pec7sdpw2GHlk/K/1ueQAyGQlng0DcZNrREy\nNSTXWKZTOMADiuPC56n4aXR52jfeLGAgB4XychiH6lr/4NMdWcISzp5G5O5p\nNH1a5CdfNc9CdsOkIJk5o1kOJ0+i5s8HgXLhFp/zMp2rsuEM2WXEhlGozQum\njJPgDH6ooffr1FCovnsIsDOcaFdSVvR2AC4e36zO5fdyx/0xve49ffadTwM8\ng/Czq3AFWsRKVv9lEwfO2eOHpw0uiZXUF36a/0oY5hSIoQaij68RS67AzCQN\n+Yplkqo/B52qKxwzZs20SIK2G80IA9ir+KiY+Bm9ifyrPrwbpnFsHWXjhYzZ\nQq6DNA/jE6bp1fQFGWV/CoNp5ovjyZAowgPSPvJK91NMw0/ngjWbQGXhYQwN\nlycYE1S4mVSBzQw/JUOt0p5o9bG8VV3NcH1Esr7lLY4otPy03XxHRu0jmHk9\n6CjR/BjvjmYCDdzKRff+Ek2h0OGbWDBvon55tXWJXTQAM2PvsQqchs7bmyWl\nRRCh\r\n=O4vg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"248db713f1ae64846eca3ee2cbddf45b666ac06a","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.326_1534421881050_0.6818093603314044","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.328":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.328","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.328","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4376d2323ba0d3e62fff374c3ea6df88ba9440c5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.328.tgz","fileCount":100,"integrity":"sha512-zuZU1e3hX1EU6tpXMO6h6IIjIjOmJ8Wy7JeeJ7LaSzdYSyCa2QvWF1dq5nBUrc9Lsk7sQBfgbPx/5AuOTR7H5w==","signatures":[{"sig":"MEQCIEznIEMX3XUkFkc1vLEEqxKbGjwvgM0NZuTojaSjaZhZAiAT36+ukg8FrE4XI8VVZSO7ABd6Fltzl4w1YsN3cODKCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdWuzCRA9TVsSAnZWagAAoGkP/AsspYA5Xg7sfiirgKg7\nTIvo6NO5BzSjxrdgYD9eIgnp1JvROaNKIFaEke8N1BAX6Y4NLSIqq256eaa5\ncpm5HslyO6fSynGecNAMTHPi/+hOJOIaRx/3QZFie8lKhUu55nSOw6A/qruD\nqZdux8Xav83AVgRwPXB0sVsOvkQRHuhE9+iO7j+bBZAhmtejABZrQmlY7hOl\nlLJ14Tf9D+9LOtOrtAFN/uL/2JFDVpfYwb/yUjDvnzncFYu57GC0cih6S8w+\n/Z2ixMe779oRkcMRZR46JT9JSpA0/tmviwrHJv7efJyDPHAKyHZOZ2WJtVhM\n/XevLkzMxFFVJYFuBE92nkD2Vikp4zS/ARACFQjlqyHvFSXMN216eScZ3cVj\ng47SUJ5Rl+1S89OUfmuRv8PYcGyV0A6r1Pyqn3X4eaYiipgItOIksBd9KLH7\natl3H/Fnq9NVqwIypd60pCTOHoQTvVozxByWkEDuWde5+S4eKq7ds5QcEq/2\nLjxRQ9QwjqCzfgaPm0YJW6v3Fw5hvTdAM2WlRefy/9EgggyeB8IGSzaVaMwO\nTh7N3T9pjUjWUZp46YEi+i9h2Pk4gyW9MblD1is7QiKePRuczLN+TncXdQfv\nwkpbQSrATD46aUbLC+6lhfiiBK1Gasx3TOBx0VrVvEPZSLmliChhibDcMKS+\ncKmO\r\n=Beyt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"f375f6653153954a886513e700a349801907a826","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.328_1534421938735_0.41292624218756346","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.332":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.332","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.332","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ad7384070e4dccb892613530ae47ae4ece502d71","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.332.tgz","fileCount":100,"integrity":"sha512-XWz/rle7DdNW92npU66eiJyBXWr68woy800O24ElxT5D03BPNQmwrussQCJTq0RidKVX53aprEE/WEcQl1eAWg==","signatures":[{"sig":"MEUCIAx5iRbpx3v5rzRtxDfmpf3KWHorPeu1eSRvz40IKhUEAiEAuSwJWG4wa2pW+HvzrB0BwFwmF3Rkr5+7mOl7HjEHQU8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395695,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdXGfCRA9TVsSAnZWagAAWxwP/j45VbVm+KskM0+jmd7B\nAc0hB6Oqibmo2stCO4rABzwUMwiRZJHEbELE+KGbSvaZ5p4gNU/BwpdgpobS\nM5JJXm2m8/qOOS+f747bEG7KomhMhHMwz+BWZB1istMcb2iRl4V6QTW1broG\nLn4uObOcQkRDZ6cjrccANhtrzjwyf6pnEfhhXZWuaRryLwPns7ytc8IseOL3\njq4WVVkugALTHlK/RLCKMJbgXV/n+oBpryL/JnReNesz2fRMkG0LCG8lOiwU\nqT8vaL/5TelBcI8YQ31mJOSYEZvWqNOTGyC3nQZYwkm7njFx3xIqteV2nNb3\n8uFm3K82gvvEd5LYh+Esz9/q4BLhQxyv8L3cItLoiqK8++Ju8pCwGDReHj1J\ngAtzEBM2JjrvGxyVfltktdIzwXulkWzvAHMyyhaeraeRsCk3I9d/A+/QdZRH\noQ1yeDx/UeS7GFoeTheDhZfTDY07Eg+qZc2XEXPCzNLZ5KfqhqHHhMCYTb8V\n5JY42cKv0Nw5eUYXRIHACxJR4vWPT2Mh2M8eXNetWfzsCtU11bXcC7Dss5F4\nGA478vlCncwdf/0HBftmiV4G0w/zydWNELlHcCzspQ89VKTcdOOaXEBx3eeF\ncGtzSJ8//LXt77hLvLi2cY7HUm8XINrXBltOqGVUpiysIC/QXeJvRKNRo1et\nWZX6\r\n=uBRN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"e9782910f9fdf0d271280575f665fa6c971e8720","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.332_1534423455171_0.27063062642678215","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.339":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.339","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.339","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c19c29a2f408babc76ec46b4f600a223fc729c7b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.339.tgz","fileCount":100,"integrity":"sha512-lOGRN1zZAfI5SuT7by9ETcJtiCnksMShGEclk9c5IIqNA9Ldk68+Hb3xeZC5YfN4Ax/VvnLRBC2Je7PqoEzb9g==","signatures":[{"sig":"MEYCIQCNpym3+RtaVgj9smyM8/JPrBjtZb8wjKldznZPEhl+gQIhAPp0NRkYenN4FdVq3075CFri8/3aTbAuVByPQXYOk8jP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395730,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdYOuCRA9TVsSAnZWagAArG0P/0Cuu1ao9a45PEMWhmbv\nLFSW1SQnkV8MXjIBIxI0aeFYRdAEDRxmFO46/25HNhQ1u+2woPRgRHkS18Rx\nAFywyP/JxZoNA8eJi7dOmliq0mkGEDN5PUOk+lGWTcWlcOA3JHqK3M4zV4A1\nk+sJwasxyoNuhdhnVK0XDa94UzT86CT98QPZe7rhH+ip8ycoj/rFdG4m/xqR\njlf1vnxJ97F9NLDwPTRlukkmWFZzTvsyAe8oApNF9bkFnZFxGjtN9wYwiOSz\nKm4MKr01IA7z84JDQh0DE4Gme8+2iFgbxW+ArtRwTNLu1b/FkpJZ26fWOXnU\n8CpWH5PdOXeMpEa5E0Wlvcfwl6pYndpqwTMU/MUtqYdmVucU91FgZOG+aq2W\nDzCG0MSDKr1x+LLzxzBmxaffcsapaXnk6+Fg8GbKf/OEUAqi2Pl/RCzZWwTD\njQOFgbpb6/CFgFN4w7akn+20ryk0EEfr2f0YtaQ257jWRKVRjSlOVDExjmZP\nkzat7nDCcdAY+NaDF10bdeJGYODO/5GhKMpOfu1yRFuaQpc0jiwhWZP5RHjM\neOkWjyr3eOpYr/9l9qR5iYiYjRta77WiNmp38xSVqy6g5imcDQ0Y1Uj2PsrJ\najX0gx2zBVU7UDJfR5ayg89lsn5/ZM83PvTus+73YNbQlAkeOvQSctds4iP3\nkb59\r\n=Gn9o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"556438e9d509159d2b5601f9891595aafbc9273b","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.339_1534428078479_0.8985766372946491","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.343":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.343","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.343","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"87d157f00115c1acd44e54aebe421c21c5d1c16d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.343.tgz","fileCount":100,"integrity":"sha512-9faVxjRQOszxYPgm0jIq6pyFHi1+3yuh5hjTgFaYS+cASmJ55LCxg7OG7cdcX2JQ1+AArJ00L7Ml8fYnmxL0eg==","signatures":[{"sig":"MEYCIQDJClKM//u7Afp0Hg2dD2kZM0ZVU+BxzMpL90UcvXHpiAIhAPa93c5QPL04aTQ7fv3u2pxxtwsBqVcu2L8+ZHqpiHxp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395984,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdaKZCRA9TVsSAnZWagAALNAP/0mrHvTupF2W4Tq4v3ic\nPHhp84PHIF2nenNUrjPbRmywfa2ycjJNzTiDc1yTShQBHHfuxGCvS+/sv4g6\nY772AMSL9DTOpSNtRcGILNzMYFevn11eOco6e7zE3bHYRPC8gbIUqEqDf/ml\nqgN9+2pFXCtsGnRaqJLiJk4t+cE1G2ZzSUm0qs2PXL83V/thtDltGNKtnUPq\nOdrs0YqLtf7oRwnxTuILQvGolelthPpfwib+4kG911E6unYg99W4jdELCYKP\nV4M6WztqgeD4rayYVpiKZ1uTsVRGVuRQO+jXM6zr7+hQGaLDGfAzOZ0+jPR8\ns7Qlj6YCgdHuxxmeRNt2qSDLZcGaMYne72nmKZjOrkXCtBHEwU9ASFn+Wfyl\n/lZPfuOrlBQw3K1v2Hpm366cn+wOig70wMVWakECSVu1UDXO0jwFkr6qQVK5\nKL1WMut8db2wqmowMtrjgfeXSgy1XRvuCDXC3bvpCE0uVzhUM601sloHkCEk\nj9TxOi/JRnhMJ5jJCY5m1PlPWKm3+ri4jsrkJ+CJdqje9ZsS2Ux0vDhruEMj\n+AOO26KC23LqO+A6Tat0+p36BN+dTNJOKaSQmL7Lch6O2k4gtKZ9Pu6hAqn6\nVoyR2q1GKG6/3x5OJ8+GCd6SPNg5bx58hM9E+txh+fk8hrUZAKTeUYs/NdVC\nY4KN\r\n=BRLq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"6dd0195980b697e7fda271680e06b5f6df9f0e3b","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.343_1534435992227_0.9276217046816226","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.347":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.347","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.347","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"85bc7106f69308b71d5c28e5d94b02935d469c83","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.347.tgz","fileCount":100,"integrity":"sha512-hLbglzQRzAktFAHyRSBezSdaoZnHkXrazCl5lDrGv91hEI5j77gO/UppTGXJkrJmKlzyu3Xn63sT3RCMt7T4+A==","signatures":[{"sig":"MEUCIQDkuG8Q2cYt2DKixHgVMESHB9Vro5U+hjqivQXJJkJFpwIgSzh//Y1I3uNtePVCU5WbJ15rrlXqATqTJImrHa7yZBs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395984,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdaPpCRA9TVsSAnZWagAArQUP/0b5/ayK/GtRv/99R6QU\ncV58WXMeP34/JOUGWul56FhLcvgF//MhyrJenecBd7Pyd3lQw6D38dxh1OUQ\nuUEMHXjYMfxV0WBzdNFRYPNt4MbfA8ZbvSUQejy6WYGzsYEYvLi8g9aowA+g\nr7cNRG7FYAx6urlmNc/GckDm8aWr1KK9cGEpk3BKBelZbBvJNK4ugXJM7w4z\nWta3j7JlELbkd/G8+PiMfYvC//CSlmhv4jDRF2HTPEcILcmV3A2f+9SC72q9\ndd94Jc7KVs4eQcH9AoLZmsApx49syC8MIVcFbuxNlaE9kbCsx9XwSSeISPCD\n9t6ueLd91RaxhNuk9dWUjCea3JHCvczNNX45hoj4YiYrrxaaBSURZjnHWKV1\nZ3yzPKriqOq4VSw6vsvhdhYsHBADeW4pkTBscPtpW3+sZ0T9NUER5UImwPuU\ni+EaRvuPnWk8G5fXGCspeBvWO6ZJ9H9OUFabwB9WMO7NHGhIalJ3ci4ielSQ\n1YryWUzR9+97SrnPotL1aElat9moqDOOVujrpbmIetE1gAe8Gf9RxxIAiToR\nxkbMro1awC3Li/XXnMmnXokreVTXKN5UnC0nmG8iUEaD7azj4yv7Nwfah090\np5pCyt1pUblj3xP1gp+qO9p6d51faeI815DcYzcDolmzDy/V6IPKh0sS/B9H\no6DD\r\n=BYH1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"ff533a6b351d2d424d292a106982be97b55fd665","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.347_1534436328466_0.8050340734568058","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.352":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.352","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.352","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b1341dd3cf7b8ababf4a9a74f2d93a3aa60f20f9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.352.tgz","fileCount":100,"integrity":"sha512-L+jHDRs1tzxscka1gAWfAP10IOVP/LMtvRQ9ko+pScJnvrXn5io3oILX5Pg/EQnCmRphYZDEGOip5eQKDoxKkQ==","signatures":[{"sig":"MEUCIHBNLoZmdQqgYV2B9XOV3titB3w0ZxtnaO3Taq3MsHueAiEA4pqYFeB+Fqb1Dn3B65FE3wmtYCksgd7mJiylte0atiM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396870,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdiBZCRA9TVsSAnZWagAAZ1EP/0f1hvU0pqWGi8LupeCC\ngdeuWwXJfSAn6tjayHXgkDho+E2BIXP6SXCEZUQbXj66WDGW6d9fab1F/rJl\nuWLOydSfs8AaZNL+JnNWFk9dkqs6ZcqadEEPhL1Lj6NE/3OsTS55GP/7xHZG\n6270+Cp5J3zZXQF0NkkwIkQzOX7cnit3Bz0dvX5h+83G8cslF0oRayzKaygb\nWGK4W6YGU4E0vLfBmzikAQXq/4V/oTNl9ujuJRfiUgwbxOAIrnxkCi2n0o07\nRGfP2rwDHM8fOpJURx8sJ5qOwNCrv0E2HExGjXW/8z+A7/YG5/+903vMyk4z\nEZCWDwE80DsGRnwErZ8oQOVeeod4vnO4zTb1bId8Ri38LikRmcUtryCF/LQm\nmfZuUre60ZPaFq/o7GXnNh5FC/aSO8bPbk6/4yjn21lgnwcDGOHYmhbu9AXm\n9tpeiN5ovOtQ4hbCtH54uJ4bmc+gGJw+biH1GYfB8wAm3+ZfzC56lLymSxUV\nwPSzLpD5mo0L52XH/KeXovqQ6taVqVGLDNVKgQaE0+tolGkXIfVGWj9MDnsr\n+xtc4OUdGCwnJ7o/QKIpAL2xaYp/Ct4EliGAG7tYI8QGL8Z52ISrpbEFmrDq\nNJj6TQFx3Lk6IO1ktMFqbC0nXhtKt90XRylrGXbIEK0tkONqmePnZcC5LoaJ\nNe+D\r\n=TyOL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"8fe34dd775213d0a757f96ff0d589fc8d4132376","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.352_1534468184548_0.44351836984166826","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.357":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.357","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.357","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3c864e23087fcbd5ceaa81205d42864afad045fe","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.357.tgz","fileCount":100,"integrity":"sha512-ZN52BvVbs3WXIc6iTMMYHZxWA6jfG5F8UFPezYsuZl4yahvszAIQJHMmdv+xvgblaiP79vQ1g/SD1ohqsttJWQ==","signatures":[{"sig":"MEYCIQCZXgQAjMLZB68CcLbzcFgBT0ZiYm1hdW4/yXKiG5PH2gIhANL5CGUt3joqeZUGfGttsI7dhJxMH8+TdC63rNy4k7CB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396936,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdkbQCRA9TVsSAnZWagAAq3oP/2YakMTiWhgUK6H3L67c\nETeBFlfCwqsxsE6EB7gp+9/pD/kEsW0/dO4mZxU3tCILoF9S6upruyQMBabh\nK9JJfjoKaZOVCltHBwxBocLhpnmIY0kdTRkFw+EfaJrU3z+qG4V59eW9QMZO\n2LA1E9sroyOPUQYrfTaM/CHdBTTJeH+ut2kXHQ5gPc8WQ/pQe7VUgfZPe+Oi\nfpuC0jo/uJiF6BSQoj4gNRqw7WbuvW40XayscPBhjfIhwePmDbRzkeQHGmxt\nYTreueyGvobbLUY9JoEf0LboaoeYas0EmBt76GWLLPuh0LC7FTU7+swBaTMu\nc0o+lli/ho1PdgXuirG3hPsuwqZbXLWI6JfNjovjfK5fAHxl6eOx67jImuZA\nxl2Ojmp+Q3TTxJP41JzdEsqZ1fsOhdiKiKD796yYqIxReKRdrT1TXCiJ5Uq9\nHZ9Jp5+mGuQHO8jWCSQP7PMmjUErwOHCZ3vc0ld+MQ8bvpAFSouN4kFEidKp\nKIO6SBRqHIT4brIq0vMNEcN+dWNLjqVnk0h4cOK5N+E24+YCeIex7KfNgSCj\n3r9xvJ5Tnl9BTsLD7KQaEr0NztzepkKRIac5vMXXeRUUNoBCRrnpWxcZmDTs\n0Sy3uEqgJPL5ADNbgMhv17clQeRhAbwCLy6fzqrLRTgo/2zAmKX0q4yxCLTL\nnWXy\r\n=2Juw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"401009d03d8adf787c02774f80105dfac2981dfb","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.0.5","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.357_1534478031336_0.33886300395820745","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.361":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.361","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.361","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d89e3ac63b4dd981c035af00322c95281ad7c8bb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.361.tgz","fileCount":100,"integrity":"sha512-V8/LD2XsWEIj1ofB+f25ktpt2ZXKWWSdHjxn7EMiFA2KmZ4Uqg8u+9ACBx7WHOfb9yIiQdux3ANvhvD+VDSd3g==","signatures":[{"sig":"MEYCIQC45kvfHX6aBy1VrV80WLQyKd75ukTBEtezR24xg/rpZgIhAOkVrTPXaqTGtFCddDs5RTmSTy3sDMhkbTCHbH/jRNR1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdkhhCRA9TVsSAnZWagAAN+UP/RQubiop2VQbmMAlr+ye\n59aFiYGeBkd3309JZPv78DdrnblkC275p/lgSMiuQs6wcCpvxRrxsMxupSNM\n9ML2Bd99esOsUCV3tvi5sqZ/nw/LQRcAVzPc8ubtyytFEhsFHLwnhgn4q6QA\nyMeMJQR0pM6ZyIRjaieIX/Pe8Xjrkxmxfqjz/u51XXHLAl3NSJhFIRGtXEGj\ngXVbS+K/Xfo/EXXCwpDSHurnCegvqL2/YZJll2syWjQpL/B1LQ4Jql7960Pp\nYco3mVenpfyvuvAPX26OswvPHvbk5lxFLu+TIylVPBFeTyGWsXh/d98orKLk\nihKNV3g24FMwpHMCRnhsDyK/78EAm7iBPuMErC2BdYXiPNo09ZXVVFfFy+zI\najmpio0D3uELLX3ryhRcC1DqtEpHu4icqzmYequTv8m1aX0V6gxfkC/XXvmJ\nb+wt/cLqezIFKlMv8L1mH6VAvE0AmEYdydILl2ai2d/mscIPGDVrSqVNzrRy\nmE0oMN5HsyjmybE5qVZTSCN/WOzUo3Erry4fo0CDS/FTYz/QAZNLtC3dNn0/\n/KlQhj1LpaC5ZkWZbDNUkEQ3FuQBnAnFTVFdYG6OAohzHizNF9strGiHekXO\neuNXxsNNdVNnpFgQZtlPQhyLK3+RoIeM4b/c4rojIPbQqHOqKF8jAM8Ffe++\nmn/z\r\n=uKGv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"7d2effc49d42131a0430844eb6e8437040987df0","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.361_1534478432572_0.12238520863221325","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.363":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.363","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.363","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4ac13da1a644d6ad3c2af35f3749d1bac46ecd75","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.363.tgz","fileCount":100,"integrity":"sha512-362+6wMihVI8yt+fp1NIaPR36i2PU8mEgfWln6uaEAoiuvSoc0Ot0qEzQtC757N8q8m7Iidv3/eTwYxQGepaBA==","signatures":[{"sig":"MEUCIQDivpNU6E5z30mMtMSbGIT0PocMjFGPFq2XqA+ZCBwiKwIgaYy2uU48jMhyS11mSq4sIP03DPCePRVo62KahC7mH1c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdklwCRA9TVsSAnZWagAAaNkP/30f8/ryEDatQlaQsqlR\nuyCw/MwFB/ULZRruR3Fr0VJHfLCzq+ZD7OQleGnj6TvHxu0nCj0/m62t8kKc\n6q4GiOq/amZHOkNnxxUjLCErynpDSdfCdSzO76t7A5uaKztVhUTFeV2Daqr0\ncnWPTA80WqNXlYaebVbN17Jvu2FCo1YHuUwErrmNUtuZL2+lgfBhWpa0VoVk\nlSIIpz5LLXFrov8v4nxfI0bwJZ/oxLYZafM3KK2+L5raG3crXw4//2H7KcJU\n++zTcBRUQS9r13KDg2GJgbojCgLbe8jeA0JlFq+iUTQFhBYdhhUhexRSOt8X\nHXSVXbe6gZdL5RYh1VfwHlSGuLSZZ1FEAjux90hLyoRWd0ox7tulx3tA+2ap\nJYOgGY0GuqqMJ1sQ/cyfzQIdYPe22RoQ/2fohnGiw4v/U3gZjQqFEjpmUDzO\nDtB+AeQK73oIlovx5gRp0j2pkg5QevZ+JB5Xrqzqbo2UKFdaCM+Q+oCkAbPC\n4dkuLmzoDVRYgNjx57gLAE8TdxFN/PQ5twkSohifCVUzOtp7Wytblq2cK3qH\nEWY9lXHJcGzi2K9rHi1hcmz825scDVzbEgeniL/9Zd0anNQbqdo+92abEQ5h\nRlcbDT3c67bBz3DNM/LmSB0FBLt4JWZ/3gNqI63h09/iglrPiYvAtBbWgJjU\nHgnq\r\n=shui\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"7caebb8156418fc1efcc0b29bccb42e8ada2bee2","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.363_1534478704257_0.9667873560030096","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.370":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.370","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.370","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bc052f61587391eb1e628ae950e288a6626897fb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.370.tgz","fileCount":100,"integrity":"sha512-P+QbMo7q1P3VdbVyxjpc1anIxL4nIhv9tzR043/I0962TFsdyjL/zCbl9gX9T0US1+iq2TE/Vxm3TXfZtIYV4A==","signatures":[{"sig":"MEQCIFm2P3Zqz7C+/ZQ8UlryHpPmtWfu892Ohcc/ZFhoy+ICAiAPoh8a+wa/PgQw9NQpBdpWoji03M6DeXzshPj3G+LDsg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397087,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdohSCRA9TVsSAnZWagAAvogQAIb9GPHZFjEcddAYhCPQ\nIzCKWuED4eHvLXwnrVAzvby+V7YvEvyliu00woQH2i5bb8wcfCs8VeWh8HBV\n1v4p+NA1Gkbe5UhW0ZBj85Hx2GOFFVvPksdM5fX+l+YFmCTPskLXKasQiom8\nB+++k6UokAMilGGZmCDJpL/doSwFZK7dNA180nKM4D+bHw7JK76c4SHTn59N\n6HXPbSmcima241RBGp7p9oYAACPrwKhXoZ0cFgxnpmVOMWGRwL1OtwtGfsq5\nolfbrZVhvq79CvG9iVMBuA90Vg++D06bxbAb6S3l08fgDEh11sDrnX4dER06\neJXDnmZX1fdSNb9IJmDgufa5SywClYpi+AceHOi8sBLqjHcU+Yb9PegJ275F\neFpbUHcWeU8PB7UcJ1TzBpKMecoinDM2R0Z6aI2e0aNx+wQjej8apMfqIAf5\nPTYOcBxEWT5brlc/J7q/B32mbiHOIshj6UPLPjOWYanOAXU3GbOdzxafdyqv\nTkhxVf86rPd8E7p8lMLg4t2FgqGZxgcYtF0h7Ocg36dREIgNd1/o52p6/sC4\nhq9WdekfQ/lgEKwMguIA0qQY5PRAq/KjNbTu1L08K7oXktor0TGmiZP8e0yE\nSb71O/hiHPhxyzFKgYprCqlqbRhWJhzcMU0V3fgkvDZ6D4bIMxlX0Oe7BWYU\nJdVW\r\n=u0uD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"0249907b23e869ae1cf085fc0b7bda59b7d53c7e","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.370_1534494801645_0.3283594680497979","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.372":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.372","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.372","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"32b8d28a74c601f1a98c403d7ed217f471c6ff98","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.372.tgz","fileCount":100,"integrity":"sha512-+u2RV7uKa1raaNzztEEw0KPIXapGf6QLc53sD9qbhALEyGRVDDFO6wWU6+bFVojRU7IAk3+SgOVLvVouJevEsw==","signatures":[{"sig":"MEQCICdj/cU4q4yf8uh71Ji3GkSCcmOiobuRoCdK/LrCfyLoAiAa7HWvIlqPkkHtl03i9qKVCKmOXs1RxmYsVo2f6MfSYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdri6CRA9TVsSAnZWagAAL4IP/1q+BpH+HjBQ7paH7W6h\nv04mHXR0mhkQkyjYIjislJwVSyYaOX6Zdv3rmMBK7ApA0CzVpr/hE5kSPNl/\n830sN3GInIGPyvV1KPmb5YziJ80Jle2XWrgPKvSygy8YtVmVv4kzdM9pL2u4\nXvl4B2PNCqJKv1SxKFilfJjFYXBVIpIuEK0O5pNyLKT7UIBm0VmQ6gNGR9lb\niuikNTQfoE5VjRelUaC6tcrwbVFM363Zas33uA2FEuJAqpEkjkIodiIrmisj\n3RiFzO0yGE2HSQE4aX+DFZ7kAVxTe+a3STq3PBB5UHol7sEWmJfxD8T8VoFs\nYdXbNnDjUbOlhdixNhuZUxkCvoPHHuLs90v8zCuNzPIyX2IHyfGq3aJUo4hk\noYkECLVmP8lfpJYNjOzn5dmQ8YOX/lM7je3kl8UzXWicVPUBlQIZk96ZMBra\ngJmLpQDkbUGuwGBq7FI1Un1hVVNfyvjduCDkHZ5NAtPh6QJ5AZi3ueiML2+g\n27NvzI3Mb3G7BwM5VpJUadCvurI21E3WytXBIxRW/QLEQ0m2QiySwYyc8hHC\nP/BkCucZJ1d8KV3oSj0vcXbfVO4MtTGxmWCsZY5vGhYmzL2f7bBg6dBQGqel\naqkkw3XD8BfTzFBWikHLqxiIS1SQjQ6ZYvluni+AVc7OfND3gHCWrtLBq5HP\nqJm7\r\n=1+nS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"25d2d3ea3adcc4a6db6dfe4014fbe2b93ab3f749","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.372_1534507193993_0.9129315691054132","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.375":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.375","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.375","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f00c0cb5fe926d5e7089a2d87f8e4bc0f46dcb64","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.375.tgz","fileCount":100,"integrity":"sha512-0Fl8dCntwSMMfHC9Lmn757aSApGKOVMCQ8kjnaQjp5Xp+5MUmeH16VlPq4YexQMTXvosC9spWsMfL46z9jrfxA==","signatures":[{"sig":"MEUCIQDbmZXoUBaidnNG2STq9Coj+de6tbuYrkCG1H7ptmviZwIgOvYwibQ+xXJGGQLlmXSiwn4rBosdMZm9Moyygulxj1w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":398259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdrlNCRA9TVsSAnZWagAAVA0P/3zjgozrbuH8LzmEpSJd\nLgkrdIawIH0Zb3DTpfRVgH6+yFYPLRe88nNpoiRTwfnPdP+uUBvCKshC/bKm\nP7dZEviWTLqzWw1rju9Hghktlhzq/0ELU++J+uWgMngEdKkCH/0kWn1HoQ/w\nronnwcp+J3Jy9ZsyiY7D0s806EPGWjpUtmf8pqP6OqR0VdJ83Z77aqDowJaM\nfdghBdhipRwouH5C8OJQ+zzti5BGWzzZJfsG0YFIvwO8Pq/B6IA3JkMdpQ8D\nr08CcD7FCFBWaryH9Rjy4j96AqaR6pkt1zHqEe8TYshAqTc6PNJbvuzsjMOF\n32fsbVS1EtjM4LDWvoXAyV/UIBVK9Gdh7RtXq2oSBUOFZfRRnfJWHawFpXZg\n2Y0BA2bUmPKzE2g2BgrQP/oo0wGk54CqTR8dE6k2sBdMtSI+oihUgFpIEI8g\nwZnq8krp6d+lWovCzcGAXSxQtkyntKPekNYrnXMo54i+O8VWzzcXZG8lGGbM\nuZE3AzhY5mb0GP9PV3Pk12TLTKVM6hlT2FaeUlQzDjnvZtS73iApG1lEvpRR\nH+PKaX00KdJPPsivYmMso5SL7lwhjrcSPwDz+sCZPI9YaV2Webt8RexRcnYH\n94hbC2pjs0SgyzgRXnQTj+ksfINDl9mIkl/mB1Y889XKNFmWsOtqwet3GZ/W\n3KpP\r\n=mSky\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"6c0b93796f4e82ba4c053845146a111786268353","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.375_1534507340515_0.780464533625586","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.380":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.380","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.380","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"845174f887075e9cc4d1b9f9bf58d270b2f631d8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.380.tgz","fileCount":100,"integrity":"sha512-higE6GHM8YKNXhkjspxHRpumzTYCGFbnJKEUislENrofjKwC0qTjSEs0vAV1i+W4m3EYRPytsYTALPpfEWHD9w==","signatures":[{"sig":"MEQCIEJr3L5UZtkBW6N03NYaU0//X2ujrMdaw+v7N2spAQQkAiBd7erEfgklO+6gJx6WALfYL6DsSck9vn+F/X03Ab9yWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":399153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbeofICRA9TVsSAnZWagAA8HwP/jAPQxJeJoDd0Y5c4M0b\nb3RpoFbeOLF6kha0Ei/RRQvO75NoBy5KEv1Z/o71ixSdmyLxogIpRpvFn3pC\nrbsd8xGDceXIv5BSfcsuQRpcw83JhCjnlCXnMwGsdRrUdSR5iMzQg6JzYFVt\nFM8OaACxZjid6mGknlGuaNqHIa3yFBfq65xTWa/34tfHPbYU/eWdof0jaCxM\n9KLnox4lpZKDAc1ChaFF2AoMETDcsnFaVo1us/OH6rnqTFSCrT9pQcAHF5x5\n9Q43x5ILQY6e+ae5Vi3O0tkeVcc+Ew6D0QBZvJhEsyjX8luaE1P19cIkTu6G\n0TnBaIW33PAL3jD8g7LDPFFYnpQbMT+YMzNgmGEynzxxtBGQyuDxBCorjKXK\nemNHmhJMPF9DFBOXPyHAcpt5m/efgy74f11AAn48crN4g/ds7+i+hVHGhcff\nZTiDhRPArPdH6TDlbczEy8gqK76TBoZnlbw5LbmQL42D4cDCvVH7Y4T/T7af\n9H80VOA5rB9vj7I40z3FLcXiy0uKdoR557MGyJAqA+KjFF9ot7vYHi67bzhL\nlACKh/E/OduDUAFhddc53QW2291JGG1cyirNgEhdWYk4Lipy0jKBoBN87Gvx\nVvrXvEizLwRchvvV3Dm4A8CbYS2g3Tlx0yk+9wFmoVzjsMLa0TvVdr1f2Eq9\nJPQd\r\n=vccH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"518ca152585fa20e2098c8fdf9c4d5a6475cd944","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.16.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.380_1534756808427_0.7182315226383298","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.392":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.392","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.392","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6384f64ee85240ba4e6a7fb2037aaadf3429028a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.392.tgz","fileCount":100,"integrity":"sha512-sfDwHlugB9YYDesD8KD/322IFmKTceqtlgnBg1TjuPzXPwztnmQAfvX9puFehRdWD2+kEGOwBBu350WqP5++zQ==","signatures":[{"sig":"MEUCIQCZqzKr7O8Ncd33QzC7B1SNk/kdoj+lb2+/IUxq7phpoAIgVmkTxqBWyIhyB/+ETdIwsCtPqY4TRg5OkFZHj0wXhDQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":399153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbe8YvCRA9TVsSAnZWagAAipcP/jz0ba4lhbl/LGU+a4Zc\nmHDiqUl8EYUkdss9W3at2KhMegoTgmvYJtRv/Lp9LukrHEaYUJZ6FnBs0Pol\nAnWtb2Tll9h20E0nR6pPw8gQL0y7bbj4qis+mPtlFpAYGjQhtTUIrmdz2MGH\nzd7eW/E3tzrcmjVTrPgUG+AxUF7lDTZPjddEGL4Buy1W6j1WdTmopHcPFgf9\npWmWS92u3uW3ACKWYmnfhGAWOKOvR+MoNx8HpH3i7e3SZcXv4mX4l6gOaVX8\nCF8dYtXQFX67/xbytSWeMamfhs4sA4kvT94izBL2/AqCjdTnegGWlHRGR9qW\nNIMrVF7BjGM6DVmb9l+KgtR2Q+HsMvSFG65T8DcbnVC35D+gWJE1YUCII8yU\noW+P3I/PYW58fZPWyNuUVELhZtT2jKIl4T7luU0z4RvujRdZ8sU9Edm6cjeH\nb+a47H6rXiZzuWFV4mLYISyR6BQ55LMllZnaZoZ83QJ+5kZQ3E7IyGf79vR5\nFxhrPI9xrBodtyDFloX1+XDIAUVyxjomuZJMkVcbdmhiac8cUnxIUhFY9/sD\no6MTpma56Mmo3YramuEc9jSBUVy3qcoNUeCyQ7KKXr2p+mNUMxnhw+eo41t2\nEaCub6zNP0YSPOAuoXypEu5QSTgVpCl9T1Ph3N+AZ+V//hi5h19PpVibeYY/\nCXep\r\n=TN9p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"05564511fc9d0ecb6bc6fa04607abceb41f904e8","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.392_1534838318247_0.6261462343917161","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.394":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.394","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.394","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bd03b99713204b5d6ea7cf53b942b6d51493a8e7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.394.tgz","fileCount":100,"integrity":"sha512-/EfsmiVWInsvWs2W8xQQoj5Wqznctj8yb6oZoAIcvRJUXNtuxksNZ5ryzYmlcQu4C3EFgwi5wJ6pMgjsji12Og==","signatures":[{"sig":"MEUCIQDCr44/H/Yfl9lspxNhJdEct1nkcnjXyWHFEInfTJ2brQIgCFtnQqJ9iOmrysB/Qn4kAWjPZjWTzZxhji38Brbs+eE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":400534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbe8anCRA9TVsSAnZWagAAD40P/3juDW/+beayQy5yGMmv\nu8u2IFiZm+F5WQOnWHwCBwiC0QUysdBLfBpeq62Oi1vS0zABZEoespJXyxxq\nz6i03dg/BR1FZnOosxZ4JUlXpolHLOIrFBl8q8N+4zV43dwujfqpAXAFRgSg\nAgW5BmyF4Yqm/0E8OxsaKlIuwUidWmUGKOFWA9cS45yq7qibPJpA56jOgyiF\n5TRPQGSLFNeDmifxBIz13c6pyOaqtVAgKXZ5BugX8ThJ+c2DhiTW+c/NhKBK\n94qpkQ8C1D2b5bjW3DpM6mkOjrTJHx5P7ZU/I9rJetfFTitsDpctQSs5sTVB\nwU9qqgRCfvS/y/zgm/vJaAD3W85Dos93ajqdf9B6zVMsf5UeBHcj62WKGthN\nXHzUOOksVBo/Xg2zwzIDj8Rx6idnhRiramTf3TZcM2YeBAFK5Ah3SgJwTDjE\npvkEHS3JKDEEwt6dgJ6Hv49lHjx+r+8ubLN8QzNvPqtWq8Z921kINZ9mvcev\ngsFCmR4TkKrkt1uggJtGTHdkz3bDiG6m4mRi2GFYK9PAD8+S7dOhOPcrYJpq\nr26lEUhVxQOdssS3lASeniR5CpniJ53E3FueHSWIEI3Cpw1lNFUWIW/w9qF6\n0J5+Jk7IUfaUDQ62+CzFGpeUtYuB5tpoB9A+QFeFXXiN2UrEQuNzaaz6ZRPA\n2HcV\r\n=hSQK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n","gitHead":"d65aa5da1d8a07088fde234572f989081c5bcd21","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.394_1534838438915_0.6761081454901023","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.399":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.399","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.399","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"10bf1671a0e313e044f564ad8e9ab25b37f39fb9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.399.tgz","fileCount":100,"integrity":"sha512-XyWGoGCWnohaEYfdz9evYxd+OuWWhP8U3nXWzYqR3mUzkkSYqsvu4fFjHrFLt6WIM4/Nyt4FvRKVKVWR5H+pCw==","signatures":[{"sig":"MEYCIQCDF7E8+jaIQZMbxFlIXRNOE3NzWnZwDkzjxr9pLz1P4gIhAJGQAZFH5r40yctrgaBFk2L+78G48gSu5zwWXY2+rc5o","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":404233,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbe9VMCRA9TVsSAnZWagAA2UEP/RANhSbRMuGW7i/ibvwc\n4AMF73olSy7PpTaaNJBfK4x1t8ZjlRHMynlObZi1oobZl40ZIpqACOx1EMg+\ncoWtzoMb3TydKzTHpOSz4sYNGD/acrpDWw2CU+cTVz8oBj1iZgAFUZT3Xha6\nj/dlG2N810Ntxxdal97Jf2iyv0CIC5Ca/0QGOBl9XEhC4hzkSVw8CGLc9pvO\nhnbpXaLBuEpCIv1iulr+n9gQ5HkB2Vv1h6dl3Udn0Kg2FeovNdEvZSiVeC/R\n5OA3WPnerin9N6cpTIcDWqmi4OGQtDs2NUVxELAFnhqP0mvgV29re1H9rpHA\nXcfHFOf0bUoHNGS5ChoTJzDwVf2BRMZRVO8lHeOin3M4u7eobB63KOYF8ZUa\n6sUHrgrgnFtINSMYfwIWxpBpTUWVmDyYlK+JGwSV85dnePMet0ziwLPGVytx\nKiXOrv9hhYTngH1lUQhiYh9h1Ya/qy7LAU+wSZAh2UYfJqZ7nYdk0yTGXTCV\nM/JAC3ahDuk6BhVXyoDcLyD9iXxS9W/y/o0IQDrVHZhayhvRxocBmshGItJr\n8Dg0eVL1mbEIuPqn3QCnRiIPYbqHXFyg/QkAxAfj7yvCtpm8lN9MqdVjBXGl\nsP62a0thLu7U6Fid17tntkM/cAcbG2pT2nKtQmBVq8uwuuxgKnbEDBq9EJ/i\n4w8X\r\n=uy5x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n","gitHead":"c575f866363d664e21a4dcc8806570932996134c","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.399_1534842188133_0.7603960925133415","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.405":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.405","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.405","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"29b9a7f8b1ff57b377a6afec558d4cd0a3b1256c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.405.tgz","fileCount":100,"integrity":"sha512-G4d+RCcuz1yy+tQRYkR/s+2We4XzetcU/BfWFGhOhINTdzW2DhNfz5LycKOGP5nzWFcX4aC5EtV/2YmyhMzBNw==","signatures":[{"sig":"MEYCIQC1izk1ZJJo4R2AbEHGZT2AsnXyPT1ifNgiMOSewJb+ewIhAKWllpBN5kZvaozU3akb3x9ouk0LKjXU7eoBXcjuz9JU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbe+qKCRA9TVsSAnZWagAA+/4P/0BdO/ICLItz/f35qCal\nQEyFkL3bI8AtW5Gh9yrIKXRXtfPnYvqvdUK4B/6L8/Tk5btbJ8PIC3cF9vwo\ndKS6rqI1RiIQOV5pZJcS7Ya76MStRaA8CwOUIKRSHLVIRwE7NfY9avZvJ4ts\n3RgWwQpQ9+LiSka7uzWYylzy35Sx0RIsOhWaPrdLrkhuzWGSU3+0QrhonwWj\nI1xMAdQgHuqjm2znrTTWfn2vrJH901ZAb2ZeV6jnoBbXKt6yvjCb7UtT1Xsx\nfsiq7mTYRbHnkrNdHtY53WJTXWYydq3pLTO26DLiTBZAnASetNim68QO1Lwp\n4wmkj9YkQafxjX6N8a5veDG4TVn33aGXCvN7VETQw6yRtMxBrAGommwIVvDO\nUNakMU5W0sztbBmRb64C8i+icExp6EOJCmKumypcn36kKSjb9gWAIzh22NbF\nO3xSqKhTWLHkB1zNBUqjZe32kZaN/1Hhb4cVRqZ0IsX2CGVdQloheOIWN+f/\ncOy4YEbKCKfblRvEK621zPDA1o9VJSQF4IFXfen7nPO9FSO1T/Wvo9kAaaJc\n0yc1Rc01t3UopXEvHdL1fsbK/28+tRxfe75hLdRQ1q5zA+DwfZArDimcptZP\n6iHjExEDb0OH2Rcl0p2uAKGB+JhZr04D9L90QvV/rs47LZQGGhkaRSK5/pTn\n5qyz\r\n=09VN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n","gitHead":"542e16054f51b5aab36f1e624e1c310485e0c867","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.405_1534847625727_0.39250901474611966","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.410":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.410","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.410","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"894e432a604ae02d45f30ae82445e1b867a62fab","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.410.tgz","fileCount":100,"integrity":"sha512-y9j806KpmxqhCUVG/R+/XJ6yQn4fWp8R52xe43ICddssp95LGihLSEqBMgR3EKFOnr+i4jkIRRGGL90KYjirbg==","signatures":[{"sig":"MEYCIQD03sV3DP3Oi0yRtialmsteIe9/SBax2aZPC0G1wQ2nQgIhAJqpEYk3KU0gvjuPx2XLM5qQJ/lKDJxd4ywFd+OeV3PZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfSV1CRA9TVsSAnZWagAAQo4QAJ4ERcWy4aK9HO6njQ5g\neYwTFnwD0rc2cdE0hWQfdbJ7nhb/PhLPJhbW7nsrZXRZYZU3NMYl7gEJkdP9\nUPLf/jN84+OzV58xm27jSDUpxYglcgzuxjrapvIEzaiLvdvXLlhXsxCTmvIf\nHBm9PY11YPu+aDufnF2Ck6r7IVqduCKUhsuQUf4Jmrfcm6mLLrVlDXHSwcij\nx17ucvY4e9cBG3jv6R47rK2kxo+eFGzPnhmfCHuF6XycBmxZhOBUvDJOFQlj\nkYw+5QVzvJKjdc6LHzilIatb4LhkTETGYmUdmv773MVM3HzQP6JW3wGyKod0\nIW0NTJS8DcMzNd7+qwMS6Naf8E6liKaMcpmQku4rasCgxoHjr9CWMKSEmuWu\nS/d+IqMN6fPwztiUwSpZQjy41pEjQFUzDLDDql1kXQsHVM5trQ7OldS+JDrA\nCO4cHjL4K/FBvFcneNovik1amuP/9ioy49HvGbTn6fEKi7Cke/9MCeA1a6wB\nCPjDiGye99d+2AN6yBOIT4ldzo24eNz1CkWu/+y8KCdg712MuLLlloChfmio\n/eS0LY51mOw5oBEae6mTN/I+VtedKbJedWj5zaasbkH8p1wUOFXQUcnwFTbk\nItg4Pra/4opCmz9nY00HQaRYkqlQrd6tuB8R4ME4GgRMr6ctofZYzl13zhpt\niOCN\r\n=hg38\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n","gitHead":"af3e82af0e5c5ec3884acd321b0a2ef186a7a944","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.410_1534928245202_0.19092866918264106","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.413":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.413","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.413","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"661fecc2d7346c9824ce072d4c9dd1f10c6b2b1a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.413.tgz","fileCount":100,"integrity":"sha512-5cc6+GBaco7fM7c0tfh+5ot8Fsm/w4kVZkoAj5yOXUEAgASObx38H4juLRcsbCsFwKFF30MKuBviJjQNuuNSTg==","signatures":[{"sig":"MEUCIDRjqUgAcziOHdninXXqVBz2ltFUnD9g2ZSlvqlRAHSBAiEAzTIb7cLfwR1yEW2vW7GVgxQQrLr9srTMQiZrGLDtMlM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403759,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfSjOCRA9TVsSAnZWagAAuNQQAJj5/Qq3Btr9cUmUO7ZH\nPLr5BvjqW+47pYuXUlBoCEgNcDltxV7JCnRGNYcKNrqVVb0F/AtvQD0Y1bOg\nMS394zZWtEnoflRcKeSE6wk9cDVLfJcv+4lTNjYoO+2OzR8U/aO2jNnlF8Pn\nhfH0JhBIhnSdhxcBkyBlAgIaq7YZG2y+rKLaNVsaIA/CuY333zgCphPQ4/Un\nbeKxAzBpIpNtcs9Lh17h1Y3YQpRGLiKrSOjIpBZDhaSxQy9dkxhLwpr3KSU0\ntHD6APsMwQCMBNknAitgyhLot9krN8VrD1jRH7wNgf6uTqofijt6IYG6tkq5\n9iHgNGq5UHcYZOXuEhV+JGcO6bo3TbFIc05FPoQDbspji5B2rsoEhCr6HndR\nUtM7x4xuqRqEXt9UbHZE6pEuhhQAtcTPetyCnQLpoUdxzmCKc9jiFuxg8K+C\nXLXeUKC0/sNICdrhcCDyC8Bn17V2/LkYIiGIkuA18bv9oE4Be3xoET02zDtq\nFdzyqgSh6pOkwcxLPcMO8OyThXKyubourJRzuvRoqk3qO6hbPmEwN/DtXO5U\n5YYBGHpFEnhM3PmNbBtvSyHvle9BNuQYcVmutwXtskjzxtmVTNqBtVxiN5/s\nCBKoJ37Ak9SWDjK5b41/fX9WMSmO2HNr0WpPJ7314WA8vsVjdQKEpdNrHVC1\nofGq\r\n=TkEc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n","gitHead":"6103443996ffcc16985679000cefc2300d9b9404","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.413_1534929101314_0.056231788360070034","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.417":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.417","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.417","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bcd0a640b2f48234b8847f90e76aeb7e33ca5a60","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.417.tgz","fileCount":100,"integrity":"sha512-uPUeSUbaBl7x+7YUJDjXX/FwTPcO113oUUmnkJ0hbT3uPgoUHRnIokBLy4pIO6V4b7gnmSCs2BGzI6TgYOWrWw==","signatures":[{"sig":"MEYCIQD4ANDLQKOVk5LUgHXrasAk7hwhCGBBmopsVUOGb0HlVgIhAP7KambG+vFNLmQODG8Ra1ftWURjiuytiJGhOXJGg2eX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfULhCRA9TVsSAnZWagAAxA0P/iHjE24RyfP9OohZ/jco\nkJ7lQIbBuzfzC5j1vkteteM12lXmiqQX3QC6irs+tyXoCsDA7kBuw/fzGK59\nJ/ykUdOKcCP3u1Iy2p97XKjwGr5mtdEY1Vs/xbLsMF9U6dAPsNMewBRBXcZp\nY5MJb3RiHcuFFrfSvoU+3BBLPtAUO6nodZ8ra0xhXC4rIOSGRQrpGGWLebv/\nBEj/eyy2FJZY15h3tfv8YLrKaXQ9C7KyoglsX7jPrDtJDSArD7x42zTxHHy1\n+JdHmUPGOJ9b4zO/lN3Ymb76U7LMVVuaytUORrg/z8U9FrTfmZE/yzb4RUCm\npt2FpVhQQjEwiF+AnpJuBbtlB4y0yZTL8qsNKLoaPhZp7lHFGpn26PuEDbB6\nurzcNv98EgfZbTHjP+NRMi8/RuT0X9r6pVu930ms9VTP7nHrU1/PtXmiScwK\n9HDyTKwzoEWM5EdXa9j9kphWdR47JAK/IgtdJ+fQ9+5dDy3zisM9Uqdq6zfF\npJbSQrz7RXMdbixT/pizkggtikf1OnX0L5lAsJSyPEEr1aZJKd2ae/FvW0g6\nTD92HgQQPtcVJ+wRhEKCBRzi2meukq87dc99x2Z4pgVMMvs3BzI9ob+OksoB\n3XlYtvsDEfBeLRgK7CclBNLFbxYgqoHsvL4Lj2y3RllOIE77wtrX7sImrR7S\nYjs7\r\n=2Fk7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n","gitHead":"5d81b3ea341a933a064d5f255a5a9e928caa594a","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^2.1.1","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.417_1534935776726_0.7008915869528667","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.424":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.424","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.424","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"622fb2b44aa65924054dcee621324cf0a4d607ba","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.424.tgz","fileCount":100,"integrity":"sha512-kEpElvfO0ovtGvVI2JBrBOV/2kO75ZxMICA5Wc+3jSIJuwPobBViIOrWXxyJxxBtXri/RotjySISXX52+xWOOQ==","signatures":[{"sig":"MEUCIQDvkecup70oQXy1JGGLUk0Y5QKBGG42ZkW8IdLT5ZVhJQIgCJvPRG1itGzDvCIoL9kUojAQjdIxuzUzTW4gEjaNOoM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfl6ACRA9TVsSAnZWagAA0lgP/iecxcvn/ZFWUIYRS5IY\nTXKpB4ne5kmj8bZtFDjFroRz7kbPkOG8QCFLuvxI7ygyIcfBxPq/5fTJyIjf\nZ003ihoFqIvZL/ZMBntCldOFDZfvPd9fnQ1T1/W/OSBsqZ/OkHU4KKXaxQ+w\neJmXxNdwJLABRhnbRQ2jpy0bmWWwZMFxJHIN/TYs0oTR2e+BAdb47YSvTAK/\nOiQ/88U0VK2vAGRAuh1zveV8wWkXX9Qa3If3g+1g/SwEgSM8qpSLP5e6R/lA\n409YYj3m3460Kz59xopGvry3rDWXT9azaxFzBgxMruvPtHUNyjkR6BsfGRh7\njs0yTGn0N6omd0jGuqBJ8e+6/IP3s9eSIu+GHrBqb0AwTO+5YnAGGJ7jtuy0\n0tjT2fEsSu7K/r6OIv0TpEbcWES+RrVrz9VaJDZuCV4OBCjBZqLUZsPOuep+\nlN3z+LrRCSSsJ7v1PMo+yHOD3XSo2QD5n2OBLnizuLLBE1+3h/v28Ze/fnmK\nggwvwiSn4gZ3PvA2ZlbyWlkGAGZcL8ke1F/uTtJt2tY0x4H9C3npmzP2wVZQ\nI7W5HxiZQpQnANVXeqP/1VlSgHBdggYa+fks5igTL0V1TwtwS8VrsNVRT8rL\n7vHWg1iWzbxQOwpnPBCCMmGNZWXTlIAdfdnkRjvaF68wk/JRH1BjcZSUXAz7\nEJBh\r\n=cimI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n","gitHead":"5cc7b762c250f1c10d77ee377936c0e47ed09b56","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.424_1535008383654_0.7436230196840647","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.427":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.427","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.427","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d1b27aba3bd674bdf4bd40eb156beba07882dd30","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.427.tgz","fileCount":100,"integrity":"sha512-f89oI0ZLHYJVq7ghmdUxyGj3J2SLqNoEQa1KZPQ6uvMEcLf7Tll4qmjvw+csyOcYpSA0VD0arNZ3ZD9D9VDrbw==","signatures":[{"sig":"MEUCIQCkccXykMoKvSdDuEBBgUUhLeB+KG5U8z3fSkQPGbHXawIgWqJ8Siix7jQ9SlC/cEsQnvyzaS2Xtuj5KlFxBFeBxBQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403841,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfmx4CRA9TVsSAnZWagAADesP/joOjCRj1b/ie/ogzVRm\nmnP5UR/LDPep8azzma2RWTZM1AIa7DSw6UvwzxB222SycG0ljwIDlzz22Ivm\n9TgqMRXoBk5F1VrSTH3tosPSo1KlxtqvRCAthKtCBQMNo5hiffb7S/d5pnxr\nt/T4eV8PvJJRdViqSKSyFzy4M1FScmxmBZ10kuaiKHKeBjefCyU/h0OA/SyX\n6OzCx33FBqE/bhB8EX7WgVcIjwAM7rfMZTFUJtJpYo7EnfFXfgxJSHBf7GEg\nvm9+i4vwP6YL0ysR0Sn5u4U/SQtFoUmY2tK9gsMx4+lYm0dC54ydNkXDCADD\nZMJJQtNq8eR9q+Z9NBkogkKVEwc97mcRz8UxDQnojGXz92CpSh25cAjCN2/C\nBruUZS8u3DUhKy004uV53THwo+sYeMbn5dqRvPdKgHIfELL9pD+Zx3neCI50\nvvWHNuIjFx9BsywV2t4fwtdmYigSKpyQPSJEb7Z3+T5Mse7qXk+qDI+osMMQ\njRpYD5eQTPV3Q7Ikr1UatxvXrnKxeSoc/Nbr5laZtEEhoS4P4ACbpmo9lfeY\nGTWjzvRqXqjmvjitOc7zjI3eVciv2pi/xk6mFN1Om46iTvFN38XTtX/Wka/S\nd9WtgsNi01ZNtuZ3hkcnkO59WjXa6I5dWR2IBVhQ2YHHD8VjAnXzYrlb085q\nYALF\r\n=fep0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n","gitHead":"0e28365e66fb15de8fab4a83bb7c3b7c9c27c245","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","bluebird":"^3.5.1","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","request-promise":"^4.2.2","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.427_1535011959564_0.6817206017321547","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.430":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.430","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.430","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"717094fade332d4afefd68c60f7ad1f45983bb20","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.430.tgz","fileCount":100,"integrity":"sha512-x07GLdXLCPubiJ0efeqxAOpq31wm5rBHZK9YhU4FR3su90AlEWSXnCgxe23B61rEaWduMEZsR4O1tk2VmrZRUg==","signatures":[{"sig":"MEQCIAYfvizhUlbtwniCcIvF2nzdgEgDpz+tIZaKy1XkhGD2AiAjLXn0wMyCEN+qYKx0rUHgqXVgeD39QfivDqIIIKIRBQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403806,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfnegCRA9TVsSAnZWagAAhLcP/i2d5GiY/qVYj3v+NF+d\nZdkaL3TZrgcOn4Oh1sCJ0pE+QxhUtStodnXZzUU9Og28PnZP5adGYMXS1KLe\nOzdWLiIukdQh2mXqV/2gS87alAXybdXFZvZBhOsO5QVqVbJDg5nNZ2Ej4rzx\n8cEL38klOHwRbHXpUyQCVfWFipsr9TIuAVvauY+mfZyS1/VJNgU5SupjtVKF\nR2CJcHPhojl9jGCzE/J+Ea/OAH9JFBhVIFYViQ6IUzpez2b43R4ARRsSrXTx\nbGkk7/cV5UJLKGcXqd0H8bPtczoNISjZa2F3jmEC3kfZWy4jQU+JE9i9A4qQ\nlfxrvzCvdmXU8RMXkwbd9t7K+f6FyPchVwMOQCm7d0j42VKvLzn+vmMkUea1\nh72v77ZCzYB/xDnBqZRYvtj8i9+fbWuV7LJBvF4u4NcscuEhXoVVO/6qffzU\ngtymrta7uJIRFjRujVq5brZE5LyRhxT1Je/64aSdwM2mSJLGYYBVT/Si/H0A\nK9LGTVYxYTN01liXculG87oIa0BMnAtsYjBISgjggcUdRLkVIEAebkY1SO6H\nVk9PkxrNDmHBWp9j+Xs00TTWsycT1t5mSc4NVgahWlZUNn0ObnDFf1mxu1OM\np1uzbEoPIFvarrWQ/NXtwtNbF7AL3fi6zjygrgs3j+QZ7TcydhY29TE8aUR0\nn01e\r\n=N6jf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n","gitHead":"2d2ad85be9cdbda6cf0b8738f2b138d589053aec","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.430_1535014816400_0.5587951532245394","host":"s3://npm-registry-packages"}},"0.3.1-SNAPSHOT.436":{"name":"@adobe/helix-cli","version":"0.3.1-SNAPSHOT.436","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.1-SNAPSHOT.436","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"dcf5a460ffdbf538b63c001145e91a5c42b24d6b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.1-SNAPSHOT.436.tgz","fileCount":100,"integrity":"sha512-7AE8YAKAC1BSUlsGlyFT1Bs6EDhsMeWhr765yNwrZ2blQIr90TDoY5bHgv7qOUJc3AFu1JecI5OMckpy4aQm0g==","signatures":[{"sig":"MEUCIQDrpoqCEeA63kLi4R3qLb56+NLdp1z7/t6j5v9t6UvZ6QIgP6zhhafMd6Z7DPHW94nqhDtefwvnmMlhHUVoLShsg1o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403806,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfvBQCRA9TVsSAnZWagAAq78P/1h4QusfP4ZUGgiNII84\nCBDPSQ48DvKT5xNHR+bMrxyiFSfhjYBFxSmnFLmWcF4Uih6GL71G/Sbcv1Fq\nbBciFUcuGk+utjLkpFv8sWmpGYoomnKoUXSREU8c47QtBrkEo37qhyVJAoZ+\nyrGQKmt2T9iqOwaYwlYSnixQK4MQW/RO6jVcMVoP6h3/y75KHdcQjL2383jn\nT6M213+hUEcNwN1WNJMgD3dxLQYt6ceYBTcQL9Fu/zwAqE3DVafXpXMGxvm9\n8r85Kl5JdKIwakUbh3UX1AhtbqXI7o2N7ipL8iH7ubdPfJptRrUE27hUcR3/\nXl8lzetTObx6bbeFiVu7p7eTKQppfd8+37Hf/iiTsqhpgC+qDby7WOGjV88D\nDNuVEVTDOA/MCB21vdGtoJdoNshFNb2S6H9J/uke+JoC4lwF/cLASbkMC3cS\nKpUjf5EP5TGYJHMGb06HLkM0Df/WgIkC4pilpn26znj2Sva7cGL8uqp/zNq6\n62xXikkBixIRYbjvR/bMzSxjDLLPHNbg65pCFd64/x4NvjNoX8myvicnneKE\nnQqr7Drnsg1R/IiZbp5/iDQMWcFeUvWGzRHNqTd66aU4oGtJ3domSltuBSIi\nqBxXaKNfAum/OK9DzFKQt6GuIsoZ2wcQMVxc25bqJwwGdQdYvOJOECM6RePq\nkbLV\r\n=1uy+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n","gitHead":"3d7a5ab45f5b0f406a12a7e52862c74a9158df8a","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","snyk-protect":"snyk protect"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.1-SNAPSHOT.436_1535045711866_0.05627024855977858","host":"s3://npm-registry-packages"}},"0.3.2-pre.0":{"name":"@adobe/helix-cli","version":"0.3.2-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.2-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"76e468bd760d0436cedede56bfe96cb6c9f70723","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.2-pre.0.tgz","fileCount":205,"integrity":"sha512-mZs00yvw8RRAh1LwhDREPkiAx9mphiyDfMOgCZj2yIWIoqRFnMNX5r7zJFbdW7XK1aTA5y9PCKRMpxzskMXwZg==","signatures":[{"sig":"MEUCIDH+nsSpQw4DiDgfzRjhwFHBP0tdohS9pu26OzwDNCo5AiEAor1X9121wJRBn6U3MC/WOw1xRUk0kWvV5lxviD1e3KE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":645652,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbf0HLCRA9TVsSAnZWagAAeIIP/iVhcnVSudrutdjZhLd4\nt4X8BlDHdR9bQ9J5FcIHhgXd3zbJ+VcdOeIoiPKEh0Rb40/LW1bKh2ZTVzx+\nRg7DTyXxVI6ivKBkqQxvdEfpDj+SpK9MslEbhYgYHtyVxzibddUfTpDTeqYV\n23oTGMPD41IvsbifH+CA1OLnmLHFil2Tjd3OSoMgdS7Rf/ijON8wZUSZP12c\nmB1plxpR6ioFRUhTSXKG3t3H71J3fg/1cGVX90L16H42AOfF5dli6joaC1pS\ngsq87tfRDeRbVfiOXt9T1q7O0GwGNX/f5OOUx3Tsix1As4/3dFuXfUsyDPnN\nCWKthNFqVOnQYuZjeO/97q1jq5YO+KfN5f3Tvz2fRcenrjQq3teAegohVaXM\nt6bFTJb7Th84/cdtHJF+yqoBAvhgGB3eaP2gkLN/81IRuX0gDxT0gOCWyE7r\n4Zq/c7D1IQRUs9o4TdnP2V+NDMblCjhSxAvA22wgix915kYCnGRHOWOiaVmF\nQsvQAQjiOZpnryN+arO318Y9MFvVX0Tmdk4piz4hS/76THU0eJeNP5/q8vQK\nN9JSIaSYYIrl9cJ5uipnemuV3cFhZHa+1DFHKloqNtKc0b/kDOhDwUhqd1Uv\nLJNq978YGwlU4bvyaGaMOTauegSMUIeiitmgbgB6yjtmFUKG4vI1PjifiW+X\nymNw\r\n=EKZP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Example Projects\n\nThere is one example project in `/prototypes/petridish/examples/soupdemo`\n\n```bash\n$ cd ../petridish/examples/soupdemo\n$ ./setup.sh\n$ hlx up\n```\n\nAnd another one right here:\n\n```bash\n$ cd test/integration\n$ git init &&  git add -A && git commit -m \"inital commit\"\n$ hlx up\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <cmd> [args]\n\nCommands:\n  hlx init <name> [dir]  Initialize the project structure           [aliases: i]\n  hlx build              Compile the template functions and build package\n                                                                    [aliases: b]\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n                                                                    [aliases: d]\n  hlx perf               Test performance                           [aliases: p]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n```\n\n## Setting up a project\n\n```bash\n$ hlx init <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n","gitHead":"0f4ff880e47903e602b7ffe085b1b4d3f3443721","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","preversion":"npm test","postversion":"git push origin master --follow-tags","snyk-protect":"snyk protect","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.6.1","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","npm-snapshot":"^1.0.3","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.2-pre.0_1535066571350_0.05645048051203516","host":"s3://npm-registry-packages"}},"0.3.2-pre.1":{"name":"@adobe/helix-cli","version":"0.3.2-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.2-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"02d3ee1d64a7be5093a4c87974ffa1f92126babd","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.2-pre.1.tgz","fileCount":211,"integrity":"sha512-6UJYIQpzCQFCElM8/vj/HQL5dqGwcIcco2V8N6p2RPXzAvhxiOLuF8n5TsJR5gtybc0VQKXOR2eJ0AMX+16QHA==","signatures":[{"sig":"MEUCIDJJ6PHv2Ru+/K/TUsZ6BuFisTrqztWC6DMTylfJjCgBAiEA1elTX2qpqiQwI6ddwkYZTzJx37vFCyu3eAh47MhecrU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":783287,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbg73RCRA9TVsSAnZWagAA0BgQAKSemEg+FjbUqvzRcCXg\nvpQeWJjK5ze7lZxuvnvzi94LEUpRLYiDUifcsNyohH/iPQMWTtlVtRk7PzUb\nsDdHC1Blbk2glv2Xkn2zD1oakE+bms6QcZws8UQ2bk06dvd02fmjFyBsEO0K\nO0iMiFdLMwiiatuCnq0eC+ppCzh+jdQHk4Yy1SYRXEXkuSDHCATABHkxMlWa\nMA0x3mwwrdvXQphrpkY7DgCzxxhe55731isSPPXsw7P5AcaiO4lOM5ipeKhy\nW3TjR/N83pb3ZYnFBrzrOeQXqqhf+4FP6a5sRvLo3MZGfJatMRlyb6ttFpMa\nFbeIiZh+LP1DI2FC2H6ydeVW88vSH4BbuxAX6LYRLI/pN8Qa1kJ0lLJL32SD\nwh68MUeRAuwP5nNEa4oHtcCAnHDMeewTgjyK51OLhBRIJtNWwPOd6K19SEqX\ntYyAihqIpeSiOu+joP0d6Ma+4EVQbdIc40UqwJYCjzyinz8RPFrlKcOLaCt/\nR2+xZInlYZAf6bL2H8hZYVT7uJpRBIzM9JphubKkfK/ChJswB/btPK/jYj1W\n7YJfVRXxIHVG9zShgkTPoVo1yRDJmodr6KEz4e1xVEi7dFa9jEmmsc4Lw14b\n+27S7d2a5Jzeffjwagx1YU8+bNHTEsW0YyUzzKJX60h+vvq+FZ87SQmbBWfn\nPvH2\r\n=NSqL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n","gitHead":"2e1541a99b870d050ca93517149fe9fdbd662304","scripts":{"lint":"eslint .","test":"nyc mocha","prepare":"npm run snyk-protect","preversion":"npm test","postversion":"git push origin master --follow-tags","snyk-protect":"snyk protect","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.6.2","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^4.19.1","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^1.2.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.2-pre.1_1535360464972_0.22967817460258488","host":"s3://npm-registry-packages"}},"0.3.2":{"name":"@adobe/helix-cli","version":"0.3.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f70bb3376a987949c7a840d8d167eb75fe44b310","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.2.tgz","fileCount":231,"integrity":"sha512-nl7j0muLi7t6HQuH6HoDt1h2tFqOWyZowZLf9RflSBIaaLs/47PAViKdDF+xGAlTMsQzLCmczy4ACkWGgRSypA==","signatures":[{"sig":"MEYCIQCM3LDsW3pOuwiHnAtqlSt9ROOtdAR0XsAaiCFDGPpOqQIhAMmMheozrI2/sFZpmHB0YXsnsA7Wsbnl3pvmftwlrbhg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1748590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiNIGCRA9TVsSAnZWagAALvwP/AkAr+vEyUt2SxUh7sEM\nw5iz3jd6cyPdL5RFpD7r6JdeF8ET5D6ac3hz0WQqbHbvKwAmUnSjecK/EvTe\nAAlWhOi+nwrn8SuX1LoAaSPprnKOGJYNWv3NT8kY0hI0rrkNNbymzbItsDfn\nt/OyAnSvm0uiVA5dENHJK8T7Go2ZnWuESLvThKQOMIblTsG+EEVBdFD2BGN8\nWqVX6Ewu21Y+w+AxCyv1BG1HJFKH1DoE1EbWWw3JYDadIkA3p1S8Z11qS9xy\nHDpaigrFStzhhJW547Pz3Y6ZCNchLPKnXXgSUMnoKksVP44Q/QmMSZhSyHXR\n24cv4v/3UjGT/tPIXEGChijhxXsMQ40OeLST+D34HOrqscq5xDYIIkdLOy6R\nJsyJgM3zgS9sbKbElLs9dFlNRmkLswgP561aPl0eaS3CmuxytFgq6BhiicpO\nej4xduKfUKC4uJ9wCL3rvuVNYlcNCmKHXHic63UChmUfFurov7rh7ZQrPLxq\nynsBeq8SRk33uo/XsRboEeUcLb7575orz83oYv1jYdDaHpQ2f1kj9rLYeBL+\nOmF9KB8dh5Or6RBCGvnu5NO5PZI3z9pt7mZnLPR+BS1lgaWda4stgRGPJ2W5\n8sG7qE5Dxp8nAYLIetG6nGyJov5w6bPJVy6zZgju3Yx2acpPp8nNlnRLqnd3\nOB+c\r\n=aS0n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"4d4ee56e4414e2f11d9f79aaa80554c7cac49a65","scripts":{"lint":"eslint .","test":"nyc mocha --exit","prepare":"npm run snyk-protect","preversion":"npm test","postversion":"git push origin master --follow-tags","snyk-protect":"snyk protect","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.6.2","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.2_1535693317802_0.017272757569196218","host":"s3://npm-registry-packages"}},"0.3.3-pre.0":{"name":"@adobe/helix-cli","version":"0.3.3-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.3-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e1305057588fc92c744605b536663e3b7a0408fe","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.3-pre.0.tgz","fileCount":211,"integrity":"sha512-55R+hx3qj4ijaSi9lQNbcWPaJVhwO4KiX2BgnPXSDNq/k1qxO9Alw8NVHIl5prYuUHRwtRYEOOjorN+g8hB1GQ==","signatures":[{"sig":"MEYCIQDOkIdSvMrLbH/xkRvqC77W/1sgs4/FUk1ShkeTl5fXiwIhAKXZ1c8KZt2m0l8LfsuYAanBvbdluMFlDIWDQx5D9bwB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":783205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiNKlCRA9TVsSAnZWagAAOSoQAIDNnl4OHVHXHs0slCc+\nKP+dTRPNlz5E3PCwSPqpdEHgt6E9pqByqxzhWtpwaA+qw68qYQZsIcDG5SwL\nXpWWS5jOvm9w2upncU5f3V+zD1PmdXKzLgCX1zMN2U4i2K4U3fdjEJSKsDAt\nPjdYm6DCxwQBYks9gy+w8nRqMKB3Iv5baH0RI4IPyiW4lbp3jOZ8ItjmFho4\na6KU2B1PMuFk2UczWogLvL+iC4OQLaBgs77nJP83RLACBUcCLxM4+HbsY1q/\nvJEcgxtySLbHD8OUGS3gIHWGENiMCXSm1oT7hbrscj4/DeUmO6siVanHaBnv\nCyFYwTJ+AQLTSfG77+bIltj5eOFuLcCiT7GtC+0VgHEkx7sfsJbZc5FDMDW9\nw3KrSrc1qoNu3/3zdxMKW40FBod3XW4Upt3YoyVL0wA8QhGpswjqdHGU3yJE\n3PjJ5NU9TJvfF/kenRU/MVpDhK7LvXFdr2dCjEbo+3JXScjmzdOnD6j7KFRM\n7xwNLqz/HIkKAZYQUufqwJfMJWaVTDnrYR3kK1K0k+iQZ4GPqcpmD6CtEb3n\nQNUmhFKBccaBjklNjcKD+nIfFgWdtpaV7qk+0GXaKigQsRyglm4LiwfrJt1D\nUcSTY9Dy2IRWZqeCUr+Jp2Ql9eXauLtzylOW3ljEGIhJPIZZsHaCXZbMADpp\npdOs\r\n=h7XV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n","gitHead":"4c97f00af81290e12fd58d1b809320146c5bb064","scripts":{"lint":"eslint .","test":"nyc mocha --exit","prepare":"npm run snyk-protect","preversion":"npm test","postversion":"git push origin master --follow-tags","snyk-protect":"snyk protect","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.6.2","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^12.0.2","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.3-pre.0_1535693476043_0.17439208555895713","host":"s3://npm-registry-packages"}},"0.3.3-pre.1":{"name":"@adobe/helix-cli","version":"0.3.3-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.3-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bc8449c6410025dbb3973e6010097ee1f9b4959d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.3-pre.1.tgz","fileCount":216,"integrity":"sha512-SV+8rv8Y0GqcV3Wgy8qbgadaBB2NKWRaPNdSLQNU5EY/3ewFxBzltwUrpfTc9Db+iyIijn3tOsc1aBp0bboHqA==","signatures":[{"sig":"MEUCIG58DGbPtMVg/WogfiSNCOLx7MIO8s8n7sYVOf31cl75AiEA1GihET5xYpo5xBPi/5MSW1yr3ziy/Azulk6RpFP4Y+Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":792103,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiRqSCRA9TVsSAnZWagAASdIQAJYx+5Wyps24yPJLbFtw\nC8VyayxtL8qwbMMI/crbo4+c+nUf0O/mwCaCcC1V6E3LI75VM55BXmXeD92Z\njGSlaPd6QcrNIK6w5+kz2bILn3/aNuGa1odxiTv30djn7WOaSwQZgDvlKepW\nvVB90V8uWIef1SYGPLnAsu0J1ZcK7/yl6YtYhtEiKuy8yWwZ0PvM5az1hMbC\n/HZjGks3XaZhQBxHu7Go5eWsJQchWqKRN+kpgtbOnbX6+rH5U2Uck3vb4zNZ\n8PXlpH5eVXesBFRS5klTfT6luzHF/GSmJHj0E5eIsbdEBGxted5pUVaoEmuu\nqGyE1IRGEUJOE3lgZJshu/wvnXWySXvS62xE203x2ysdmwrek1P9ACqogVcW\nRVSMdzBn7xH2aT/SojuS45Tl1glA69Q32G9Y+klFhqdt85RflgNL4j33tLb3\nMq8zn5VFskmzfwkZuM6fTRQ/uJuCrXLaH+AtQXmyOOrlQVtFu9YYjyU4k0Cs\nBKIIdYYb0waiu/szFEY8TFCyYAixvoEFPliPwkBEaMP0DZPS7KTOe4zLfA/9\nOcwlg7dM1FDc1dcFHAKR0OSQxG2ocFo0I+D1mAMs2ThJJgtL50IlChBPF/Gk\nHsxHwO+TApuOReRq/qcpm0UDC2HIv0og/eEjJU2ZvZNLigOsk/uCtxQKnIc+\nmIoM\r\n=RRR+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n","gitHead":"aae202c60bc8808ba2e17e0ce896a5568a4d4cc0","scripts":{"lint":"eslint .","test":"nyc mocha --exit","prepare":"npm run snyk-protect","preversion":"npm test","postversion":"git push origin master --follow-tags","snyk-protect":"snyk protect","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.0","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^12.0.2","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.3-pre.1_1535711889417_0.5067102087495701","host":"s3://npm-registry-packages"}},"0.3.3-pre.2":{"name":"@adobe/helix-cli","version":"0.3.3-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.3-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a9f6ba8075b3b9d45144144593ef3a2475bb4d18","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.3-pre.2.tgz","fileCount":216,"integrity":"sha512-cKwNfGV6cJqvzH4Xwd6oxlrdizSF/X61rciZGCMMnK7RUusMlU6mJ9e6cBCBs5/xTgWv/wRRR8wRrKGsaweYOA==","signatures":[{"sig":"MEUCIQCNHb5ibQmJxCREv+ITWl6EW4ayzR7V7ztmbz9MgTrksgIgLiIcSOjzc/tmaYyxb84pFprwAkzdMjj3ctJ7bIX4CbI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":769433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjLBkCRA9TVsSAnZWagAAmKwQAI2ikSF6wmHMOM4e2N/l\nXzDe0UEf7sLlKBbml9dteOFftpcyd/0H2zTUJF2SQ0AgvgmijJ2Y9DrBH6ro\nDf8xBUT3gpParl/GU6K3Uuk6IFTlGfrWhoMkyOeAFmVH0VG61q+KYE8ShDxi\n5jNiWaTpqbF7c3W75XoFdw/hgIym9zdFS5QN/6NXdyJo1ZTOcPl7D7TDAZXh\nywncKFGoikgejLC+tOIYHrvPVsR3jVxdbEPqcSu3Lc0POlULUp27GGDzqBZU\nFdC7BLGKDCm/RjE5CGhvhm96h137PGBjymL+LhZFHx26GDiLntWNOaJKCVXK\nO48PzGHTJYf5G3iu36C3IrwL2Z3lQWbIz0nPfH+mdtAfBF612tYlmfbuWUYy\nYaiIvs8KXQpifNqmYuRwFL8FwBLl4+IRGFaA2eU8sCM6MQ8PiiGExKl1zjiN\nOJ5yBDyEHIvZXoFR2SHNwmYGYGg6wFzC2D8ZVP8azyZ9Ji2r80FSmwVyTTur\n2Zg2m+enkIn42rKSUHZauaJpSw7skUd+81ihOKNWBo+Uez8bR1RmkC1kGNOD\nolW9YOGVKP+8sjhj8PQsNeq+r2nvZp5c5xlUAnqky5F55s52qd+ikxJzCA5j\nqLg2fi6Jbu+XqmflrnuXqXfmRdJWJBb/p+2pTxbr+1PJQLhUBqelK3JOPPgb\n5SbQ\r\n=1s+f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n","gitHead":"0442337e772697b4848606f4b0b4a7e8d358ab12","scripts":{"lint":"eslint .","test":"nyc mocha --exit","prepare":"npm run snyk-protect","preversion":"npm test","postversion":"git push origin master --follow-tags","snyk-protect":"snyk protect","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","uri-js":"^4.2.2","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.0","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^12.0.2","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.3-pre.2_1535946851692_0.5155146814902964","host":"s3://npm-registry-packages"}},"0.3.3-pre.3":{"name":"@adobe/helix-cli","version":"0.3.3-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.3-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d3d41cd13bddda3e97eb29c76fa7594f837a7348","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.3-pre.3.tgz","fileCount":217,"integrity":"sha512-A3Khrr/Ckp74z7kKk4B7NGPZnoDEE9uNFf5ftnKAbGAbICeVd6Kd9wEeSt5UBe5Fwe6A9KNRv7aSvEbm4zXPjQ==","signatures":[{"sig":"MEUCICom8JwdjZglhHBO73G9O1qLB3Zb1jv/gkqlF8BWyaEIAiEA4yY7gTAVz0sy3uU84GPvEwizgYGM/h/pp+8UagHadng=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":788881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjPxmCRA9TVsSAnZWagAA+sgP/0AAQ3Rx9k783jgcu/BQ\npS/SoXv/JceK5YrXb/osWuDM37RhdDFVyv7H/mY2/sWvu57GGAsWJ23ZGzy5\njIUDMdNaBvXPsaADDCFUW0PKNc0LaAwSJrAvuHMm4zG8x4hEYBOz046Ad6ZZ\nAF/+HYuN0XPwiMj8NH1MuJGNfSX0ecif4Qru+ugGZgu7hqHuZMLMEo9tYUYs\n1it+fb3WjfE+/RKMCAq1IHYlMH7C2za7r8feLaffdyqGyl3KLmle/DzREIhA\n9LdPoYytEq0QU1jhdZa9xp+O3eDiSwG4JWPyJHdAfbAsc2IGd9cBW2SHzCzY\nRU7Foy/LLpCjiQRYAq9EMHEPClR0+/mngtETJH0kDYGuR/CAfHv6/yodhLfq\n4KVu0XwHNEm81E+i0EzqeMYYf4D6FtjKuNxeogiwTK3w5Ofv52cNYvbZi7l3\nl97h8Im+R7Q2BD3ltiu7tbNxZNgm0sTZWov3NY+QIxHaIv+dt6aDfK+YSK1W\nSV5In5INLAxb8mXLgxC76JNbM1aYgqlz/IMrDFwav0JqTFe+W9Bh7Gq4px0/\niAC93TTJsCbi7fKoHEr2RtmYve9DuWDLafjZH2J6tl8aA7scjBdDosC8hL7u\nlRqlu10UmCuP47ftbcOrpiG4daHMxMbCR+jw5u+eGwDV8cx39UfovTVq/3hi\nTG9P\r\n=OqEv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"d654e49f2f2f75ef77790a64096c3dcae13334d9","scripts":{"lint":"eslint .","test":"nyc mocha --exit","prepare":"npm run snyk-protect","preversion":"npm test","postversion":"git push origin master --follow-tags","snyk-protect":"snyk protect","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.0","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^12.0.2","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","lodash":"^4.17.10","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.3-pre.3_1535966309061_0.32471000044696297","host":"s3://npm-registry-packages"}},"0.3.3-pre.4":{"name":"@adobe/helix-cli","version":"0.3.3-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.3.3-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ba440a09475d0e4f66d2eb3df49a14b907f96d0b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.3.3-pre.4.tgz","fileCount":218,"integrity":"sha512-IyO9mLJGSppwVjwXbEcIUlZWeAlqfX/J85Caro5U7ozXWul11flDIYWZHmBjnqugknwn0qUUMXuaFWTlIRLydg==","signatures":[{"sig":"MEUCICFfeLavIzWgln17eHfHw8qiryJ/5C8K3aPYsF2TsSJ0AiEAkaGUfQ/EWaszrwC/+u2tInUcJirLao7opCLlqPFojoA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":802447,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkIoKCRA9TVsSAnZWagAAofsP/31XiJvYNeTI8x0rB0nh\nnUzXuk6eJOtoRjDC3wbBeoDyVpqpOQYnINpEJeDHcNjNt0kHiSgFlZhe8KV/\ne1309vZq8N1ZG2kqWSir8Lu0cDoCVPgWlIO4hu68jGhpHvdvF8MHWmt/7T9w\nIkAoLh1LLEHVFqoPSXd0hGmL9gR3Brm3kiiEp0BSr7ZNDBGZy4uwbdshYMwH\n/zDE/7guzjhINIBFZoxplHZ580N6M2vQjaitIAtn/QAD+OdHQGj+MeLMXvad\npzLORZ+kzNLHpjAFgGqMTG8tylPMPXdD+nkqFKBcBMnjQfSxuVAwqdOHvVZS\ndwQlxzPI+SZ6M6CqETvX56wlQkIsjrBeUe/w2KH7YAQ206JWvXwpuBah25/u\nXGbLXpIlxuQDmJ11STIzRQbsJn8/ZdabTkkQoOlhJN6FN4lI+votyZMJLC5p\nMkuyobdzBUIb9mGVLAKEZsAkp0gzLOQCePqQlVyJgS2WDbUze46KlNTuwFne\n8QWCzZn5O8NFeO53lKO8/4gYf/boWILtBmRKHg2gC6g49EPAdLavPk/4zHTd\nin+dvlgEFu91YjkklmkPcUJjomcoAYqU0SUrYCbaXArOETPojNNxSZQ/vnTp\neunwuorXA7krENie5TWsWT6LWEDSi233iZpbXQAguzoS94LpzzYB/4zh28Og\nO02k\r\n=D7Sf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nThe static content that is neither authored content nor code are made available through different \nmethods to the CDN by distribution handlers. The distribution handler can be selected during deploy time\nusing the `--static-content` option. eg: `hlx deploy --static-content=github`. By default, all resources\nbelow `/dist/` are treated as static content. \n\n#### none\n\n`--static-content=none` : Disables any special static content handling.\n\n#### bundled\n\n`--static-content=bundled`: This is the (questionable) default. The static content files are\nincluded into the package of the main (`html.zip`) action and subsequently served via openwhisk,\n_abusing_ the main action as file server: \n\n```\n$ hlx deploy --static-content=bundled\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    - server.js\n    - dist/favicon.ico\n    - dist/bootstrap.min.css\n    - dist/style.css\n    33037 total bytes\n```\n\nIn contrast to the normal deployment of actions, the handler also includes the static\nfiles, as well as a [`server.js`](src/openwhisk/server.js) which is used as entry function for the action. depending on the\nrequested path, either the static file is served, or the normal function is executed.\n\n#### github\n\n`--static-content=github`: The static content files are pushed to github. By default, they are committed\ninto an orphaned branch, `helix-static`, of the code repository. This is similar to github pages.\n\n```\n$ hlx deploy --static-content=github\ngit@github.com:adobe/hlxtest.git\n⏳  preparing package .hlx/build/git-github-com-adobe-hlxtest-git--master--html.zip:\n    - package.json\n    - main.js\n    3702 total bytes\n⏳  Deploying git-github-com-adobe-hlxtest-git--master--html.zip as git-github-com-adobe-hlxtest-git--master--html\nInitialized empty Git repository in .hlx/tmp/gh-static/git-github-com-adobe-hlxtest-git--master--/.git/\nSwitched to a new branch 'helix-static'\n[helix-static (root-commit) 0bf3051] initializing static branch\nTo github.com:adobe/hlxtest.git\n * [new branch]      helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\nA  bootstrap.min.css\nA  favicon.ico\nA  style.css\n[helix-static cf5a206] updating static files.\n 3 files changed, 10 insertions(+)\n create mode 100644 bootstrap.min.css\n create mode 100644 favicon.ico\n create mode 100644 style.css\nTo github.com:adobe/hlxtest.git\n   0bf3051..cf5a206  helix-static -> helix-static\nBranch helix-static set up to track remote branch helix-static from origin.\ncf5a2060f6de5ad0b7cb24d964974c563f5e7708\nDeployed static files to git@github.com:adobe/hlxtest.git/cf5a2060f6de5ad0b7cb24d964974c563f5e7708\n```\n\nAfter the files are pushed to github, the commit id is written to the strain config:\n\n```yaml\n- strain:\n    name: ae9f783fcc2039fb\n    code: /adobe/default/git-github-com-adobe-hlxtest-git--dirty--\n    content:\n      repo: hlxtest\n      ref: master\n      owner: adobe\n    githubStatic:\n      repo: hlxtest\n      owner: adobe\n      ref: cc4bb731a4e48b1690a37292e798781c67383f3e\n```\n\nBecause the strain configuration is available to the CDN as edge directory, the edge server\ncan directly fetch the static files from github using the respective commit hash (`strain.githubStatic.ref`).\n\n#### Azure Blob Storage\n\n_TODO_: https://github.com/adobe/helix-cli/issues/60\n\n#### S3\n\n_TODO_: https://github.com/adobe/helix-cli/issues/54\n\n#### Codeload\n\n_TODO_: https://github.com/adobe/helix-cli/issues/57\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"706344429c3f551cb3324febf0d52fc039bfde03","scripts":{"lint":"eslint .","test":"nyc mocha --exit","preversion":"npm test","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^4.0.0","openwhisk":"3.17.0","object-hash":"^1.3.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.2-SNAPSHOT.68","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.0","@adobe/hypermedia-pipeline":"^0.3.2-SNAPSHOT.74","@adobe/openwhisk-loggly-wrapper":"^0.2.0-SNAPSHOT.35"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^12.0.2","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.3.3-pre.4_1536199177780_0.8547159644184008","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"@adobe/helix-cli","version":"0.4.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.4.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4dbae9b5a9552abcec1b026658044b2391b3e99d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.4.0.tgz","fileCount":230,"integrity":"sha512-33qJ9FIyAZ1X/i+5Y6TEfpCQK0hjeKmlKDtriU7IDO1NdlvBk7ZYlnLANRQkY2WcJWrWHpCOau9oW8zVxjWPJg==","signatures":[{"sig":"MEUCICLa/ra1cdIerJFSBoEjsVZqcLgv//25eLB+7aUOTUWTAiEA4S02MT22ZeqzZlCcxrivAIba/viVgs2WIJiOPL81zNA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1818670,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkJFuCRA9TVsSAnZWagAAZbkQAKNN3X919jLDEnuotDpM\nSE7aE7HOKBJp1YF0kPuZ3/atyV9dpb+EZx2JDKahUwE3v9UFDuEJLcrKphm/\nXRUrBETfEixpJAz0eA4zlCJHL2ip7C/kCSlt1FCcjrAhMgnKpuViXQI/POeA\nWQC6w1VbTBd5j+5/2khs6zLlqsoOaQtmzcpwD6kel0sFkTwTW4nKD4hMREt4\nU/8igcNNvaHJ0qFOmep5Wd+08cYkAEwuHOfWMuSA8xL7a8wYYGafJUoDWt7j\nNjAE4o8s9zUj4W1mPxprTS91c+8YUhUycfSjC+rTLSjg5T2tjylT9x/MtnTP\nDoyVzj6zMWtAYu5V84aDq/G9ySIPaPr+8gXEwJ/RGcAOqdiABrbp3yJGpSs8\nJZ76kYCFX4mbpvTcRN9sbsLEIetJ+9DpOsVJMke5Voddwy9TIipksKpEas7v\nq0qQMbg4fhjgnCjf7a6mWjlofxgnBpEkdrJ8qTx8KFvbnUdSXL0NOPQqoTWv\ns+ZdDY+rECZ7NjdgS+VuWwZt40oKUTioF/je7gZtx9R4gfRI2lK/2bVCmrFk\n0YvSY6pl1CL86elzJRxbsDzxJ1sREXr7BxPoPkguwtDMc7Bek4oe+KWL1VNp\nxgXqnV30E7SlGTLh049yZGovIX0sUASgWZOfumKwWHLKKAYNbLY0vIj0ULDQ\ne8Fu\r\n=/5YY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"b400618c306db311da6e0a05462f0027980954c6","scripts":{"lint":"eslint .","test":"nyc mocha --exit","preversion":"npm test","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^4.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.0","@adobe/hypermedia-pipeline":"^0.3.3","@adobe/openwhisk-loggly-wrapper":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^12.0.2","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.4.0_1536201069825_0.8856209030168698","host":"s3://npm-registry-packages"}},"0.4.1-pre.0":{"name":"@adobe/helix-cli","version":"0.4.1-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.4.1-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ae1a935b575e4c4891d6d2c6de05f36c5fce8fa8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.4.1-pre.0.tgz","fileCount":218,"integrity":"sha512-xWPGuV/+dVCbLqnGsHaZ14D58IFyO19o0JCrhKFFC75ljChzCtzE01learwIUT1mseJdCkbhPVe78lGg1737GA==","signatures":[{"sig":"MEUCIDFX/8tF3v2F9yl9Tp4CgvXm6xHIWapXq9Xxs1jhqNMtAiEA4aKUW4jQCTNLR8WkcAzbzb7KXuBi0tAmkcYk0bMO9Ic=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":802925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkNmPCRA9TVsSAnZWagAAsYEP/RHIEQWzeqVFQhBUz6Y1\nS8FgrLc+LthN5dk4ik+OjrCFOb8jow2st8VN6sUz2pQmYCdt6Neq7Qn40JZT\n3xJyNCNGF4AidyUdnGgaHe2H22ILgsoWMbF+/reBnZzgbRF4YEFijsCXJg2w\ngQ0i2clxJ39cq+HI3rAsFP3FogGuV6UW3rADscx4XxC6/PhvcCXfLy8Jp1y9\n6NRmILpl79doABwC0WDTNp7SCr5dSHZ3fgSAZVAMWbFlPAGofd2TGlhGFfQq\nQiO/p6qvN53hxVdodciu5VWVr7Lm99zSo/9KhDhPVEj01CFTmQ/X1DmT/mCi\npi0sLn1at9APQWHVW407GQs+2P584VD7+DkFIK9qd6Uw7RStBKzTu/JCcNVX\n1MjmTDEBKAVOphAfBLFw2bVM7cOOwEwZd7STNkPgsAzhP1IluSj6S1zhNr4W\ncON2up6CqPl9avKcpOj7lPKQaxvIrXFqBMFrXfd3cBzbAkx9WXtbTBWoGBgO\nIofFg+pGimHteAyX/+n1gBIOJ07yWyUfb86NHUpt9sN+DMiF17vI89i1Qc2V\nzCC5ZoDzN2CHCNjUq2vw/Zr7dufjiklcjlV29/SOKhoq0wD1utSDLS0IFGWh\n65S6Rkgw2sUFMjnlRfx9Dd+T0ai9X76srCQuOolrU3l7e7dIXpvNBnMsyMy/\n+QEW\r\n=L/UC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"dd85f70448f6a4bcec52f8ae8a69c2c802107b3d","scripts":{"lint":"eslint .","test":"nyc mocha --exit","preversion":"npm test","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^4.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.1.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.0","@adobe/hypermedia-pipeline":"^0.3.3","@adobe/openwhisk-loggly-wrapper":"^0.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.4.1-pre.0_1536219534740_0.040050632039836165","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"@adobe/helix-cli","version":"0.5.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f4495b57c7ca8cfeab5800a46e8580b515dc88f5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.0.tgz","fileCount":230,"integrity":"sha512-Cv/nuPirvq9dFZKuviWY9HjT3rYQQQHXuFR/Y+QMMxd0Ec1VMt7zGdyYJuJSO8oaAOYfN2X/NMp6Hx0WI8zp+w==","signatures":[{"sig":"MEUCIQCdOYFIEoq+SuGa0IK1zGkRkl+hrBxg3u/fHmdGeLvVYgIgO2oRYLg2o2ImnVeuKKbTnUa3JP28qv6+oeU//teQLzs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1861252,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkNzRCRA9TVsSAnZWagAAfnYP/2kWQvpa4TpfyH0pY8rj\nNoCoYb6cJLkaQue3+Kj9u4/mvdAYd79K/3PDZ2H65Yr93WtUxkermhbvxwy3\na51l86zjyNNG6KdsMop2KY49g765gV43G6qjOQmrzNhsn2VIHKZeUpRjifCV\nuiGyuCOISErc3gnMUiH1X/44tbpYMicZ2PZVnt2gKY70/hfmUwl6h9ENw9vv\nIvl9t+0Q9fxz5UROfWAWGd/bB2LHEpo5U0887ZGPNZihAPX2ui4rw1dLf2uO\n8NGGyvPjxuozSHBfpQs/CXfKRNjCn0E9R6IBbp0EVPedmpRTs0jaP8GgMTi0\nB/lRtxfEf/pXCFluCoWyd6tXmAvaNCWuCxVnPCRfEKyP5glqYkK/VfBhB+1k\nzOodZOGRWRh1EAzW7hcMG5y1VP+RT2I/NroL0T18fM4GxAAPMW+Shnp+DAl4\nyoxfNJR3+XUO1dLopKl/aUYQTKvnva3oRSFDlR/0hprnUnOwG5LQaebq3dbz\nqNNj3SHnOZqXBpI9rKXstZW1FGr7zmC/c/RaLYK0CqoqgET9ZtFJPMvi23hF\nazz351UaI3ZOUnFt7Fy+fktwNOoxUSX8d1LAu0e3wI6bhGFTyKfu69YdAueo\nXQmnXcUNChWk07PAOQF4n3wmsH/+yLaFfDeoPTG8pNZq4Tgw0zpsrtYbF/9J\nfDAi\r\n=0Ate\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"9f8fffb54791b9077ca9768f9faf4b7563b15887","scripts":{"lint":"eslint .","test":"nyc mocha --exit","preversion":"npm test","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^4.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.0","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.0_1536220368568_0.6238091364385954","host":"s3://npm-registry-packages"}},"0.5.1-pre.0":{"name":"@adobe/helix-cli","version":"0.5.1-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.1-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d2e938eeab8f791431bdee8a54f44d4a8fe6595d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.1-pre.0.tgz","fileCount":218,"integrity":"sha512-cY1nTu6RIDIt22ESTHBgbSWObGKL3Rz7C9uFQ/CuuFZe8zM1EDRyRNHI4gcAvRPA2EF1dbL/rQK0Sdl/5qhlFA==","signatures":[{"sig":"MEUCIATs7VS4KwE+94ITukgNsGzSTulOnV7nUOhGMackKTXiAiEA2ucfmivruv4Bj/jEiEXSGJ1bZRB7s1TCICuIsqlb6kk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":819154,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkN2oCRA9TVsSAnZWagAAU/4QAKK9c6HMbNNUhuXbAElX\na4ztv4KEjbMtKVuCKNEsoBoY5jVfYj8SkjMmgxfVXzbfBfhHab5QFyTAKHuO\nmaIbIn9MFHDPnLOf0AuBPlRsHImwUwNDUDd+x6XqoqFwPxaEw4JIZvSxDIW2\nvsCddPeIJDYL0B91i+fUcwj/MZjFZcgNEAO624lV8jb1on3EXiNFg50G5suR\n8IDHRlg4iHmQCQ+rjTEa+jig6wZLyDmvEL0lQfkYg5XEwQFXLolvJvaMsPjE\nOrHD97znjXUjCKXCZp7SLIAqkdHPWHfdRqwnMJ4Qem0PqHK2aPW5Kxd8Qe4L\nfP2DNxxvgL6vr4LrImBwMEy72MXCDO7QY1SSdsk4SdWQE4UDLt467t4O0Wew\n/3rpdl4xyMgpQXERU0IgQDeWSOssg2xTZBsrQ7chpuDkXbBk65tbR7uuPzxU\nhYlAZawn2E7tXYH0pFAyWRPETNwJOjoe/8b/BzR4YsgRmMxTRvj6DwmXJrui\nsX0kLkQd/hTcZKJTNxyYita9CI1cnfaJJFP63JFmQq5nL78DgEOR6o0/v/ir\n9nqKMzA6n3JwYZU6iVHkZ8kKISIl1HgOAborjxFcCQbhoSWiQUlrc8BcoDgW\n+FJFDSvJDcosPgwGj65rw6NYFaPWp0dlIF0R/hWqDkHr09d4W9dmkekQ6UUn\n89Ei\r\n=PyvM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"2d71fa0c768a2fc928cae07ce581c9464676748f","scripts":{"lint":"eslint .","test":"nyc mocha --exit","preversion":"npm test","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^4.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.0","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.1-pre.0_1536220584207_0.6794146146320299","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"@adobe/helix-cli","version":"0.5.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"fbbb4de6cbff7efc45e763aba3331d4b9f38cbc5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.1.tgz","fileCount":218,"integrity":"sha512-3E+36raVNP0sbq40KfoNs7o2MQoYYwD/60q4ju6FtZ6c3XEtO//p+HxXZguPewIQld9G5XuN6pnADPlUxE0seA==","signatures":[{"sig":"MEUCIC3JC225id5399/IuOJpcbBuqIDgfExilnPCxjGv4JGgAiEAtaXVnFN510z6jKKekkmxharPRJiQR2UPrlJuOdr1XDc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":823604,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkS+NCRA9TVsSAnZWagAAMhYP/Rc0C49HKSy3ZFChikEY\nYc/bxsjqIS3h27sLL2SWGtsT9w5z+PG/GyH5WMEIZjSVXmQdAYlwi/yZI5Hv\n7ZoQe1t3h32IPTwcuDN+C3Kr5+BMfw4VIoHzZQSI6V31ivSS4U0qQZgoJgyp\nItk5rvFxip3Dfaf30jGy3z7axOwBXorst3bdmlnAdSXOM1DNcRzlkz9JKxb8\n5S1uibk30oaASXSzhVPuko77iad/Cmk+MQz8cZoNyp35+dXsEsCpvOswC/8P\nsUiDDQQsHshXDAxnZLrAECWQZyot91LejOPSGUmxICIRFojOsYxcYnQCSqgm\nOKoqedPKQXpQvlJ1W7qROXXZ0ckCZN09ZWy+lCKJpzAzNo0TSkIpBUsCAQZ9\n2H1I4zp1saUXJuPOSpEtj6EY1eBL7PDFST9+VoYGVhXMrbXd0aZl3CrlLiKN\n9z7USjdpNy+03SM+jwCLXzle+Hr8kDU1ZWldAz/Pr4QyCey4+VDdABeRw+iJ\ngfIY+UZs0EMW7EwzahY+VcTxtgeb3W3IWUzghseQRcyrdMX8OhzVRJ6OGQZX\nk4m1boKBZQINhXART/QkzsfXty8AwJLV0ssCA39baymoMr7317qJuAoofmCA\nwNuoi8/k01d53Ep/c6TjUQKi9HFIfUgA1D8EsPDDWCXmyLUjRZBZ9I2E6/dr\nIEwC\r\n=C6jb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"dd7706d879dee436d6b4efabb0ab54bd8b353735","scripts":{"lint":"eslint .","test":"nyc mocha --exit","preversion":"npm test","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.9.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.1","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.0","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.1_1536241548434_0.3012227995331347","host":"s3://npm-registry-packages"}},"0.5.2-pre.0":{"name":"@adobe/helix-cli","version":"0.5.2-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.2-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"eb4e535440a754ffc5d2fa90d2bafe4777f1856e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.2-pre.0.tgz","fileCount":219,"integrity":"sha512-mN+UNgIuX101UjeGVaeMLiTOLAseY3tIb/J6+v4YCrXTUt6iTma+tki8cq09fVkYnNjtMj3Y4xk3jgv+7xHI7w==","signatures":[{"sig":"MEYCIQDTiIL0xaPFstr74OFZVudRD2gwDuojlkpIxzlKpdks7QIhAKI2PngsdlqHtxwZp22pHDpD9wsJ7OB9JkBvMME36QKO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":820254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkk/lCRA9TVsSAnZWagAAQaQP/RPTbW5XE38PTgCCq0K3\nQHXggjMsi0t6AXq7l0H6CY3U5gqR8w5F/r3TR5feYrbafe4x7rYaBooE1hWz\nCJJoH0woVTnISYsm4rWXTprBkrBiFdm7MK7TmRSAqwFUbdjSg2bPfZ4/jUnM\nxpCUzZGE2pRaDVUB3htOHpaTowXETr64djs0REwrYB4sa+YEVhvsXvEIhMVS\nO0eiOiwbj05EySV+UnGaXMtgnQg6KpXLb56zaHS2RV8Bgr4BjYFNpUUtK9E5\nRxZc0xPuM3ILR9d1le7LQoV2RmxXAVKXEjZ/7BCFHl3VbeFH/Vfkrdmv9NqE\n3Oc7LMcLjutYOPg72eMHhJvAStEd7tSqMpoj0dgMkU5ijEka/ZRnexnni2tg\n6oOCrnsfGK7X6UoPnL/S9uxxoN+FkANbOX9WEYWiWBZE9CCShdwFfZJtfToW\nMFlSj8ui9uFeatTgh/IYuBV5g+djb+S9cvAwEjxmIwt2O8DDA/FCb7HfXNYs\nQzQlCf4BqiYLXYwwDGCyj8UyamC8oFDUuGbMpNMM7/63rgf4wM53ID9YE3ud\nS71GVb7mJmX3ManEY37X/pwgzoC0UxDwQJstwKU9odjFKbG7ts88CdiC6vIm\nossWWy6yRl1eAuY7TVnxKXfVdA4oaI8l0pNtlv9K0UQ6nmst1bxLYjCwJ5Qo\nH/xN\r\n=4zS2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"46366eeab980b73dc1d3532f209d2aa3e7df6fea","scripts":{"lint":"eslint .","test":"nyc mocha --exit","preversion":"npm test","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.1","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.0","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.2-pre.0_1536315364343_0.7117375645514676","host":"s3://npm-registry-packages"}},"0.5.2-pre.1":{"name":"@adobe/helix-cli","version":"0.5.2-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.2-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a43bfd60a15137b41445095886eb9714769d6a94","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.2-pre.1.tgz","fileCount":219,"integrity":"sha512-lRZl1y6jAxS6cv70JDUYVyA4e+YpLiZou1xwxOOimfc+TuWF4LuyRInL1PCEdjb4li+LgHG2+Kyf408Kk516+A==","signatures":[{"sig":"MEMCHzf4AAnblG9xiIJGHl/BEqXR2RH4R+FTzOttg3++FyUCIHDehBb4mbZXS3gf6jxmLcQLT0CNlDkkwmG5Y2pBI/qs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":820691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblZURCRA9TVsSAnZWagAAy98P+wQNm2X6y0NassVx0RqG\nSwkUGqKzamTVbGed35cZLNho8gcp4ZmHfFR6e4fJzw5OmbvslwLT3px1+xp5\nccGg1qPvuo4pYAfTWiTb3yZGxpirTKPbkaaLfsqOmrqS9M+ad71ayNsyiPEl\nrcKlu8nuUHqv4Cvo/XHAcj3E8cmpz7+zvAeAxeYi6fSDf+ROerNfYicz26Ea\nNLKXZ9AIwh/dWHaf7M6uGCrY5Ptb74n30P3PZNSNsRZChnsPpyQ9K549oiNn\nE41ZuDwJAdT8zIeff06ZidpqPoGSoGVcS9PnwEPGHBBx9KggA2p1PAGabyyl\nVyj4CBE/viOYM15JypfXy9y9Mx7Uu6Lsm+AIu0S/6P+yLaItrcGHRNRHkPy6\njBRISwkd06XVb6RHnmx3SipjMeT84gNGPsffwM4NuN6fE8vbsIYAks37eG6t\nOsqzsStPrpfwc6RqhTpUN6CcOyPOJ6Rq/dtXD9dLmmaoJeGDp5XZ57YAvbX6\nodBBkrcoDEOF1ttNcBe0A7wpFIkL/6DOSRkyIjcsyWTvPTtJT1qCW9ryuVod\nTPekTvfb/H2GVtKRFjzt9z/isOJp5vAAopNEb5lmnL4ExMY0GNuufPFAFBol\nJRXrtUXrU1DN9WULZti7fjadFM//+e7+2q2GhkeBVDy8V+0MYWWC2g0KBTTY\nmn80\r\n=2Ibw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"f4a97a5d966cabe97d32c650e9f4d800972ab37e","scripts":{"lint":"eslint .","test":"nyc mocha --exit","preversion":"npm test","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.1","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.2-pre.1_1536529681019_0.4899278901544184","host":"s3://npm-registry-packages"}},"0.5.2":{"name":"@adobe/helix-cli","version":"0.5.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ccdb7743b77fb9110da2dc81b3d3e4cc793701ac","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.2.tgz","fileCount":231,"integrity":"sha512-WL+aNAjEWZKvzbFXLpcl1wPzvyHKvoPUJIbWrOo9TirxWefWVD8uAXQ6kGByhNV1TYi4V5hhCH9uyuuAIHR5Wg==","signatures":[{"sig":"MEYCIQCQZO7/qOY489rvNGfsg2uCofjDrhPAHefYkkGBV/dvRAIhAO2iakgeR6GXCDd2pJhfOqLyxwGd4DHNJnfvfeenV/HU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1865809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblZV7CRA9TVsSAnZWagAAiv0QAJLYVySIvzgjtHb/Eaoi\n2z+AG50Fu/Hyu7rdP/6EUtg9EOd12cWruQSPXTEdHG9nbP0zbuNCAfX8oKMX\nRz7cmXwataFXrKw9AsRYuz1AnyJMKKUJDiPfCsmpD45JiBnpjfVKVYb2R1+J\nlCd/enZ8czxmjOC3jGzCwqT7NQ62NeJ7IP8wEbab/SazAkJxZb/xs1EfgJXm\n3SK8obI7hd6F/Brxjk+F1OyLBfJjEwkTRfn2AUkYxoFQy+TQppLrhTqnrOCQ\naj7rlzYcjhTaQ1UdaDhU4AqaU+if+va0FqIJg4i29zSuTjo4Qad8rbyiX0eL\nrARvnPFCIKG7zSdgHkAPJ9JBcmStAnTD6k7F7pv48qTguOLNf+h89Etd/W5L\ncXQsRRy35qwpCNLz9AB36VMU8dJwHvXhczUXfdDENSzz3l3W8RdhJ5iWrIqx\nj3ACmk4vdBMX0z0w5OwNkIQB6CtWexCVNLZTLvmbq25//pJUEyY/87XnnOAI\n6KBTlHX/nHl5dTD+WLKXM6PGZ3kfRQtRb1wts06XVv+oiLZKIOKhN1fHH1ET\nwnSD0kpRFWIv4u8Go99X0yt7iGU8DrmNpgLmTgt1yO84OL5Y9V2lVUAf69NM\nZXeQpl/SrJlj5tLA3k7C5WK4jlndHASIvWT666896BxszimqmkgUq/9JN9Wg\nzguG\r\n=FSXf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"008b6f475ef405dcf40aa8b69cb547002ac3ef60","scripts":{"lint":"eslint .","test":"nyc mocha --exit","preversion":"npm test","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.1","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.2_1536529786354_0.1949562009762813","host":"s3://npm-registry-packages"}},"0.5.3-pre.0":{"name":"@adobe/helix-cli","version":"0.5.3-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.3-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"97b0a76e9459a939a9c77a8d63cb3eb032b73d1b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.3-pre.0.tgz","fileCount":219,"integrity":"sha512-npth4ZVl/1KZqt0CJF9+s4h1bELpebU6dNT+ySZWE4BYnGgyNaf+QCXeK4oRkQlRkLNuLZDz1XaMBmLduq7wZQ==","signatures":[{"sig":"MEUCIFD8L8JDt0m1WJUAdJ/ZUT3+kR0oGugBNV+U/DJmLpBuAiEAseVHacUIIkySG+WihG00bOEvk2JEAHUltZF12JqjKnk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":820679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblZZMCRA9TVsSAnZWagAAfc4P/Av3+7eoBUjMY5WJO/0F\nPUCAlggOpmAtG6S6wr6eM+2UdvfNgdR8jh9CCAKN8PEnuQJYb9O7PmjLYlWL\nMcsrz1e5M9LNtv+807V07u+LSoHGE6RjE0GpD8+46UqmoZzuKlzLCbdKxPc5\n6v3A3C3VwIyufXbjCnXhCGRPM9eQ3j3ZtnCRc1lwxPVZgDzLNMZ1fUBPCEQ9\n3Pm3ok0fkOizS5gRqkTEkO6cy8zBy4Yf6czo1G60fLcwj++OyhXdX6V5SM+T\ndqWnOznAGyJn9gPHixmH5yVcSfbAQyozNSvKxzbjjPFzm2XFdTba8N4AX364\nZMA+uloEA+cJ/VcD79gOdNS/l+E4Z/Vd2/loDQZZDwwVCeMq9Hvddrfy7Mxw\nELHW94OZFRIO4S/rmeuEHKA5X5o5hIaz0EyH0o4P5BVOoSSJDXyS4Y+zjsin\nbv6nqyKou4NVCKG+7OzLDghnWnzMzRv0sT8Zrq27+jPD/HQ9ParSSE9IZNKv\nsB/K5sfhE7vLAHQ9wG76Iz/TFmPWwwQsZSzfVX3t9AxBMvl91MtMYgcKEkuv\nlIOYxSxTfVuCvWZU8luGhEpX06lPiIcgL6iiE4KeG3lf0eTeuHUHC2+P1rbU\ntZD35/jHLicPGLdNrfCplZ4gUB8Q0e+y2TPhQ0frCDl0x53jx35vWczTVASK\n4v1a\r\n=eCNi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"f434f34fee579a573eb7871e7abdbc2aef02ec42","scripts":{"lint":"eslint .","test":"nyc mocha --exit","preversion":"npm test","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.1","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.3-pre.0_1536529995698_0.9655151729380267","host":"s3://npm-registry-packages"}},"0.5.3-pre.1":{"name":"@adobe/helix-cli","version":"0.5.3-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.3-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7030a51b39488541a04919865b3ce10726ff813f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.3-pre.1.tgz","fileCount":219,"integrity":"sha512-u9QGUCWd/P6NlhOKY2vPMoK1dQabWG0VMy0Z6er2ZpHFLTNT7vtp8nKWcpaQEWhHwzYV+kIxuxC9qYKFn8rjeA==","signatures":[{"sig":"MEYCIQDB+z9zU8BIQZgF1oLJZEnOxRAveOl/U8HIb85RoLk+NQIhAMWWqoUv7Ex2tVuTRXvTMVj3Z44NjKxtOf9Ar+czh3DA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":820757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblkl8CRA9TVsSAnZWagAA5QYQAJXvBrJ4sa81Mk7IRb8g\nsm/OkEyucfObNEAAscDfjdIBrOSvLiZ0PmtiPWLeHZVrva2rMxppYQ0N8xME\nBrDHrxjkR1SQkfuXLHtlqaQz2z+Vh2GLubdeShUs828QrPhCkn5nj8ddBAVV\nN+QM1yqbomPIlPFr6MTVYeDNj0toWCA4VB09qAyps1KGL9/VVyXcncXAVTx4\nBF93tldnZ7lq4x+IOYxFdm/K7i24oIjnYxfp9yX+mOLM+H6EHd6OHG0gXrZj\nIDhIJyofHR5UQrUUiIWon1t4UoEjrq1JZT0rplcAJSlo1y6eWVVXVoRwORxT\na9xRF8v5Dw99GAEN+KjyDVPq9idR+26DnqeknOmJfCIm06+D2GIWZ4+4rIWp\nygqbMY5DP3FxOLWG2M5aC/B1YWZIjScpc7i3v5TVm2wL6JREpzvNDtKzWzDh\n5WCq+OqNVT9UjqHN12egcjh0AHPKAS+D0JYlTEITJJUck/0EIUiN+JrQPWVL\nj7uz9nIPDbaVtVDzcpuMxhx5RWnMJy0O4/oagJBB1HJ+ImqCjc4rg8RclXzZ\nUutSK0ZOhSrdz+h9qy5Hu/IFYUnOlbZ3go8oyfWhh3g5+gN07rOg6oYOa/5M\n5OwuA1PDozO2aaifio99YCLbm4QPF5lYKlJZbFCtcCi8qEV3HiEjURMQ3WcT\nBOhk\r\n=IzCx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"8f1b963a99bd27d179fdb7cd8de13fcdf59cd888","scripts":{"lint":"eslint .","test":"nyc mocha --exit","preversion":"npm test","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.1","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.3-pre.1_1536575867508_0.2785728618920782","host":"s3://npm-registry-packages"}},"0.5.3":{"name":"@adobe/helix-cli","version":"0.5.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a512da28e5669351865a24bdf9424f4bc60567d4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.3.tgz","fileCount":231,"integrity":"sha512-vifZwcAKOXm8qG8bAYYxp2dG3pKtdaQDEyBnvvHf6C/vUl6jtPe3P//bWCldwL1uJ/U5xk+FHAG/N/G4eMSV2g==","signatures":[{"sig":"MEQCIGWzEIKBHwpyp8XRDBPjj0CneFcpDuZaMh8ABFt2GJGPAiBVQWwlhgyzuyOL/hewYpyAaeGuqkemqtGgBHAmC6z3DA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1877806,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblkq/CRA9TVsSAnZWagAAvWwP/1O39Be5rV16APBMDzK0\nZR/d7MggPuLLC8gn7Bo7nlVlGifumfXxrYwyBDTQrh3K/DNm7wqLK86vG4F1\nX1mBSWD3DytmyVZInVrx6xpnZ0NmKE3h8XEdmLsVcHFHxfKv4I/8cn5L8gvT\nvt4UsQP10PSHvSXtYjg6GIvHlLftO9fRT4RsRBLmmXl2/nqL8NI5RJvWDq+t\nMx2O2LJ5OFWummvlXvTfhlyPRlRGwoeTPDLj3c5xrtPXGL2bmGMGEXyd4iTZ\n8DXZAWFHGfeW5Ok27+YU4abeOp1x41yHWQwD7BDnnzwHFrupFCH3vEfo4pfT\nyiXprDeQz7/GNUFCqLyUFjO4VtADH+H92+TH6NGucB0ktJEJ+69A5Vj98f/N\nZ6fkTmEpXWZIRrN7q882gQT30nfJxKanU14AOWQn2x9gMzr6PbW2vMQd2ooY\npgHkniHl5Q9ZPv1bJY5Lgr8zLdzYoXNEKCduTXIiXxWkpUc/UA+EMBqnvoGD\n6l5Uv/JbgkbgCDl8L1H1OQsLknlmJBCfmp+GFizHUBFmUdxaIGElonyGySfT\nA6LeK1peMWhTQto1YJBGN2Zo1/YzGnPrfrtjRf829a/MyfpHm3wOVBkjlxXs\nVhZzb04/Wf2a9Lv9U/fm8eiXXbyakD6AP2ywUVaiTqIZbTThmoc74+o98sKK\nSU43\r\n=OJNn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"eb47b5cc59f8cc8945efd6759b763fccaae415ca","scripts":{"lint":"eslint .","test":"nyc mocha --exit","preversion":"npm test","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.1","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.3_1536576190941_0.7947263038289927","host":"s3://npm-registry-packages"}},"0.5.4":{"name":"@adobe/helix-cli","version":"0.5.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"058972a41324987718a59a38ed2e32408a1f4ba8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.4.tgz","fileCount":234,"integrity":"sha512-TKgg8rXqW/QvC/epecrb1mmd502vPx4GrrlHZS9HcDsHCNFcaarwP4moG26SXn6SpPxONHiOjgVygLVBE66dFA==","signatures":[{"sig":"MEUCICHNxrMjc7rCAXB0I0lo+FWDO25txpc9xtpANYJIER7VAiEA3WKpHaOmSGaUDl/fQvjrcnayT5V9A8aZVT8yI2dGdY8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1882882,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJblniOCRA9TVsSAnZWagAAH8MQAIVED/iD+tlsA0wTcgUI\n5savPe2dX9Iy2Jr4gcBJy6LQsyLU0bK8FP0XBa4cbvKjioe0GJLsKCO219qu\n22uJE+X7Oqkmr1wtS1N1iqCFhShQie4l0p2P0ZvMqgHGcPMhr1Zrssa8aydp\n+z8iniIUZLzsv0KCDOrGhw1x0q3SSN6SJp2P6bS5AodU1bu3cx4teuxwNF9b\nK88OIOh+eKpE40Swh8YMPI+2S6P/IuB5rTMRXk8157kNH1oaJVCZnDGwIGSn\nbAM3+7DDUvm8G4qRzdLFEhuRWorsGDQ3Y5KLO9v3HSokgMk6vPGhPKl4QPIe\nYvirzxj9e+qfbzE+flP8nvieGPvIn/H1bUCp29tdwIGlirvI22j5pjXH6193\nKmLDmG7EhHJFd1zXzfHMAJBm1Wo1YovdIwY9Vkvyl0+wvNZV25WntghSCQHz\n8QwcBuYgsrJ5RqmoIULVN6fmFR22gg8oOAz9Q7QRhh144YCXLOfIWtC7X6hu\nWIsjyYEjRay7uXGxoGGyazGKxEUxItJLNGHjEaCVmHQ0DhKjo4W9MhZdc+iy\nBxK7HEkv1+CpQozWpoP/UV6BACyqVgWJt9qLAYO8lNx1qUWlwrLtB0wbTMMJ\nDHf9D8tFtcz1M5dGPbFm03HQWnwvk8zmnu6Y+JHRhQiGRf1V9PKX5QqAnOGZ\ndJ+B\r\n=EMF+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"93e03a1fb007f0a65d246d9764d174e40706653d","scripts":{"lint":"eslint .","test":"nyc mocha --exit","preversion":"npm test","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.1","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.4_1536587917353_0.17241810062113738","host":"s3://npm-registry-packages"}},"0.5.5-pre.0":{"name":"@adobe/helix-cli","version":"0.5.5-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.5-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"39924330fe658450ec26e644c740aa24492529eb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.5-pre.0.tgz","fileCount":222,"integrity":"sha512-htGOXIQLIc3I5Ij6h/+TXh8PV4YPaB3CHGwWMd5WFy+gWRYg4+vHntYeNRbzQ64IPUHL5XR5aj91eoBn3R494Q==","signatures":[{"sig":"MEUCIQD/jx8vWIKyRo5ixdCIC/v3eb1ytx4JMAVfm2HSjP2U1gIgfSjj8g6DRPxdgd6KLNiNab+0tMSvwk33+dKr6jFGDEQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":824001,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbl20YCRA9TVsSAnZWagAApL0P/RmbnN3g0FRo9E2oDPUR\nxyEiuaHRrHNWxt//LS7/+zF2rBNTLjlo4/i7cP99l3+oCLv1fsM1j+y7ZtDa\nLu/Mh+cs6EXHu1jnfIwQgWO0avrvMIVx5KeBt0JvPeCl8oMRG7gHWsWjpQuf\nIZ7VDiUhO6BGIfx4jw9XJrbR2mG/Q6C01xkIwJOKKkE1pckzT4aGeYzand6F\nVI8lMQutDbGKbneAbUviRs2usxkR8pYRkSQhKYet3gmuNp49bqZ+MRIcJL3B\nKvH2lDHjDk2isNYn8VgY5AQi7OEX+eEhJTMra708A6ekOku9ApXHJmKsDgI+\n1dKqWcdL6prPkqm4rCW7WkuKO2kN6TjELKk+mCCM27LqNlER2JXRxCo+8y87\nTxmhk22zseEdAiDZ0l+p7xr80uBav/mty7JA8PvLxCV8BT+utn6pyXEZCcsD\nm+J8r5RjUZNXpddoJ7KSps4BeksK/hslinDD7/e3/OiycpiFbSn6vHqYRWq/\nlhwJ3Rxf/+sgOW9TVu8+iVICjd6VeVP5CUWyf1kdCJOuhJrR8WHksZ4fKbdu\nSHyw+32gxI6W3vd7hGbeE/uY5hqDtuEIS5Og4p9Zy96dKz0egRQBcCV/DuQS\nPTOAX+LcDDqCstlR1webRJfrlcUGafU4H5N+9BmXsjSEbpdhGRx52nGSj6Q2\nExSd\r\n=lNEU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"03485fd1f8b29fbdd2d63785fd92d45e9079db0a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","preversion":"npm test","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.1","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.5-pre.0_1536650520078_0.13787954220838072","host":"s3://npm-registry-packages"}},"0.5.5":{"name":"@adobe/helix-cli","version":"0.5.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"20d6c271cf0567cb5bd068dd76c869c2e073fd61","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.5.tgz","fileCount":235,"integrity":"sha512-swQo7StHV8x/R2SArIrV6vORKcMZv/ybLumODdajV+yK44IEVzN+m38aXVQ5RQfCEXwLkAWo4JguAiSi0KRN2g==","signatures":[{"sig":"MEYCIQD2FrFc8ihN4fp/Ua2IwfcvP85fZ89AV6owkvY8cyFebwIhAPYIlPGtqhsindF8GSEiySOo1BrqXWQIDbHoqUPP/9xn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1919009,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbl4XiCRA9TVsSAnZWagAANLMP/0tk1/z4rQE0gEVty7nE\nGQjbUujEHMoHSpaSTgClQJUBn3cyXBHLy4yYycdU/wbSaz0xNHI3ymGgM9tm\nTYdNyEWC5eVvmHwMK4r1hT3T6o+I60mih/2tLLU0Q9g9TVu+XnrdnHPhNJrk\n4HXig9mDoyJYvpsubdldFoNWYJ/Oxc4TVxodJZ9peCu9i3T+auu7LYwIWa19\nvpCJC6dm1+UQkIUNzXqUV7hPgx5bmqrRV9OIG5sd74fKuPmSZtk9gf1aRZaL\n/qTt7X0TuwzhD37NsU2f2tnQL7hK7KDERJKCwJrWLAmioME0kWf9+G9rAjIG\n9gVU5HU7EB+AwAmMHX4AjdNblKx3RVNlc/Sw2KNGprhxWykGcfjHZlELqV4k\npLtNEUq3MrN+I2ozlIin4VTbv8whpufgo19mE4PC4pxNy5HsOEzhZWKaMaEc\nSjmpOffKmYXl/hkMbL5PmUOOinh/W2tt1dZAYT0gz7uUJp6F1EDrlKY1Olul\n3shV6y71Kq1eq7k6Uk4puJBw8myvnNuEDyK6wb+w5LdeaMfQ0xnp+6NbmZCs\nrhbS91+hg74ff1KFu1Uo5yFrp63E6jKZR6/K2HtInmZalLolQMpPNZOuDCco\n8sOxZ4q3oB8W/V8U+slTO/GccoEjmbYHnY1Le0s+pWkn/qz69XHpxN0VasWF\n2eJp\r\n=WNcF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"d1612be47cb6e42df39a2508298f0a1ee0eec589","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.1","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.5_1536656865940_0.1591195937960408","host":"s3://npm-registry-packages"}},"0.5.6-pre.0":{"name":"@adobe/helix-cli","version":"0.5.6-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.6-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b6570d4c4424164beeea3419e7fc6287447f0486","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.6-pre.0.tgz","fileCount":222,"integrity":"sha512-cqClmJuSuut1BM7Q0z+311/h+/I5Zzp+wbn55aq3IOUYufuD6qSiSwLNhkcBMFwQcdHEzY8vkKobdkvStnsKZQ==","signatures":[{"sig":"MEUCIGQJ/qhlDop2jLhmnV62VxOpSZmJg+Op1HkVQeSiT8dLAiEAjTrhoDLGIHVIrmbyvpyaEX3R0GYutRE0UqxTKXNYGLw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":824055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbl4acCRA9TVsSAnZWagAAW8gP/0KQcEWM7lPAHEsKeRm4\nIIZvtCjKyVk1JKC9m4FtqsRGv/ERBZ3/q2JzCok44A+pI89I8RPxiJ4kJrQW\nSuiCmKob2snRnJK1t/BpGIcL9ti/gOf5zoGbnZd8rU8og9fCET2DH8Xfw68N\nzCiBBHDTkVBQ3TyvntD+mM3qw+Z1FR2xfe4LI6WNc7jaQy30tYIe7nrnK3Q5\nER7APY28HvhnTfudcPrDoBiA+/9o432eEsfrvJA31VmwQqL7We66lFb+dsC7\nDRQKa/8BFa7HlEFU04j630a/CE5355dyq9k7LGfuNvW64s4B9Kvqg35hqChG\ngRjzsrw9qkdmmBNrAisOa1Mp7ll5qAXA8YHwNq/dc0+KTSU+3OnyXfEYUojM\nqhafz2BXNzyztZ9BPDc1Y9bT66Ti+Hd2j7YzZ2VHBVOBPoYTS1kfsV9eRINN\nXZXc3NSMuEcB/0Fh4CgzaklfmlF2wU2ukpTFvF5E1cAefTNKvTM0hiGedQMD\ns9J6lBYNXrr5j1iBmDkCAYFvzIcC09n8YNYy1sAIymCnZNnql80/OjDMZE8o\n9p9NHOJE/GAnSUuX/4eEzLEVNnJYBr6C7+d8eohqp49oeUj7SRJ2MnHu6BmT\nkz2M19ZRPtA4XKqTQWIH8XlmJteRvUpIRr2UqSouh+iklfT+2+7RKEj5OloO\nTdBd\r\n=zkNP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"8dad4f1b2ed3e5fbf8be32e6045032ea2a125379","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.1","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.6-pre.0_1536657052052_0.7977373580354123","host":"s3://npm-registry-packages"}},"0.5.6-pre.1":{"name":"@adobe/helix-cli","version":"0.5.6-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.6-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5b5a3e15ab7cfee52f57b4240fdc187113cc38ab","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.6-pre.1.tgz","fileCount":222,"integrity":"sha512-R4Vh9+tjEv7rEweFUy5ij5omQ6DSWcI95QhHAGVCgVu+u1AlVNaZLLm4lcS1PILZeSotW4YC8ky67+QGJ4sAKA==","signatures":[{"sig":"MEQCIAqHbG5KFsmlsDAJ4tTadYL0j18RxRiEbbS7caPFp83SAiBFmMq86p3SLx72LAYoiGF7oFOA9nWmEG6SnmN+HP8d0w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":824068,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbl4qPCRA9TVsSAnZWagAAsJQP/R/d387IhtPIIvV8T3jc\n6751B+RikVVNogFWEifWPxBsAAD8EhAs0z2qHKusIjArIF8u/bsX3hOr1oun\neC/fsvxQZvTWk0a2ngQXKeR2b+BSSQDpPZfI7oBZqx/JVoiiDMMtHKlgn9gj\njd4u7NB8cJWQ9WstmQKnH4jg9x3ca8WcJlfQAv1lqizfodhBuR2nclrzA85F\netY4dqQIehSP3d05LsRmIWejKC+KYpKUiczCWUdmzzB37GAB1MeA8moE5qBs\nc2trvCHAUX3hoJm0sfZsHIurTNBfEMY4Cin+gIkNDN1u4F9Ha/wD7NTBuZs/\npgZIDYd8bIsZySilKY6NWH1HTzv/T2RKWei1fxi8jT96pDE30uJe7AwxhlR2\nL8Beunsr32FaZx3ZuXBjCNaKh2FBM6NRlFzkhh2C56pEOyxdLCp7gedWYBzR\nqVlffnj/NI+M3q6Gf6lqoH9K0XNTeqkyAPiCf++ZL9SDVIpTEeQPzU/35WXA\nfqktWGVu9eZM7nSIqHq0cmlWl67X+K2i+B496Yye8BlDNtM4RB5xryMcxbTr\npMI43NDPEZB6SFoz+qPHJwo39cZQ6bKSOh4iwVcWxjmnw1cTzhuaIqSZBEvi\nmE1rq1f7zUJWtshwbgAyyYLN0ZWAkcrp2Ao0A1OSmqyjUaoh2yZ4YKAody4I\n7gvm\r\n=8c4u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"e8c355cff319af7e49105a0f1396b99d7e113359","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.1","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.6-pre.1_1536658062861_0.7613266421025149","host":"s3://npm-registry-packages"}},"0.5.6-pre.2":{"name":"@adobe/helix-cli","version":"0.5.6-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.6-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c4b4a888e2bb7fe9a11d8edd706029eefa35a96e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.6-pre.2.tgz","fileCount":222,"integrity":"sha512-GFsYDBl0JCfPQUOVaJUUNeBbQsf+egs9i6z/y+yEtiRjDGqkm1tKZDmJOZ28SaPoBHmwX7cugoGAXrQNEs6tuA==","signatures":[{"sig":"MEUCIQC8pUqd44PA7nWCDsYOi3GLb+UGwSfXi7TUFOytAfOJOAIgHOBK/BB59QTSKHSpBtX+8im1AU0PjEe7oGLO1dIyslY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":824284,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbl4zQCRA9TVsSAnZWagAATuIP/3mhzmQ5r4k8CblmVgOK\nPsnBjsdRkfh9bXqU/HeefNBrizlIomnc4d3LGTuH0ZY+ESanK/GXQxLcbXb4\noRPBWvd2KHMhblZejxOB1zJnXSQDZ5KtRBx1dFfXT1wLOuzdDFbQVMZClrX+\no+OQ4D8Kq3LZfigUOxBVwWPSsIMz6xPs7bIuq66olvacIAOb12qaRDf2ZKO3\nJRPQHZc7kss4nkP+uGBF/QYq+2OVGyFYdUJLi1UdnZYhybgBKTWeiieQBbxT\nYoEfl0oMQQb7zj5aMfhWK9BGwyj8InuZ+htt7F1+DzGavTYuthZPoXOYlc1A\nFHz3n3nPoZYARxPkjUkmTaUvuqAONyubLa5f9vd04sQK0qpBguTl4MyQd4qI\nRKF6Nj1rfuGUF3YT/k6MMQ6k3emLFNf/Cj9Mp1923YBkbtT8l+PFlgjYx0Az\nJREtCyd1Pe3zzpq3Kv09nmADcBe/hurd4/td65IDuo4MMcRpF+ujcVicESNF\na/QnLlvQjZ4HQSglfwKQ7x6oV3rGMkK6SBWuJcn8lhTnWVePECvo8TUDeSjF\nM8jMPO7UqouBPGj9vudfIB14yqwTsDJXDXD6dbI8RjtY0+xQ12RiyaAoxWbt\nrAPOTQN4XJ92UFFzPJkITk9vlz9nb1ygtkzQxcxlfcK3vV2xnMTOVVofe6OB\n1A3h\r\n=fyLz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"6654735601961ef31d3255dfe39a009a7c5b7307","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.1","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.6-pre.2_1536658639476_0.3176967920902878","host":"s3://npm-registry-packages"}},"0.5.6-pre.3":{"name":"@adobe/helix-cli","version":"0.5.6-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.6-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"cf7b2127579d5b81f0cff21f566d4931e9a2cdcf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.6-pre.3.tgz","fileCount":222,"integrity":"sha512-+oX6m8M7OYpPmY4qTo2ZtTTg3dtoY+0bYIELIbfNJpYk+XIk6p/86KzH7yLtfcb7uMNgRmfTg3212J+Ilp9WNA==","signatures":[{"sig":"MEMCH12XzjwCm5RiVaynlVUJz20ck4JiqNoqIvlh9Tow+OECIAOUTlZnb0iSKqu2GX3G05htdLk83KcJXepsAxRVFoyp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":824416,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbl8wECRA9TVsSAnZWagAA5SgQAJz2w1enqmGjDYN5i/Fb\nEiOZLRFAwEJs/BCf8kMbbDHQazo3POLDDacXtxnwzNgh8FGyNMgRcE5HFHpr\nIRyovKQQsBEwp2SaOzIVcnwMU/Ew4r5/WoxuUDZy/9RZObc2iICMUMLko8sR\naZKMXv5rtGeeUmMWQk9Z74HWImp1BZ4vwNUSGDqV5cpOVmCNwZAi5I3rK6l4\nT54k8bfvubhWPVJ6pOgeizA6ImH5dYX34gXk9UtVBmg/3tCgs8SqMX/6daPN\ny7Vu/N8ytLsLHa+h0u+gkpmvkpvvqFcxAKePuIfYMsj0WX6s2HqvNhRADw+p\n/G0jwdCRAl8k1Z9heyX/ako9+jGefo9fPTnoduycyAwrtZSsQg5Ki+/sRid5\nC0VcNjcCrk3nNtytZTODJlgTXHL8enuPYRm2IErj6yyhFCQxknzXxRDMMGve\n+Ji+PIg7R07YHoSB1KfIeQZdfMrK4RlP5pgezJEpcmDotz7XiB/UrhRXOzSt\naTqqplC4XUIfuVPfQuUw4wZn58fPb0svZLVobWChtOgdXWxhcPzCJjIU9bw+\nC6nKOsYrBYywH41/2ZoHx7hS2K/SGZe5ufifjr0Ixhwo1f/NqwOyZ7gQ0Q8w\n6qMUBjR+bup4CgQh76sXLDpdJoQ+GxOfVzwnkiGAi60MbOFoq5N462Sp7Xiu\nie/V\r\n=Qep/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"af542764948a97bf54bb0e478e6e6c191b6b3df3","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.1","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.6-pre.3_1536674819669_0.11940583135881822","host":"s3://npm-registry-packages"}},"0.5.6-pre.4":{"name":"@adobe/helix-cli","version":"0.5.6-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.6-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d14eedebe76b48c21cfc4473e7c61bc38dff85e4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.6-pre.4.tgz","fileCount":222,"integrity":"sha512-shhzNae81y71L+fLdsTnHhBQNQ1IlK4Or/rYTHD9Rb5ULjU6s79DCWdKY4Jir54Cj28ibCZ8CI4rZXBSw4+uzg==","signatures":[{"sig":"MEUCIQCK3s3GKkmXHjsUPJflbQ/tHvy0byEpPIjydSaz7h1qGQIgR7S002u5oimyImOfUH/hLaHFnMWB/kJLivYsyLRjA8g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":824698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmMCLCRA9TVsSAnZWagAAaeoQAIRPShrw84FZFhj0saMA\n2M4TzQKMbZEDhMV96ONs2j4lnOvQ+3GxUeLJDPzwOLZSV2vWZF9imThBZ2t2\noLXEvufwq2CVyvoZJGbuO/jMJguTo+bUfpbSRuLIy/vrZ1UKtp3SZD8YBDwO\n3uzlUS0k4mYFlAE23iYzil0+sZ6GEkvXE7tyrqgtHfuqWpHG8P1h8ij02agD\nU9yYWyYWUG2mW4Yrb8O9j6XDdOJn0kkiA/hSaOaXaqXWj9WgvHEqATeyu2/d\n8Ep3kwC06ANOx85fwMghajRy16bZh4mDZ/jBzap9A38xMhCsMaZsGKP5UwAD\naJQvAYSYz3SiSLql9knNlcc2HwH91mYkldUovYpnvMxLHfHHRb2zA7R7i1VO\nO2rs7Ua9ZawuPPRTFgG83cKPCqqpZF2mhfF4aXp29H7O/UT/B/f1zq7ekA0J\nqXto4SNeph1W7mO6jAQIneAkj0bHD/JAXEzqdH42+UqAtLC9TUKecx8rzjRS\neF2JgC3OGan8T945QVLlZkHjosKGUkNo88hvruP/bdqTX01o+zYUJHCazwSy\nSBJ8mExXdM2ZT/6vu68o1AFb4gRsSn8yYMksU6gsvm9pDVSPYxIuQ/Xt+w6E\nA6B28Rl+7mMePen9ag/h/UW9TbTGdhqOspV4gSaveJmz7e3hgKXwF4jki6gD\nzz4Y\r\n=7HzS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"7741694a9c530ebc2db8fbe37cabcbf88128a904","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.7.1","@adobe/hypermedia-pipeline":"^0.4.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.6-pre.4_1536737418385_0.7465693247990668","host":"s3://npm-registry-packages"}},"0.5.6-pre.5":{"name":"@adobe/helix-cli","version":"0.5.6-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.5.6-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"60074108fc7260dece75484f06a280c4654658c9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.5.6-pre.5.tgz","fileCount":222,"integrity":"sha512-rqiWaFXtipPKdF5+zBiqc8eeUkae+OI9X+vJN5R/hgfMuP5kIQBaOMLL8oTO+z/A8AkzGd5p8/OfbDu7oHD9xw==","signatures":[{"sig":"MEUCIBSQstlX+V3bgIcY4B9FUoj0yVCpJ+VxhXlIjp9UxGlYAiEApdy9zGVB+wmNzhacVU3NXC3hXKQuI6N/XUfHEFDuNvk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":825873,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmMItCRA9TVsSAnZWagAAClsP/1zgkmq+ryMWExByA2Oc\nGFXNRP8NQHOhvoVf+ptCymWomjmOcGbxKIR5feYj7c9XmF3EC3jZ6JYESwQB\nPQQEv77inQh1WTa0TyvvDx64tMcxf08VTglcjLWCdKjOKSY/Vg2v+mR974M/\n3xuxRaxyTqCsyRjUAl31qiTfzy4yKyLJ5mpVunKUwnjVARRiTuXLY1lzpWa0\nQ0aR2jhPtaEQtt1lkltNBt0Uv836YqM2k2iql0Th9Pkw3ENdOv20cbHNv3mS\nGw19nbWysrfPj1V+wgeBn14tWKdGQn9N93PJ2ZjOcbUGPTrixxkkMsEqeis7\n7Zr/iPWS1MCzxdp5urAJC+rwVO5nLGPt3JAhuWWRMoLgw2rXG/azywj6+Hpb\nlykaGDcvzXMx78Vf91QFrai37INp9A0ReFeVLtdSbgXMrFj5gn8jhrhaOYp4\nnV+TNh3AuRjXnwIIIFACLHgahxLi/99Ub7kSAUj38TOEMXz9n96Y2hLjg0kp\nnvPNDdol0cmuq+YhVqQM/oazhDYglPO9m3Qx5J5VtdqMcEtgVdfsontR3SUg\nsSP1etRWunbyOrXSviHt+VR93up4JVAgPon12IgMPJeNf1WPUA/NKhQv8NoQ\nuLLHr6r7QVuV9n0CTZEV0iX/0eE5TPdVVqLKJ/GBVVvDNBKBDwZU/Pl2qKS2\n/xUm\r\n=2f2L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"16d90acd70e344036c993cad121a565d08e6687d","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.5.6-pre.5_1536737836879_0.7677146196889815","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"@adobe/helix-cli","version":"0.6.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.6.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a6ccef1982a788cd1b65c5766b8e6c6921850e2d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.6.0.tgz","fileCount":235,"integrity":"sha512-dlU98JTCsLkctCDiZwtMVd3W7UveH438O9hWQnkiwj/WzxStDc7MTEMfwQXuWw9MUjh/YerXKsB8DhUIEv7nXg==","signatures":[{"sig":"MEUCIEJH8Sx+XO48s637Rh6wKOnDMfb1yYV4JowwrgbTW6WVAiEA7pB11sjRKw5EyZ2HBTPqEaGndZ37R3WMnDCn3WKOJlQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1951777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmMkuCRA9TVsSAnZWagAAz0wQAIbsnkCNLKzqMB13jmBz\n0cBZR4FW/yiX8tHc+xOCoIPudsAjGiJRultvYuY9j/pkgD41qnKqP3WHGnR3\nWVdEXN8C4E1jivYTpHoZaFDSBw5ikuMyHFPcfgB7QLWbyNm0P4/UWY+g8HCz\n9YQj+UJv/R8mYnjcpfqdT6xLv8MUH4x07WS78qf8yEjAI3m4M/s4INfgFk6a\njF0Wc4K1mQ3mZUSE+rFaVykaEc1qpuUmoRKhxf9fBdQPN/vjfgTaWMvhYQFw\neLj3nlPKvf3HujZsOO0o0F4ZTIfSwpICAOubE0d2rLZuES8vDzSTkWfjGyJp\nREAUbIO9r9h3ywzYx7suc0e5H2UF+e2pPKf6YiUkRiXx9xG8fRIcp7Y61/RW\n8WYD6ylelapl2M9GSew2FIc1ON7JrbtP869oUYR4ZlfupT2nkVSgAcMoi76v\nO6eqBdY8TEw1ghqvBlMAZJOcGEmck+tK4ioEYwdSpvIhLSJsM9PM2XUpuZ69\nlyDodKGhP0Y2txxYSk3dx1dFLdDuLSmDS8nspJek5l1DIlovhnc9dc5g+cY+\nA/EEH5XzmWpFGNAOyCe7fmAvuM8TxdtXlI0x824BvYQB/xrHQfRvPtwhrQmH\noYT/um4+fDASs5Yah1qj6XFfXa4SjkbFFjJqx2RtIcjuUFirky1oEoRujmvz\nnFzV\r\n=k/S5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"4eaae5603accaaa196f60d27b6ecccc67b722b66","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.6.0_1536739629993_0.2663278864599905","host":"s3://npm-registry-packages"}},"0.6.1-pre.0":{"name":"@adobe/helix-cli","version":"0.6.1-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.6.1-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"760d2d518ead2450aa1b4f87e515944c4eb28716","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.6.1-pre.0.tgz","fileCount":222,"integrity":"sha512-rbVcrZZv7OtfQ0aMU9GBA178/AaNj1YA3KQ32OdLKFjEoFjv9mQ5KJv5WAvEp5q70YmcoaJRiN8ehEC9xsQCfg==","signatures":[{"sig":"MEUCIQCqxhmURLaGTIgXx2qCQKfOyXhh59Rh//Y0qavJRX/fLgIgfCFq7IErI5r9m7GW3XuOfY50mQl0Ke9HwOCS+sbFUSw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":825861,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmMoDCRA9TVsSAnZWagAAwyQP/10DtTI+gwQwL0u6p1To\ndHwb497S0iHB2P8/m4+7rJlsgNrXC2yQqloYA6pp2G/XfjbH+vO6JtGEsebu\nG55ysB89NTCtbYji9OVZ7XRPgrOEJ5WYLsWwr715Yw/qKPYC3HLlobbzkRok\nVi9uQcbHbaguBvB6jkWc7Pykv3zlqhtb6CXv2kzsXONVezstHA3q2iIO7OU+\nTAfaUoUZvXMayYWFrS+jspiWu29FgLq6IA+wMCIJ9IFWkCO393n2/xwaiKFa\ns3vrWdMuooIKHkwxj7+ZZBdsnUv7QJqKDKoUplLt0bHC3o4oEgbIXZSX/7E7\nZRQ+cz7zFPAEUwnggUuS/nDxUBOKCxLaDr56LgqJeYRjcKbQ4699cfm5ve7Z\nRSh3vctXXZ3ghyiLuHOnLfWSi3f0Azcwv6A5CxgD+tVjKvRsMeLlKLblR60x\ntrFRiD2px5GO+mLaSk10m6H0m3kf2uXfDKe7/Gdehp+Vu+2xSNjKsGBaao6l\n8F4gxq/xCRfRq+0fqaqjwmdeHsemhZ1sVZKp0WrA6g7q85Nz0C3zfgI/z2tL\ntwoGsFnKR1ts4E2XID7pvlXohUXMb0mVn++9530vYIY4ivrXjGH0e3+76Mr0\n+PDBY/fNiW46QUGMgeHNIMSK7MN6S5zcZR3CyPTt0kDXhZLeD6qYRdjUAAVj\n9R9e\r\n=jDu+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"0e825539aaac0821bde1ffd6b8610814166b1975","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.6.1-pre.0_1536739842059_0.8742573850465885","host":"s3://npm-registry-packages"}},"0.6.1-pre.1":{"name":"@adobe/helix-cli","version":"0.6.1-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.6.1-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6eb64a174d7f8f07af34ef6ba4455f67616c0485","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.6.1-pre.1.tgz","fileCount":222,"integrity":"sha512-T3b1eV/HQnrK+KLy3VCbPkqn3AVPQGaINp+lfR6CtvvXj6RXCoIfw1PYE4YpvOJHF6UyntoAO44ekpTLiShNJQ==","signatures":[{"sig":"MEQCIHb6DM9MKSSGlE/LfQt600wV15xTNue1mUgOJidNDgmsAiAwlOX15kxBmhjrelclxtHh31QF7+/TtR6e7fj4Fc8HCA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":826242,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmOdGCRA9TVsSAnZWagAAkoYP/iDi0Cn+9kDnLDZ9iwg5\nThOvMUd8MYPVdgmD5xrUPgNcyatorGGx7QsOthMGa4R7cMA78QqPpQ/1j/08\n23OguOWVcBo4rVL0b5VDcIN9q7Qn0fnCB7rES4v+V0Tv+zUC6s/hJirlB8gh\ngHWyf1jBXpYyZAbAiXmIv5RF6a4fk7vc5G85vDMv3CrzdLAswlsqEZhLZKDW\nD/njRttysBPHeYDRnCTcUiBdhvJj86Z2Q0C3RYWd3h1d25CVPEDhIHm66V2o\nXL2pabK71XRI591SfvVuCxj9RcYwNfvhuPhVyNI9PMmXuP3ArCA5ENB9HVss\ndTckd4eHfNjzNtVY/hU0SuMLIQKuY77w/O9mCUKWn9zJ4PMGWiNPrghLajD2\nQq2Wd1OKiTYY7nhAVbUZN6bPRV+sAjwz0xemHCFOe/4ndV3CR75Uznt9CXuj\nvlhcgGrvOiFxz9vTKWbfWpzVD5A7qRTRFOhZltmpKQxvEiFGVb+PgTHgtMzi\nqF4ASOTcZbWgSYIGTKWGxMkAqzNyXFR/PpSwajSpFmg+7eYaHg2lvrqk0Pzl\nx4qZgXVQeEvRu+mhYj7F5GLM4zJNSGEQD9cmMj9KUaCfBXNtnlqvoqSK8nKl\nXYBPFrcGnZJeZS/t4zrNRchn6FV1xwEINBgH77PSJGl+VVsKMVrW0tJgAnuU\n58Ez\r\n=SyV7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"5efd8c91b57dea3306df1295490f6f17798e6440","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.2.2","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.6.1-pre.1_1536747333064_0.19964719351692506","host":"s3://npm-registry-packages"}},"0.6.1":{"name":"@adobe/helix-cli","version":"0.6.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.6.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a51149133883b64cb879a85d627d94526540d7e4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.6.1.tgz","fileCount":235,"integrity":"sha512-UTSiY5IB1yB98x/eic2XXzbZttGr1pzbJjDvy0f1Sg7sO7cbT5LHDbcQnS9ENxvpFldsn+DyCLUT/5kEqEHzYA==","signatures":[{"sig":"MEYCIQDIfiwXwk82V0GoBLOfoySnFtskbGBdjLzLhMrdT9VJuwIhAKfpA3PJRpJ3hhgNJW9h6DNQ3P0Gqh8XLtTTG7vLQ06v","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1955396,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmhJpCRA9TVsSAnZWagAAkA0QAIBywM1EySflgWkZC7fn\nw20+bqzqPRh/1Rx2ZGkrvmipdG53NdK2xS+W/i77m4ZZUYql5AQ7pD9jx0DG\n+lvuBtx2+O74/h90VEpDravXov464+bC//4vx7Sc72Qr20g7UjT9nioU/aYn\nHKlkYkl0FuKj0FNJc17Dw4wgFbpwGzcoOFNxDqDcsc6bjVb8ajHd4ErlhRBb\nU0qNqBch5MfpCDlH50tL88oFSTfHzh48w+R0C4ZgMSqQnF0MT9/bWc0up4Je\njGNdR7Pf6jVT9TzdBUO02B8PARF3zzkyhm3b1DPT1z2DnPPYErBdSpt53LtB\nbBOiizGvQo+cVNOXHTZdJW7lMFYllnn8gtT3eomXk253UHt5ckHCTSa0sW+9\nYiji3iwyKxQH1RA1EGAOXzgbnGHrdhCxf9Q+jGDls5KL6c2ziWNSO461heSQ\nSZDSAUIgilHlBOFFY1/yooR/GV5yPep34BtUUBPjX7bDrNNnm4u/o8IgjmeG\nLwD0bahD0UJXFHnQWhHRXwa1gL7dPXOHlSgJA49MezNUr5g7+2/7lF3t6sfs\nqcCF+wfjYyT6lyjcf9bnWKZExmIVUZS8WDoGRCXZMWJ/9l9D/tB2K8A06k6T\nON1+1i2OosFwP7lz7knfAWh26KNAtu7jW/bi6v80DKggejduKY325lTzA4nU\n6HI6\r\n=fwcC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"bd187e732315b8596d86c713c6fa710445e84603","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.6.1_1536823912431_0.4947839949478563","host":"s3://npm-registry-packages"}},"0.6.2-pre.0":{"name":"@adobe/helix-cli","version":"0.6.2-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.6.2-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"80a0acbb603ae63c9defb8c7da84ce19ce02d9da","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.6.2-pre.0.tgz","fileCount":222,"integrity":"sha512-pm9CZUQiaSjvoeUcCry+1KqvOisp0WVXTNI5MIw/M3DkmBCRtO5JXV46C8csah3lJKiqQXHx+m/LLThTordUPA==","signatures":[{"sig":"MEUCIQCHbDCjmiAErrb14EV37oZ5Rw7arsRi2En8tlGiFOUlpAIgVX2vQuEIIDUcuC+KVwBLrLTygEF+Fqw2dHGAMST4ynI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":826229,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmhMvCRA9TVsSAnZWagAAxg0P/0dxIFDpyNobKI+MUwAH\nqawH8r0UkdToJ3laYyqsKyU7ElPZ/VuiaLUIOazYpv9DwwUEzLJmc7T0Nkx+\nAKHMrFBBJuvPv9WkmQNedSkQUG2XNEyzqNrrhypzwqqu+j87Uq4dgLpi0p8H\nu62+eEiu104ZZ4Z2dEfkaqs3cUuiyFos2JeWcZpof7ryrSJiEqyGetoSYLuH\nqBSBHs/67MydGiPb71Cx3thwrZIXf1wEQzwvIQuLLcO2vKsWV1godnt8CypU\nC3NqBY1nL4f19oXxU6QjKC2iu7ErxGXWd/Mw7qkYk3swa7c1WMXBcxbgfUiV\nGun3K8SfuIhcLehI+BWtxnjRnynSNlToKE5LZ1Emf+RQGN5OEnCZHopgGwJP\nkOHTnxtLHByzIScMf13+IqpL6D6tJkEsXfXBT6O/kKnedzxKQ9d9fG9UvebK\nbMvHrmVZdFfloXQCKYLhBF0h6H5ZLF5EiZ1xUkr7gFHKgwiFoZtM0z0CjOak\nHfKA7UtVKccRPjDtx2JePUdNVvNpcoQLlbq6ASalASuRwvr0JoHHIr4uAR6v\n0cC47pnR7fBUiL3/+HwJxnTLhULwI18EpCyNMy07UX0xl6T/sITRxCSxU5f6\nDKkgohTtNM71MgaXQWhOxXAxlnlK12WhceamNG8OH+WQ20rgCD29+8oqBEUN\nzj8u\r\n=Mf7A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"baf72271d08c0ac0c4915a8c00d0d75a004431a8","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.6.2-pre.0_1536824110512_0.13777466589751342","host":"s3://npm-registry-packages"}},"0.6.2-pre.1":{"name":"@adobe/helix-cli","version":"0.6.2-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.6.2-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bc954f33d270f52488d614f556ac1397a88c6dea","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.6.2-pre.1.tgz","fileCount":222,"integrity":"sha512-J0g41+3tleTctO9y5nOaXIsQUpZ7YESEiCB6e1LrN/Vh2V2xgf5Mjsj+5pYHBK7EpfJ3UvSaadxT7Kj9dvsxDw==","signatures":[{"sig":"MEYCIQCej1YMYgFKO4w5jIOJTqWp9IY8m28weQkTkGVktMJnaQIhALVshFfk8gXkn0+XDsdZagJCSsN+ZxvEwiQHMk4gmok/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":828575,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmhUOCRA9TVsSAnZWagAAFiAQAJr1k795azSD1TXwj9VH\nl5zk29+jkuYhTe997/cQsWpDnfpsQHr/Uqjzg+FdkPHsKbzARe3s5I9pXCes\nicugGRkByPOKX/V2aCDRcqIMu6nq35+5awpq6HDCZ1S1outE7kNtDdP79Ph+\n0uzBLm9OQXxbrO712QjYLc/Ijumvh6gT2IxVqmPRy4TyUdflZghVK9gyeqNx\nVggGtLprB5WvCVpgs/M38oWbwwD/cVv0JLshxi6FFC3K/tueFBixmuQd99Ri\nsTGhCwibuJt9a5egvAMUy6SmLNwAGkuom2nE7i3HHEDvqR3RfXvJg8rlZQtK\nFVieS21oQwlI1NgC7Kx/eBeC3rItYGJsnGB4FgNhOt0gtv6Mm/NvOGUHB2qf\nh4ZQN5ZqWEpNsNnPX419409Q6rMoKy8kSwZzyuszCz47UlCw3rvDU4l/0vSv\ncDytPxD5JJ4I85jfJW+tAtZb24zjIWlbIiD8FxS7hAgBexvzZdrNqRJRPYJi\nK0VFvCqJOK1q3AHZkJTBAmqLke0yyYijbtE8m7bTava5ye+WaxudZNKa48ji\ntKFmqeaBimgUp6P4KdG6DCMYEnunGHqwc3HHAfrR5VNo7sweMvk1MNK2kFgG\npYoDMka/OcSlCBtTRrsPst/ZrEqhwbg/sVxEo8Cs8wVg3Jge42YB3iiwpF9K\n9wl7\r\n=A9hQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"010ac81301d395f0d4d3d6dfb597aa4e35fd459f","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.6.2-pre.1_1536824590075_0.5208656926921009","host":"s3://npm-registry-packages"}},"0.7.0":{"name":"@adobe/helix-cli","version":"0.7.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e0b37e6de3fd4bbae5c23961b41e885a9d4ac64b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.0.tgz","fileCount":235,"integrity":"sha512-eCD0qfrBytan6YVoeMQsDi6GgQjmoCSNyiExiANNff87hiWKWEpfPXu4jeC1Nk5vm7SxEFYHKRWb28yN7VipbQ==","signatures":[{"sig":"MEUCIBWA3FtylA3n7DWsmFrE/MDbbG4bjRgD50SyOJyqdMkJAiEAx03A4kY03Z6vrnhKXtabkVdF/mgow+j34Ja/RW4K2ds=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1960392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmhv0CRA9TVsSAnZWagAAuZQP+wWHSZQdCul1U7Ms7K2E\ndy6WjmegeH88eqqK4KHKb8lBitWQb/WrfDjH2mrcAxjgA+fMqJ1B45M6k+ez\nbCIh8+K0LBYydaihz0MKCttjg7QE4EGUmUD1lVxTa1X4ZPUUUcwsOyg1kLlW\nL/bxLehzOtJkQOfQtTMxHmS+EYP5wsFwKeeP/EjB07JjMauhbvmcp4U/Faj2\nKRQ9ktsQgWNglRvPwU0sVy0WoIRIDOl3p8GQv7bGE3qTyv+3211lhsLUjmz+\nH+7XJSHPp5XoUaW7/tx3Z1nLDHl90dfftSokBK5YU3qLBX9ik/6oU3cM32gP\nh0IGCNCVlO0G/24tAah1EF7LjngVjLT+AvuQbjScCy220l7EfNOkeqrCa5Jj\n43Jzv50EBTf3QOhCMfci7bgKQSZykHzk4ja7X8GpjM1T7xXfCRi8ahso8Kqz\nASXjWPTJUsgu4E/JboL2SWTDGPJOz7RzNyHmanRCtSaJkIIO1adayCIJ0RCy\nLxVT5ADdr3E3ndQQrfu2xAmAVECL2I4Cj2DQDnCQLu+ZSLdQWjfoB4SoYucu\nZydvadTxKa4vyTtD0IckXqueohUnzhnkf8DV9lq0V4aNehL7QpTb3oe6DAsy\npvclK13XC531EILHtWjFGTmuQ42HTtgaAtSMEgYtAvRXE86l9ij2vViDMb/4\neynh\r\n=n5jS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"d3b90740ded1cf896e64fa89be32aa236553d454","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.0_1536826356154_0.494181755362592","host":"s3://npm-registry-packages"}},"0.7.1-pre.0":{"name":"@adobe/helix-cli","version":"0.7.1-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.1-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"13b9a1cc221850eb64f944e166ec68b8d499ba84","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.1-pre.0.tgz","fileCount":222,"integrity":"sha512-NeVwGRNhuai8ovPeIYO5EScyW5+bl/q7glzFTHyuCzoMgyDZ/wGMRfJPHttckwvKDu6WFyn4oT2JeA155pZsvQ==","signatures":[{"sig":"MEUCIQCd1H737BGuqV9OIh6K6o9xZfeuQEEZGhiWk2Y2w/wVEwIgZODmZvtQlKVpsfF9QGcokHVmnehcnqpd5R6rmvoClaE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":828563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmhzHCRA9TVsSAnZWagAA+L0P/2C57K3WtiRGNMytqyP+\nhoPXRS+s0hxyL0MFaSKVl/qRL8Lz32SVnVzNJj910O3IVf6fKMcK9x9yfrGA\nMd+ImpiAAxRMRm0RfVAwqD6nhEwhcRtKH9oL7bU4TSjEu9Jd3Ygb9ybKtbGw\ngWcKae4V+RS/VudyQso/piImlD8Gsney14R/GuP8sTBKfFSBNiS/Qwtenu5X\ngOQNIDJkNtx4DeVKwDCNtPPhjVrq1MgF94Uc6jEHuXTcsYgRKYMAO32jylEB\nXCMoApxcvEy1iLUypY9SF+7hJjlGR0Kp0WjopqCL2YeZNCaYLKle0FJ0BJrO\nfiAERS/D4n5EoYaMrHhAuXOpkUhgTB62F4Ghub0UUIIU4dY5vdKenMlaMIll\n2jGyx37Om3aC1Iw6AcQdQeY5QTQEwlCLmDoVeUkmu/GeEIGmpMg6c9OWpzQP\n4WwrW6nprcJfB9R97FuV663bx2iDGT848Nqtr7IHRYRHU+lTT8i6A6qlKjjf\nEjTxZkJcllBpqV9ezp/+olCH3r65WEBMLrEfmlG1lC61FQ1pLCPbgF1aRqgm\nQuSBpUOIXKc24RYA3HmBKoyfpJmOa0kSfjFj5D+ILmp7Ljddg/kF/K0RaUFf\nP703r1HWH4mbqWi/lMrl6Y0ztAHZMXs5H5WYAvj1WNmE8WB9CiUIY2srAG/c\nOzda\r\n=dfbK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"fe10368a004a24150e5c3716d9b6e2535aa305ff","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.1-pre.0_1536826567048_0.37409912540981116","host":"s3://npm-registry-packages"}},"0.7.1":{"name":"@adobe/helix-cli","version":"0.7.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"cfb14aef5290ad7da3723df071a9273ee51eaf37","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.1.tgz","fileCount":223,"integrity":"sha512-sWwJ99Mm0LiV2Jusc1d5b6idcHPAG30N77OE7yIcSJ8gWKObsDn92N5zpIJER+NLvg7hnvNreTxlzOPgbsETmw==","signatures":[{"sig":"MEQCIF0PilL/fmlsYXuk77xl+DYV2YZ6TCzP5kTV2O4Jg+j/AiAygiG+Ok3wZEnjmJiAgDA5IbEBSgvSs6UlXisUcKNJgA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":889495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmjt1CRA9TVsSAnZWagAAAPkP/ial8w1xK7ZD1zsVkZ13\nmjTBEj8qohsMDChBc1JokC1xly971ZQU/xcqD4OuLrpvfMsd1luWHJdY29jI\nYBuK0qDW2ZN4cfik6Nh7ojipA4hZ2hIZDlQLhgv6pscgjGSqKJ+Dd6wP4Mqh\nmshDy9O9kBvBM1StwZ/kMRpBHcZ9Wd9JGyH9jr8ElE+vRgLbo8gJU1b2Dz/3\nbJGVEJEN4dm57c/HV6gMzOGnfrHxhlJt9y0livKTGlipm36d4ssQ3MmjMjuL\nrNLzC8GURKS3y+j/IPnKmQQKq2dJVn6h2wgHIMiuPyk6tMwVX8Cim4YyeN9U\njSemcEDNLFVEW0noeSKiJAuskcSP73Pf6ep9k6HJDxTOtMaiU+PQS/ZSL1r8\n6CcENrUtuNeU8eiBbt86JM9bsLy7BfMdrHfVjJAMG7EoivHtwXjzazkEqz1X\n5JVUlsGoMfmO89KPdyYY1AwgG3OfGxD/6XO4ivqLSsZA843gq/+BMpVNqfWt\n+F/czh/6C/Rrhrzqigw4tHTVXDRzbXEdSsgRSrcOYLQNcVkS0cYRtrINhW9T\n43iFeBXNFGBVdhdoJnSXQETJ4gR0STeJi8PQ2vhe1xlF3g0sW/ud5EtdKuIJ\nhW/AXyveg3ukNbnAxREBIwm+1LxdnHobx2lpehoTK16hWNqNgM+czJh9Em/g\n5xy5\r\n=IGN6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"5fe38d6564a75453cbe250fbf82586b10560a338","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.9.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.1_1536834420912_0.8437518660425793","host":"s3://npm-registry-packages"}},"0.7.2-pre.0":{"name":"@adobe/helix-cli","version":"0.7.2-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.2-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8056b812fe66f5f5c887d6cff6e0d8855853684b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.2-pre.0.tgz","fileCount":222,"integrity":"sha512-glEQWh1RnUUGdkum5kABTwTH6snNclOG8LxgEBRvKgmuNoDXFtSCAVTH9r4OuOvoYqr9ZpNlwm9sX3B0zvET4w==","signatures":[{"sig":"MEQCICeKGBTzIGGyYRiSGzH5BHWgoM7VvGAotdA/kJQC4Dg2AiAuJg9jMijlGCYuLupf25bfzqWD3wOUZS+TNF14PTKblQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":829849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmjwjCRA9TVsSAnZWagAAx+MP/1wKctFguPQA2x6mJzdr\n7GtMEtqr3iwE1pBwTENSfHLMe79bff5DUmWIyA67mJXUNRq3+ocaSzvQ+QLc\nBaGD06mN+YbdReyjXBW4qj/bAIilcTkf7ydScejGVfdsRdCn/wxkBo+Bz5/9\nFfB2OqjUwCQV1sLRHr1jIRbdyYVFg3e36NYrhePl/u3Yo6kmBWQDH/If+td/\nUb9k3VLl4b+7kRQ+cQb6/8tF5QPZiiWdMjHK5jNIXJHxM2+IqRfOM9hizU98\n1hWmO6QyPzPfnLCsKJJNx/4dH9tdtqbWc5Rx0M8iw7f+DCorSdHXhBgHEnZ+\n8ernyn3a6YZSzKbJEEqQVn6CP02lNirUfZSe2mXM0fpTzhTFLADX206dAUA1\nI7r+/NufbPg8dyhtRFtQFwzO2RmPXds308No+bKI8ynql0xCs6gdPn7W2R5n\nnVybofePJsqJV8laOTCyaCvntwgAwDWUXSQ1CVu1UnRvyH137KeihygoVgfE\nVyzrKrzwpzpfAMNHvdvi9CCck1Ulpbr4ptBKbQg5BJ2HuybznaxDZBu+hLEc\nSInznbF08wN0Iv1ziBXbMoczq9xrBtV8GqzlmNYpbE+N4y+N0kTOUI9pyVDj\nCdfGQC3ylXyPcnkKda9vp6IDQwRiaPltDUSDh1g9161GX0dH7IHDiesLl7i1\nhhWQ\r\n=td3X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"efc75ab1149965dc0ba15a5ca847987f05cea6d9","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.2-pre.0_1536834594718_0.7753829596724682","host":"s3://npm-registry-packages"}},"0.7.2-pre.1":{"name":"@adobe/helix-cli","version":"0.7.2-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.2-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2b13f168e5653c6870a73dd08e5f909ef55d133a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.2-pre.1.tgz","fileCount":238,"integrity":"sha512-3D4VipvOr1N47GeOsxLP08OVUPZHYLcVy0OLgvaQtrg6JfhDQPC6TrIm9y1yjpp2wB8ULexSvsA2mOwYcGr5Ig==","signatures":[{"sig":"MEQCIAeApQvzmYhGyiG7cq0Kr8103Q7dK0nwpxi3jS4fqoR2AiAimzddxjriXX5LK3SQrs3fj81osBv9LbaEl0+h7Tachg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":867621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmj25CRA9TVsSAnZWagAAWEcP/26MYAMO6omJnyBeTjwi\n7ZKnig/44XHoaYj8vIm0LZDoWXk7R2rCRekZ1/txTLdI4I8GMPILNt6E45sk\nwdNriuvSGorB7zliGhen3vTJ7BImedmoj+a+zOJYBffz9nCo9MCu+2PKZVC2\nt4GqzuhalhAKjwIyhL1b3SaNrEmYIh7MjWtPaVyadTXnmY/S+8pR6VcCsxwO\nUB7DfbC1bpKdYDIox4C6u32VFr/Sn8wo0tfF0n1R3aaWyERUjkyW/K4PN9Tg\n1DD21wZtmVTAKBbfLmPAifG7oRHwynju4Vz+1H9/6Dgr0OFUDy6yd7wDg5jY\nMXf2XT1idNH0go9aeoA1mvvZ3UA27YU/vqWRGknj5yxlKbLb38ngiezizvUy\nF7cYjIWKrIAeGO4nSeSxvnkozw7fPsYbNauXr5XiMrf2mC/2gDHg2/SqybMi\n5CBLzYLM1E89VPAgmV9alvswYxPPVBMqUyGSI4TfBZ/97+Fqr1VFW1wyD38T\nCUsZjRD5bDlRNwhFFeSOZTI8+cnG7Vni0OehOk0NxkTx79fBRovXRBRk80Rt\n+23uSET1UJcZjlDRvU5USvHwbzVy5WTJbYY44+cysu6pS/rWcF6mc34zx4ta\na11a5Sk+QNKxkIZzhtb2704nCSIdCwVH3FyeHquGrOxHEQh+KSB/LkNFhy5e\ndl0K\r\n=h6sR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"2278f9923a683a89ff54c1a9322a658464fb3ae1","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.2-pre.1_1536835000119_0.09531392714926512","host":"s3://npm-registry-packages"}},"0.7.2-pre.2":{"name":"@adobe/helix-cli","version":"0.7.2-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.2-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"790c2b9376c03f83362c8b249da48b292aec841e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.2-pre.2.tgz","fileCount":248,"integrity":"sha512-VfqURkRQZn7csAhjgSMAcuhy03A9oixyyMyrNvzIoOVqVvIo/FOqmiri++tzUTWKr1yLJoRb8/LKyYnJwmGn+Q==","signatures":[{"sig":"MEQCIAKKnCeesU8HtGDMiVdtI7zJKDKgIqD+gfvgVd78WNVEAiA5JIego+AfZ8ONE4BtGhKqWgWagY1c7JfiruRNt3kp6g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":870081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmnGTCRA9TVsSAnZWagAAaesP/io2Uhi+TQhy7YBGpOXp\ndJ64oqFCfu2IcrDIc2cVK5ogAqXmbfFn5p0eMkzvHz+m/ff3lc7KW1lv/yO2\nkSWUY4gFtAd4ImXwlEzq8eBpkrta9Zhyo3jxCSPczTzZYxv5sOi2fRH9RJsM\nUmH98IBcMqgRPtYR7q+ISuY0bfVpDzQAoVKGzwzBA7rj2LV6pIgmB8izVFnz\nCx8Qobiqhz/0Le0c75EzNz/zIYkGXa0e0ng7eUHoZZ9vmknB3WaqU+/NhXZM\nSfuEv1uVm1CF9uQr8fwzQp/7fuq+d6KaeuYaB8GJsPOELtUmfSWsM8FzamgA\nLOwVtAST/KCzGXsLwDynyVd86M0AkeHoW5ilwrYBl9FRgpbzTdUkTWv8Vuub\nvE1yi0pNJrBqU2kv9P7FojaKEeYxAzkgjYtK7Ss7TJpner5QCoF44BH8WKKz\nb2nwcASUl7dAsXYpYWfitVjgQomAFawOMxkWGDvd14jhRbnN9lL15SP1zo5u\nym74I0m8prRt/hLMJN7Ah1G8O16PQchvDHgfpKIFVUeTK2+rulMalhIvRa7U\nZ8y0FPh7cNiCDq+mxqDgP38gZDVumty3upfE7w+UjU1T8uPY28+WPJXzWNub\nd4/HCiABF5NWkJ0Y26h6+Hv0wgsKGrf3Lxvb7CEhwaCIOmRK34W8f5gZjFzD\nBX6q\r\n=joud\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"864fa2b9fc0e03898549b9028babb9428106bb88","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.2-pre.2_1536848274452_0.510595422051229","host":"s3://npm-registry-packages"}},"0.7.2":{"name":"@adobe/helix-cli","version":"0.7.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9e6792bcf50c3242edd8f951c15883379bb2dd2f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.2.tgz","fileCount":249,"integrity":"sha512-D8eQfkkPhC/O67N41TAvye/qezoTRh3SjXcQuljrlwPLXo9RLgUtVQS8sXebD11GFKzHI82joSq6bfb32xxF1w==","signatures":[{"sig":"MEQCIGN/J/xzQ/AIMhUbBSEIR4CasxgIZ/AO/0nUiTfMTFzaAiAgnp/Uc25PB1hXVvq5YFE392wRv/SjM+FrTryuiD395Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":957230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmnORCRA9TVsSAnZWagAA6XMP/3APh533Jz3l4CbHrg6+\niC6WKeH9qGfNf41vOZ4wyR6dnbkFEkS+aSxOoTulTaCmT0l/LJIfE7heoScw\njfmo/1edae+WCCkOGVTt4nTbt0WqdStg/a4JNYmisoxBmJNfWXE9kCb0e1oa\nJvmI2z6sXCZaUTYtqEFxFbqyLz9DgNxVySPI9CGTFDhjjfyBeyfBH3hWcYjr\nSIFMh7RK6BPFmpbV16AP1xkAijVNa3ercwxGpIsCGNA7s7FoAFq6kBzrTA2m\nkhL36/6UuriKM/p5Z9fEnkaWKN18rGfzNZaiB+vP0N5GCs/iNXxY1IqAkI06\nA+0ZjanBZoprheAG7uKbhCPPK+8cShpVjGhNaoN5SXrxQi0grSl6SuL/vfvx\nVJkKUS8AP+9itzmfSl6OHpJ7dm1rUL88VfK3MlReX/Bb3mglEPmLbA3+DIC9\nGmiza4l9LqjdmpVTCh8Y/OVZCU0TiWv3ijoBIVYvLCe97mhGs0LaMlJNwcpe\neR3EgGeHyVgWYR95MyQivjQxQ+XYlKIG9BguyLOleQXf/CHhNt7Z4TMW6Av3\nTVBUFUCkWfmoT8hXRNQvUKiTQDZiooZWHzSpee2l0Vaubcolrws1e0P/DgxV\nv7B1079KiHiQ+W59Gr6lcE0dZ2j/HRtsthUS+T7IoZNTGR95fPF17mWqtlNe\n3pjv\r\n=hZ7y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"22cdcf8dc38ef0d6c02914f8538de7a3247d691c","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.9.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.2_1536848784605_0.4938075676454883","host":"s3://npm-registry-packages"}},"0.7.3-pre.0":{"name":"@adobe/helix-cli","version":"0.7.3-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.3-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1fe738a121e901c4b46343620e29127a782f9f35","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.3-pre.0.tgz","fileCount":248,"integrity":"sha512-rOhHmgr3nUFwh1dZK5OXuvB/OcXDvALimhUPv4NbUmI5g78P2Ng2T1K7ui1R7HLFUI03Ip0h27QnwNM6jYEU+g==","signatures":[{"sig":"MEYCIQCxL6f/5ziaa3XFJGIaG2OZHuCBRgG5xyg9l4Hiaf3hAAIhAMf3xdupIO4c6MRmlL8mBC8B8uxfJ0H7QQsRuBSYINjb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":870070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmnR0CRA9TVsSAnZWagAA5fwP/iiXE7PDUsvg6NUY4IA1\nVQzxzkLWON6hM+YdFearBouYK45ib5xhnb1Gr3iurfpU8BtNvFKVtSMfNQdH\nRze7wKYdC2KlRHqGi35WJi8aYbBiV/Kh7/Dsai7OnXEKQcclDW31ISsVGT6b\nVuKA63U+FH6ZGmlxQvMEaaKLM70rYkaPwy8dDCxjBQCCYthA5s+wFzyztq7V\nEAlcBADc2tmNG4d4mR7CdezSdoMLRFAzAsrUVSkVVuUv5sPBMOXuNZttE/O6\nWGlRPuy5Cls2gKM0PvyaF5566782Fu/irZNJj5fczZZv/vMbLbLaupxYXTep\nF1dKvxil5bKeEQmaF2TAN9qRjVFw0UntEC7/ZLmp5u8+in6b5YdZiN9ZHip5\nJpVEnUqiYPJjy9GfYdZ1qLk/Y5FaTi3/v4fQdiQ58To01nI/BltWTMhe47un\n6hKH/ESbImIq692wJQdauu5/MGga5UUXnuNOWBrWmm9AMKy9mD+mNb1Gf+jo\niHiTRSepm+Fumtk+ZZOolzj37FLVMWPQtD+ZaFKyUVx8LLUIVNTRZJ9+MvwZ\nJUYrgJ8nB6i+S8cRyrVmwpL3eCqq9YedsMFBOdClU6w/Ms3yM97vBHzaLKIp\nzX0QcHD9EK7cZL7/jG/tdETKcNTH67nFVQgyEFUXhJew5nIXoGWtClmsIh9q\n6nzX\r\n=80OO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"2dffc9e40eca978e96cf89bcccf4d43a32ed6523","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.3-pre.0_1536849011683_0.32152107417181863","host":"s3://npm-registry-packages"}},"0.7.3-pre.1":{"name":"@adobe/helix-cli","version":"0.7.3-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.3-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f3bb735a848735f459deec466f6e38d32062e843","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.3-pre.1.tgz","fileCount":248,"integrity":"sha512-ssS7979pluNTdhjSCc3x7wLj6hvLY/qoNZMc/vRY89TvZmjNZ1LYddLO8hrRBW2wVw/NUIk+IyU7zjIFr88CMg==","signatures":[{"sig":"MEUCIGOZ4YR2G2S2cTaL9poV/Q7MD0C1H77S9RypB+Fjga5vAiEA8a60aDGqSWDEbjeBrsUxDvhHm0CvgKLqsPQhuGS+1H0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":870039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmnyaCRA9TVsSAnZWagAAGDsP/0SugOTiw47zywCddptl\nuadWITFbwnNfUuoIUWvHc4AkHYjdwiEfrLqVwge42IcIcZ3Ar8Icqmyxe4SO\nmBwnnmgvYHNKHVBJI5pDeOCIBWzOaHBo89PxOyHqe35uGkS064t8gjOUgiFw\n5h20Wo5JkONyGRH0NCTwgJf8Gf8wrRAEVwzVsAPeoGG42CzcakDigRnyNrB2\nkB2ytCQ4zHEunhmqSVnF/ekJPKXwuM5HurQ/Z1zUAGNY0yl5ZBY68fVEXYX5\nKonZd1tO+wqeLE4pvaczV8vVXSsVkskNqM03PciGMSEdr8LnMhzAOI7GveBZ\nmoZnMSS05t7ccmO//Y8HJx/m/rRnGrae7ft8dWDjLvja4QuDNnxFZreS/5Lw\nlqr9LYV5f6zzDX45TA4JaQXsuiA1zoYhAiYyCXm1JXuY6Re1z2R9BtTAxXNi\njuiUhLB/gZLvBxlm2aOJycigWh/qK77W8gHWi8k4iH/kHyVsw42e3RlqOJe3\nF6kdFF5RcPz6NQdeHmHP7dCcGA++4J5hvBhpz7o3c+s6G+iWC57uCpAYAPMO\nMBrO51issYnWq5B7wmErA0mZGoCTWanKgq7IJFs43Ech+YMkJ0j3q37haAMJ\n/CDRkgTUvb47K/yydd1NUHdYOTdWksTjrcFbmmxnMBU16af/H0JNSFIqMu4l\n4SLd\r\n=NL4d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"a458dc08891e67442cb4da54b5a14ffeae4a0369","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.3-pre.1_1536851097511_0.35524074818856244","host":"s3://npm-registry-packages"}},"0.7.4":{"name":"@adobe/helix-cli","version":"0.7.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ef4271419afe117ff9c055cf9f3b0024484fb495","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.4.tgz","fileCount":249,"integrity":"sha512-DFzRaPHkksE2wmkap+HZq+GUarqRnmhRi4UzJkpypqssDALmw2pYWHnQLyOuK0jmEFKJo+BDL9zsjtIkZ4z8yg==","signatures":[{"sig":"MEUCIQDZ5RWsEIyV1MUWK9D8qrRa7wMBYDjSTAa4MrNbLp+FQQIgAy2nZF7gaVmXbzGlFHji6laWhkvYbCJcL92Hnm39vOU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":905123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmn/WCRA9TVsSAnZWagAAfrEP/j+MJNXllxdPyVZSVSaF\nB9WqS7wSxZMBZUdMzXqBHd7Z8M8eMd+5iOITWNm2qPyM6JR5kKScPIFqsl1G\nrYdZPHXsFQKyRYEWFSvcD2bRNNtl8kQJ8n6KIMo71320aj42ROpxGzx5DZSt\nb0H119v/MdSj3zOxUtadZYLI6WQr6PaHrkZHekxK08axtsL2xJMAK9+jFY2K\no35zj0oumi1MqcMHIbw5bBRhPi4g9UR69Yt5VEFoUoF4S+EXtLfTkRoI0+OP\nl8SKmMFtuKGwNub8jKopzyG9X+tqGrP+WqI9nDDuNAINq82f82kEdhh1tYj1\nKLUxWlYGweXLW74VAv1xIoGIb7bcg6Se0LbsSibRzXJq/8Avt9Kgns0vYEUs\nxw0uWitnBG5rOIncVGT0IY+q3Y5kbDUIwkJMERPHi+sGWgLqxzdM1Qux9o8h\nJWQNEBIr7XeFxyyFt6yb+y4KGI8f9LWxCSv1iGuQlJOl4jgww/di8jruXoYZ\n/INLKK7zTA7oJgAnFQlfzFbbJU3MdeeWyPVkuqO66pVyNtiaZhiuy0L3Fbcj\nbkDrAEetK44StBkJEHjk7D9xeQuiBdZYqfv0IzaRld9JD7JW93DMQzhqF+/y\nEEP8Uvc50ZnrkSoDtoOJH/w22y0gql3CgtYDXgJ+6MhupadoTC059XzZUf45\nUejg\r\n=C46J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"e368a72206363b8d1a44986f40eb7c93d88ec940","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.9.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.4_1536851926131_0.4799348663326477","host":"s3://npm-registry-packages"}},"0.7.5-pre.0":{"name":"@adobe/helix-cli","version":"0.7.5-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.5-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9dca20ffd18aa841f8f0a0c89cbcaf20ea7be0ff","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.5-pre.0.tgz","fileCount":248,"integrity":"sha512-eXWzjwic26Tfdu6Q46aAruhPU4grGHnpkJtpXDHAEOoq56rr8gAqO6U7oSgKSVlBDTacmDcvM+l5VjtQ2bVcJw==","signatures":[{"sig":"MEQCIEuq7P1Br1S4jwPoTsnwZDTOQFbiOsNEPpEHlOIfT3WpAiAZNoxD5GWh4xKAdrc7RgZo3OlAGCd26SZTUUUL6rMVwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":870025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmoDlCRA9TVsSAnZWagAAhXEP/1KVIxyDnXEdQoPvRU9t\npj+f6sPfrRqTh4cjTk9xS+M94WltfVUe/A+rp8ZTf5gmbnsrmXCntHydUmof\nra3zcHDYOi86aHT2dEni3XwiUKg3rxIdagPskaOip6gQsq8Xu+sJcg2cERKp\nYFfimBdgz94H+7y4gQu2SuwgSExaL2ufspsNLyI191Tu77nbxF0YY77s8ESa\nIPSbvzchlXuiGKajkgsHMHyzyzFKdpppjBRs9opbamiiLP0bwqxBTz7gV5uC\n8zqYxsdlA8RhgGVX+FV7w9mQW+hOOkZXaeI3Uy7gN66uMd2/Wv6XaFa03uAu\nqAEjA8w5WxVncUikydCB1SbINJhyLK8qyd2h3Agc4D1d+iZCvZ3CRii0WtKv\n9FmXo8dAp0AvJAzd4aLLbepK9u+jNYk1z+4vJaMW9oe9rfRkzf4qSiEVC9xq\nkIo1zUfEnMZwgqIerJXq3WC0UhdvXT01KVOaS/pJrkP3lkveCs82s4COvKqm\noR5uOi7yEaebuYDYllsac8Y7TfJsi5VyTB2sA5kiO91B+oGzV9kgVqpbci7s\n1XWoQDac4G1QHe5UuqzkSOlz6a0LVAq53ebWa7Nz/fUlAN0hTSSHl6NUCtUF\nfLQWVfqGcH2XMFFebUF3hd8T9XcxlcVeowdCQVBxWELt4Tdjlqnu1/xlA8EB\n1r3o\r\n=bQsA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"edf2ae1136fdabd95d24048d0b2b41bc543c5236","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.5-pre.0_1536852196761_0.8676846289779359","host":"s3://npm-registry-packages"}},"0.7.5-pre.1":{"name":"@adobe/helix-cli","version":"0.7.5-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.5-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9f3a1ad688bba58608c189c824f941c3d2594823","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.5-pre.1.tgz","fileCount":248,"integrity":"sha512-0xMXHc6aSlm8/Vl1mSaOk9/bANX9Vt86xxW9W8zjkf1w8FLr+TjrOxZSf9MMrLUjEyhlPHoH4tuEBaHFrpyGMA==","signatures":[{"sig":"MEYCIQCICjDt/RyiPBC1sAoyFtY4bSkoyN7jMuEypikKs8SY2QIhAJKVDN0bkPRBpMgpMUva1NTNwtyYckAqV+Fx/BuTqMq+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":870043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmoiWCRA9TVsSAnZWagAAqAoP/AvldSMx1QklYFyG0wHz\nrS+KwVPFkCijFNAI7Ghsl4GpWtuHZlvgwE8Y+Uf3w+4+Zfbw+7AYjjK3gL3a\nblGJL8QzZH45mAv7tguUWQ0zIAVOG18IPEcLyzNny6AGd9VM/r+4q9yLDTAy\nBdt4DCR9jtRnLpcstMQCnBbhE78fkGF58SQrC3BxcrYXlM3vnYooSv+hCaPc\ngjBD07P+ytjSWpTph6f+jZyTVcmY3P0nB8qjN+q779FTUb0tX1IdfMKZTNqf\nHCr6AoLXI/Jygn1IE+N8ebSb7Z7iL/ho3oc/+3bcCxYKJwosonoNulwcU1Hb\nAiV2VIyR/uP1DwF8PHFbAg5kUPZQxECnujASZI7QNI+pOl7tCXR01LRFdRHw\neaJaGCsq4d5zcCUUEK3y85tuu+USZ0vlUo30mbGNnnZsNQkzoECGOCEzFfyT\ny9Ui5eZA6fMo5vbZy+NTqtenCtvnD+e3WOvbJC45mjLh/5fQKo9bc9G+Es4N\ncniIlCuate5AzW03K5wjra41aOsHMCTw+S6M/Vq/xG4KTR+u+xiATEoJ/5or\nb/XE75QAGQZpKakrnPHla6QAfBG4NYhbmyWes+d4O1a6u8AFOsKcYpiXlBvH\nMfZuCAjiPj0onicNCZDauCaRIqhxlGfBOZdswdVCZLlj5BBQLnWT9dw2h4Ua\nMFUw\r\n=Ms21\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"a4187dda9e903a74a99dd467bdbdaf02753cf84c","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.5-pre.1_1536854165349_0.9541826897013335","host":"s3://npm-registry-packages"}},"0.7.5":{"name":"@adobe/helix-cli","version":"0.7.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a8d60cb5d70a522f4e8592244b2d1bc03d68063f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.5.tgz","fileCount":249,"integrity":"sha512-eF0jlMx92sc9w766xTtnKs3+eqSRPztY1BeDbWZJlCrA1zojj/tq3m09KVogJwZkyz7qwt3RFfm8l/0WoHWiEw==","signatures":[{"sig":"MEQCICN0yoMM9PwZKTGCSrnRO9fM6RelEVNVaB4tS49w5HB+AiB/U0aVL326zJAqcbgnTCI8GkML3z9VrG7Tl+JNNPU1Vw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":902528,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmopyCRA9TVsSAnZWagAAg8kP/iwSsnnG9mKr5xMZ9/vn\nT9O/f7NPTyBxGA2SnmXqjMjqkQUf6Q9yxqKQa5EbhaB4am1kDZxrROAD+dYh\nls0O0tc7PdJxDDrtStCPnPd1PD2ZGqV3r6V5zaYnDG4nqGo0vCBPNldtP6pI\nZ7Bh67/9IyGscCfdSkxYEezDhLmgTcRVf9FxqhQOSVh8OqwE8St9QyifVGT+\nQ50TECwLzv/s3AXDTnySPHIV/+faxu4uxKlcc1oZWMVGxahUd94cxRNhFrzD\ne8cIKZj6rStrDdJefk7I9lf9xaXzRUzMXdnUqQdLziyjUu8TwRoGco2zVT2p\nRvkGYzAf9hQP8m/cbZ8KQGQaqP6irDsgMLZDGpDxj46WFswuyMwunVDuX7Kj\ns5OReSK7hCX22SSVoOvy//ybdLVQSBCvWM3bzvt3Bjknc/tAPxprcIKNSklt\nS9Agjc9ea3dfoxSij9W3idWs9/5ugJ5bw+ed2nx+pRZ1WeJXqxR9uSaOncQP\ntktI+og1kyRYVrSN3pPdNDkHmah9CZK4EHFY2N/55L2zjt/jCpjY/65jBVbt\nsC5pJsCFFG9CaVKJCtxMWCF2qMe2MUFnpya+zJ+jQbrEK4gN5EuTGR2s3BOp\nT1lwkHoeAQbxA+9m5UxVRNPruB9X5CpC7DyGhZ+J0kxQO5EmHqerD/FYobeg\n4+Nx\r\n=NTjN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"5b2ac8b5f3a20925e75521e19ad42ed0193825be","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.9.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.5_1536854642324_0.125207764866216","host":"s3://npm-registry-packages"}},"0.7.6-pre.0":{"name":"@adobe/helix-cli","version":"0.7.6-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.6-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e8cfe683efe39c942c5e4765df3f02f4617008da","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.6-pre.0.tgz","fileCount":248,"integrity":"sha512-vAIALEFsxJ73mXBwnkgLQTqsPy2l7zRcQ4yOQbgkBAIBqLnQ/whdpavx/xVxavbsaFi7CGecN4GQ2Fnv3j5lhg==","signatures":[{"sig":"MEQCICfIVPpSewi8OfB6JJ7/k0jfx6rnCCZlmkqn3mCpgMMGAiAsQjOiR4my80FNboZxDfR42w2SWh8JZMFCgmO+mFDriA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":870031,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmos2CRA9TVsSAnZWagAAeoMQAKKTtPSVXjzEknpu+lnv\nVDSF+XtZwA9QTmcl2/yWHDlNqKRc4CPsltKpCfYOx9DvI5nyRCYrr1vW4zGV\nq1SRYQm0EFEHHLbsGoLeJ4SFuj2kR8japPq8QrysXTIFm3+HvVIfRYa383jN\nkAgerLf388BbmbIs5afwT4z9AeJVmDkvrG6Os+ebGx4vmDxZeqW2XMrTz7PM\n92NIL/BSzBNWUpj/vosFaHMzS9YnNdRCK0pB0h0DUJEjExtBASdPkmJeoVhq\nHTPgIK0M7AHylDtFW7dZnz55e7TxI+4SI9iNMqnr3AyfbqjZF4GoA9FsGAxI\nwmPhoO4VddcfGTNctPe9Bp8LpGSeiuJvWBNwOO8MEVFi/5WbbGMdEUfdtZ7Y\ndnAKF8wqkWEAECW6IktQa3OlUEbgCBJI2WX+cy+qs0NaIhC88CAciKTVpfqM\nJlRB+OxVeW6Cj+EnQyka32TQLRhA9pFdCZlmRJ3Bgjrc/JsNHc+zKTYtxdjg\neBdAN4ncuhQgxh70DBD50k9yDZNdxdhQVntK3f+5TivAZx2xdrtqZrKvBgsi\n6EjktfWT16kLN0TTgsb4KpCKnTeL7AvLbsZn3eZvhZNCruJ9nS0hiYnj3JSv\nys9aPe+aAGX3NVD+AWuGCOGdCo/o04vW/sieo3G9QtO1STx9+KQU2UD3wz9n\nDLoX\r\n=ntmD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"cf361cc3e6625ab4d696e80241ef10cc3a97a2c9","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.3.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.6-pre.0_1536854837731_0.19679436935909256","host":"s3://npm-registry-packages"}},"0.7.6-pre.1":{"name":"@adobe/helix-cli","version":"0.7.6-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.6-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a218c8942bcc4a2edf9d23eee36ca38e611a6e66","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.6-pre.1.tgz","fileCount":248,"integrity":"sha512-m8JaOH/8UXPvAdegRo5/lGXprt+AU7X7aRZlJ4LrXcjs1kW8igSLbwzydpbL/KdJ4x3S3sKcFUZ+2odwGtoYag==","signatures":[{"sig":"MEUCIQDYCBiNLOpnZqndHjIaGvKVMvS3QM5M6jtaMq4VBGX5FQIgei4+VCFUxbhrmdSMbtEHuAXGiu4kYzsLhGhZldnxQ/s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":870055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJboI/ICRA9TVsSAnZWagAAwoQP/i9GrK+7LmYUDOgNaXEB\nsVNIKQ48m8GfyX8hgkUyNui2YjBKNso/CymxRH0RHoClJHIhLf6Uh91191O5\nB4Drj0d0Ri3Uilhg0LXqD7p/chNFwhk8b0Z2zfdcgBgkDuJnT4CZfHUqj88U\nNRRz4FeqkBmdbut+sKWUrsNo6+bGoTEk763FRn7rYCuA6BwdKbgfugDhdbut\n5Ye6LyKV3X9/BfU8sKtt2Yiw6O1FBjrsutUIC4yFqvvVjR2tYMSg2lgBlfVT\nWgH9uC+5RKr0NNN6IdS1B72JTh6gAGUSLXGxnXY0R19GJZbijaOM/MskjoEu\nNSUxJfSbtJQ5TiMENteGJ75Qhw/DDq91LWHal3kLbPINHq2TCiHOyg0TP6nk\nG8JoLEauVqDcigIEelCL5vOZqElztB679s+7LeP36eBtHX1mwQv1BUlcRcNS\nlCSaC+3S2dNTmVQRZ7D8eyVRdwHy+E7ztzn+TLGj555VDaBOJUjlvanE+oc0\nDDraITLGGODQOMddWKTAcJDod1iZ+qvEzZhNDF6gkztBECR4mvXTAGMTuuJm\nZvq8LQ6eF3X9T7yETMfbr7kIC5eVMojVtgAKc4cY5J8Kq1nN6cId09DR03sl\nr3O470XIS4pq0YJH4VZtacQ1esWI+MZbm8U9PZpu2TkgvTNGGpfJb5bgMsqv\nZ78R\r\n=yvUQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"a8094054409525a307cc4d3486940da0f9660426","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.6-pre.1_1537249223591_0.931405683396304","host":"s3://npm-registry-packages"}},"0.7.6-pre.2":{"name":"@adobe/helix-cli","version":"0.7.6-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.6-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bd10796b9981690c1026ccd23b4fca9ab54fdd93","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.6-pre.2.tgz","fileCount":248,"integrity":"sha512-NPVOtg1bNhK+kPuWqUQbyLJ7bGx5rqitW9ihHFJbOEzKo1MKrSNqE1SNY5rrB0Hl8Jcoo+XbriRCxfSTfRJxRw==","signatures":[{"sig":"MEUCIBbOXEZ9N7m0Wg2AjRBzM7LZZsp0aPcDr1gLlSexkAbpAiEA9DTKrZzQcGKdNUPM4By7anbeDiuxZRPyjuQLN73hny4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":872335,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJboJXVCRA9TVsSAnZWagAAXQQP/A469gub3OFgGrKkQpU1\nqWgXOtKEPtr7HFToumJ/YeTd31HQNbH2/iYbig8k7HLzBvxxEXg8VRUqDfBF\ny+MK9ZhL5iMQz13nezH5DJwMrrQL3ciPhiBTB/9Ld2Ohi27iqyS0nxj8p5Rr\nveBcbW45H1anu+bGC+qNjIiWyxVWejc/nKt5CD5AZ+78hnCWnVW8k5NSNx9/\nfm2L6Z2cmjsH9zPSgzgnK7BgrYz1P9IQYkoMMDA63oUSaFV2xp6jLIYj31d/\n2WPKI4gSFdnBs5ZQsRRwnuh6ETana0z3L3qvMreuP7gB/HQ7Oi6cGB1byjda\nQ89pbMozbhXRWHD9CtAMgEeCf/en8TRLijUW6PH0KVJ07Ha2HTikBsjbDj3C\njhT72QzNRlO0ibhawlS7Eb/qW94Nkk7wPpOvvdkHnWuRwjKOGO2IxwHigrEZ\ncr4UVMTzd7+90PBBaSLc0O0aO3Yz/ZS5P9nMfOgNVSH0Zbv83pPuvJ7T6cV9\nPh5W6cSlTeJcc4SiiGyK96JdqmjFYFQsb6MPDiZntvDVAqMK0l7GasCGcJrX\n1BpmpqrmG9ZYKQuukB946sGlhi8NJe6sNWTnllhhM1XdqPONlyUOpfl75LI/\nx9qpmG5RTcDCIC6OH72f3TaXSEBaNs/mHOlz3c55BK+IHCMGXowyoJmJzAvS\neqSo\r\n=SwRa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"e35b42b2731ae1317a112b50607fea951a820c7d","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.6-pre.2_1537250772966_0.7204879544455645","host":"s3://npm-registry-packages"}},"0.7.6-pre.3":{"name":"@adobe/helix-cli","version":"0.7.6-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.6-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b8b15c9d301a1700ca1121f67cff232b5d49e367","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.6-pre.3.tgz","fileCount":250,"integrity":"sha512-OWydFSuQT4BA2chVbF4HcNY8X8foa02slW63vr7dJTaaO1bpiQv/6bJDi9m+827UBYKqdKReiLw5+/2bxP5HnQ==","signatures":[{"sig":"MEUCIQC0/+IyUC+J/NWfsseVfZ3vlNUvmDdvIE3C18FNwIIrigIgFcy49sDburbZoGyVqY98/F5pxqK4XAOUSyOmtWQaDpg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":874180,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJboLzMCRA9TVsSAnZWagAAHx4P/1HYreFvEXq1KgXb0Vex\nlDTT90lSf56A/Vwviz1CabWUTQw+MYqJJb+Kw0tuz9QJiDL38BpyOMs5jjvB\nHb+FuvzBr8jfcW/x6Mz6VtJpwRQWid/OmxAH6PMfwa8U7CSXV3Q+FzupVOzp\nOgVirFbWp4zyvVlGzgIdFHlbzpQRtfI+gf0UeYwAvNm3RcjIQRI673xewbkc\nOhWe1LbIHSYToQy+rMcNKBSWDEEWlZxVIa8lgyjQTHiaVNldhqmECQ47uUnU\n9VwGOe+QglaInANwtixaGaJketPPLmpq+Zv5MOblUz/7tu26u1E/36UK5Xfn\nNr/oJhLpmVAvumMH8VBSE1+9lfp5609LKNzvzTGt7q28FAEcTvZdksBLpcRm\nhvdrG3sgH5Z0E2K6CrqkPE8yi7mjTYMMfbhPLs0rL94xFD1/+TggybibSHuM\ntB2MR3zKJYGJxGxi3+T0QMVqgPk4cmp1XCaP61pz/vj8+rxJGxrO26LggiOv\n3ua0qnnmk7mdRdbrExWJlMclh47IgWqM38sK7Nlq94ttZZoHcdeSIhJHR5BJ\nav77vXH7CfGK7vt0p7yhdxVf03wk/D+iVzkuR1qkDRptd4JOWHX95KygQeim\nZG/RyOkGPCGgHsfZXGA0vV7z107O3lGEPAupbQrIfU/YqVh4Jeu693iRefY3\nu4WZ\r\n=Wekq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"771c55f8154f2802cf358905a5b35c0fe7ba3d2a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.0","@adobe/git-server":"^0.9.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.6-pre.3_1537260747777_0.6927085935604289","host":"s3://npm-registry-packages"}},"0.7.6":{"name":"@adobe/helix-cli","version":"0.7.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2624b70622794214b54cb2a9e4940eb8ec907826","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.6.tgz","fileCount":251,"integrity":"sha512-GQNe7vhZ9zy09Kl4RgLdO5/uqiTBHkV/kOgpI0M50G84LJElRfT4wkTbTOlomJIDqIqLez7EWydjqX4insEyFg==","signatures":[{"sig":"MEUCIQDyWc/feR/0c0DdmUf9dTv7WctLqwg9oWe7Tig1SPj1pAIgLNOmbUxIAx3qAcNbyabZrwNBpPpWiIx7KDy7K6kIh8s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":909599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbokBsCRA9TVsSAnZWagAAHKAP/0Ws6l/PtuqtO/ISWtG8\nN0qVK3HmuMjhVmlCyeuLbxDgH98idtIn48fgdVF6lkYXPq1+s7ZFiognXSw5\ne81bruxCnDowigKY1gVvS/Q2eYw8ZaUWxAoKzWqrO6+o8491k48Pg83frkS7\naHC1gS/hjyCaL0WkIlwvCYSLm6+ZnWsncZD1VBNXSyeMW17UN1SgyENrg6s1\nRsHlTY0ss6HqPsp2I59MPpEyW1Uyr4aXpqsJr9DzWBaKS6efD1E6SvDAlDGb\n0Kjo8XsT4xkw0HOwBQVA4yHUccOQLf66rozCKlh7dxFDVU3llb2UrZjm/M8x\nJxaZynub4sKo0x/4xJdAWl84RTCYLAm8FxEdasIHvnULQqtPfJJcSefSKv2U\nzNyEm9MijGxxkDR9sg+ODf2whDf1DM1sEs+xGGGpS/iQPP9GmgLYIWeQ9l45\nG1VpILWSPlhcz3qVN3zgWcwKPVpt+J8jRwQAwMl7C4h/rkgZqPMvMYkGf79g\nuXSGHfUaICAyENd3AQiVl5e6PK9FoPJOjFJAFBAVKX+XarjrE2QI/Ka7zE4F\nP6JtDw8eF2/ID/AoK+1kxx907RmLC0md4CN0BOHaX8psEM+Dm1/CZ/JWn3vV\nWPgznawbvQCbBqzgGC19gcvqChoOOiM6DfQCuv9FQsTlrHnlEoSPKZ35J7qy\nCd2r\r\n=Kmo0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"b39d4e0480f535cd8e0b11c37dd71abff989fe11","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.9.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.1","@adobe/git-server":"^0.9.3","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.6_1537359979592_0.3221322010642438","host":"s3://npm-registry-packages"}},"0.7.7-pre.0":{"name":"@adobe/helix-cli","version":"0.7.7-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.7-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e4e8a5a2a615f995fb98ac1917b65d5492b2cb8d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.7-pre.0.tgz","fileCount":250,"integrity":"sha512-ptReDktkVp/12oTw4Uo7KVLboUQqkz6gmjnnLXdOeoS9+zq9ylLBN6BLrALyQOC9lsr4onUhboK6CBoksIjeww==","signatures":[{"sig":"MEUCICeC6Gf1KOTqbM8MCGHasOLRgJP1TuKL+J3/AG0X6mpDAiEA+u4wKaN9cmzmnVCbVWlREUfzdvs5yanSzLozEjGL0Xc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":874168,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbokFgCRA9TVsSAnZWagAAPlAP/0oy0drPfkjejrSyrUfg\nfPT4x4eJWBU69/XRuLJ/gdGBRjTnYzmbp66pxc8/vcREIAVM4esIePvt7S+1\nSZ9AsAlehvJc8X2ZWgSUdnWBnj6Fcfli2UU7cHtt/bOu9pC8pXT0bSy2vnof\nsWjMW+5SWUaI3nGpAxcJnw2pLkRq/OYnK0VGefEb7QztGqwkJPSVzusxjc/J\n1Ll1OWqOOUKhoqEHiYhu0SjxlLcgeIIUz9RdbWamcGnuHdfiN16M1WcE26Pg\ngocCyiG0VUp5h4QOpsZvq4OAEbvpcelvsy6NBDEQ73ES2IsQY9NGbxTL3uUP\nKnIAL4T2jYay8JC4BBd9moDszDXliI3jk4YsUHjqdQyplVhd5lodPVFEV8Pl\nozjBMBdQcLZ/V2jY2vKeacZ49ksgsnDXiTNpQy6q5fwrRKlXHa9Ks7sfk7ew\nJIwEjL52wNvYPW5s7oiMFEZp20UO/afFDQ1w732CU17nYUerbDkIofsiqfBu\nRepMf5eK/HGn9TjhWpg5Kpoyavqkj0cKoUE5ZNrRrRbMsUB7Bj5lsal1SXGN\nS9E2Wfhheu/Vt6E3Q14ROO3Kky0M/w6EJt+87BQPeCVPFS36PY11poxc+iGs\nJGbHyV4g41ni8oa/48TPph5E8/ezffbQzPh4M9MiBX94lBFDluOMrChr/OeK\nfxZM\r\n=ca8L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"078c62af8816b5d1877d3d052f4ce6bbaa0f74ae","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.1","@adobe/git-server":"^0.9.3","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.7-pre.0_1537360223238_0.20812244115288814","host":"s3://npm-registry-packages"}},"0.7.7-pre.1":{"name":"@adobe/helix-cli","version":"0.7.7-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.7-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"848b1a07a4ba585557965e182214ac3221259a7a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.7-pre.1.tgz","fileCount":250,"integrity":"sha512-D2Pwb6DQ0Oc4I5cjnI0nbIzAsGmmgtMeV9cGIqkqGkDwrApZIZVFXfM16N2Xkgs201dKTcmeAycqM5qvVal9iQ==","signatures":[{"sig":"MEQCIB4rUMRRYfg2vsnlU85dHMMUqGAevD5uxfsHd5nv7zhyAiAchAS0IEHXPVo8fSCDMQUBHS58kMVxahYqhaKAXkFnxQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":871900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbokhuCRA9TVsSAnZWagAAmDUP/1/8QK9LisbV/yFiKrAK\nc0t4V6VSPJIocGhncxj8oilWEjRB5zUQPHf3MvgK+UgF258C8cNOw6r1NyJo\n0R/oVX2QE11sy6u4yvUto0Mq+Lmi9qHFOODQmnH7AkMSl3hfxsZt6nuNKwiV\nBKf+OIRGpcRKNgZYivwPUrbcTkwBDDN+cvKQRfYdPphtl7CxM7nhgJ3W76IP\n+DnxyRDzZvdijE80u9ILbRwkinhYRC5OaLgNXPs3OFIF8oP+qc7GS4Nh3BUJ\nnpx9JAcYcXgiYxBiglJIcr/OxkDsWyowP35FLYQs3YA4TvdoHIxsi483ORXc\nUPt2CedMc8EzxA/HkZESxI2q2jEGcQ8TVH1cUT5oc8RqaiYuj5PqyMArsBet\nXZ1CUdR0bFsuTDkYafxESQczqufMz3DqwTBdZ7zt0U/zi2lvcDmVA5VXof2h\nEfef7Q+xiyMnRx2ospWbmArlGg2LJqL2PWVGFWrdshrYsQmb1ujJdOm1asna\n/sNWi6FDj37qLDd0LXaXzfXp92toNJIWSCjaCghR8KzBWP6rFN8hMsISo5Pv\nuDmDMo9d8SXsSMYcwBW557xEIUdcIF0ajDiys8LuHmFcWjQgtXA5nvF0HoNy\n7CMS5ICqPSiSEoXSE1VOjiGyIVTMDzsYN/17D1nWHGQBc5jMcusT0eG+zp8o\n2Iqw\r\n=P7wL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"42dd0b68e1a0e1b2a452aa631154c0a2cc2c5046","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.1","@adobe/git-server":"^0.9.3","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.7-pre.1_1537362029611_0.8346017493261679","host":"s3://npm-registry-packages"}},"0.7.7":{"name":"@adobe/helix-cli","version":"0.7.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5bc0ced21fd5e0e7749cfac6b0254366a82d5c6f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.7.tgz","fileCount":251,"integrity":"sha512-PXaLtVkJZRSMuOfNe1WgRqxURARNE5RfoSNJ14hF1ExS2jTPtDyPPJ8wTBUeFWe8CGRi2GE0ObB2SQFChg0/+Q==","signatures":[{"sig":"MEUCIQCzuT7v94uhr5lDT+yE2Se9Oi/Y9jfXHNwhfwqYL4zrMwIgA26fyYoFCET1FM6PvEz89XMWIrWKAiQ8JTc5gGFaAhE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":908669,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbomjlCRA9TVsSAnZWagAAz8IP/1mPEW1WWjYmCJG/76q2\nj0wJCRzsEH8unV7cXpHokYoPzXwxnU+tPaV1axJ4JVAqd1lGZ1i3BQn8hbjs\nKUrgU8HtkzV/wHBhsPHjopWlu7nl2AjmkK3t1FMExd3+jdxQyKS8fWp8orhv\n3TJ+CFzZSjkBitpBtsMwJeMH1ag+thEOeoZeNrYRZ/pbtXmBEI7NJiT9UEj2\nnGSHdZe51mJ+34gHdL/XjhmyVpe6/FM1gPkSKgkMqcF7mreBSeAbYTCTE/u7\nmdfFviZRPnBB9AMh7/U5EsfSAPKsxadn+GUayLkox46+wVKarHJ77JlXScCp\n1J/UyVeKSqLhIlbkgGq44KYQ6sYot11uLOS/f0oLYIJRfxfkIqqZihaa5nR4\nqLbhN38QyaA9hz0pbCg8x1P53QO3b3+jUCJWskakZCYezIzOPYelxp9iJEmv\n7oVgW1BtD13vUaGv++C6/DYwZ4IppN6vPuyZQA3ej/hWEcmHGSk1NgVEPogN\nSjiRUtgh0UVNWyVdgPnOWRL5JRtpdyErkw5qQtHZYOzUQgTaNHZ4dVyTVyNg\nm+ukDb3UB6HJmjCIlxIVodLEBbn1SQLrkyxl8OAPDT5QmrLt1xEq1SqAsLhm\nPP9Vp9LZ+4te8eCF79NOD4b/E05TPM+AR0Oe4bsisBT82wDNje7YvRoz6155\nxwqs\r\n=Vl1m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"a167e470c31f8ac93213219ed1ba999f1811bab1","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.9.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.1","@adobe/git-server":"^0.9.3","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.7_1537370340499_0.23400898292095973","host":"s3://npm-registry-packages"}},"0.7.8-pre.0":{"name":"@adobe/helix-cli","version":"0.7.8-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.8-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c9839c1045f727e7ab89915d89e9e32e46b06b97","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.8-pre.0.tgz","fileCount":250,"integrity":"sha512-N5JzdnhSpc5VtXmODxdIrJe9R8RdfPSkIZbPJjtY7hHYQ5fEDLpjeppvJfAhvF8j3g9d9vkg4Du2iGHOtwnwlg==","signatures":[{"sig":"MEYCIQDioWEPe9TwSoENITTNkaX4TyOPldQQyDmKcNaLbeLW9wIhAOpioIxt5BwJ3Yp/RnWe6IQq9t9ex3TyHwvrA2QO99G3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":871888,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbomnbCRA9TVsSAnZWagAAghgP/1XV1lX50hrTQBMLWSLx\nwulHXYu8VZPPDkf0Ut3Y2ZgRl6k6JIq61wdzAcA5NV2EdJjl4pb+0Zx5jND0\nWd/oPXSB1dou0K8Rp8tRZcnkm8ED1E6xftvUdya1B4M1nqXIexdISk1U3cFB\n1vGzASutIlOxzHgpC/F4pXnbIPvYxKJZZSdtcc0szlKxAgxge5C8W96EGVWp\naVwEUTHptArFCK2QxfH3FMXhgVDBFMzxzSD0jtCw509CaxgHXo9Z8wzrGZ9P\n3HEmG9KHKZ5CtAfI691203bvWiPBon0rcsx4cUTTMWRVlqOwXj6Ekbx80aKx\nOJ9JD/WAoiuWh9ofoXckHF26C+vlcuavri+zHy2h/tG57zMya/bEViBHrrCo\nWO28bBEAF0d3QEIOhFQ1zHCsc2fIPKKwQF3pczBekmBVUzR3r4Wyf+8KQlPn\nW2dTKCyWLHPrfU3Di3mChiHyF8XCFJw5II2q1Wgh00lsEliw0hjUZHvKCpZb\nyfVZoQtDhAb4hvWwDXvNSapOp+hEqdhMq9CnpsLgWSMbEViLThISWAdBY95M\n8xbNAsOkjOL0jF5p3uDFnaRLPSr3x1fxjjWQ0z9cSRcLDfiuSb/R3fjpUvBJ\n4wwfDQ7vxL3Bq0oEInSzTzXrNW2NSy1KfiV7TdvQID7gaGqNFILDcTIFGO3a\najOd\r\n=qdjU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"84a3b99f97e764b25c50119d518129809af81208","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.1","@adobe/git-server":"^0.9.3","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.8-pre.0_1537370586681_0.7461611418715561","host":"s3://npm-registry-packages"}},"0.7.8":{"name":"@adobe/helix-cli","version":"0.7.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.8","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"14543e853629c11e6df76e44327fe6b3af59f7c3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.8.tgz","fileCount":251,"integrity":"sha512-XyLea1NgtkiY9hdQLGnXYOHTPDGFWUku82ZHOALLxWxIjWCxuxzHckrNkyYKnrJfA8ZBKT49njm/CoR/F4Igdw==","signatures":[{"sig":"MEUCIEE0lbSH1zRskg7htevKB5yV6AcQWMMoELGhSq8SkS/wAiEAky2csd1o81LOeRvWsBXdetjWRljNqc7jA1zdXY101ys=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":910002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbpRVGCRA9TVsSAnZWagAAiH4P+gPf59XlQUXL5QagK1Ro\nENqtZsn3R9G0uuyTXFQn12qWppIbawnpXK+BWk5dq/LRO5lqQyZ6sTfnb/kr\ndB/leDcEnjYZXNegpDmcE6i8UZ7IFWK5KaPclUejtpVG8PggZdrKvKIRpqMA\n9Op1PoAp4xKzIEp2iNAbIHTGa1TC/Kt/iFHNk1D/knvmFfp+vPw9MybHcxXF\neqetoU3r8LfJsUBNtTKXLkvR2oBLgo24qYLjQveZ+CnWyA2wblFRdZpxa3rK\ncYaGBtAcU1eoq4UJAwIcoQZrPyhotRT+TbsHxrOPgz3gsqvi56TZidH4kRly\n/uJcSAes/6/MYCEaVAaIxZmYZem+XfdxQ3ByzmiAZkfRrt++5VTOVaLScqWQ\nyTlKkIx6l9tkPRK0fUIsbNzNV6Eel+27Fu2lsCab7JKdhQtd/Nk0A3l4fnV+\nqyLjCrs8PUaAqDP48Q37+Lg3XQhfESiUW84MNXSO+J9k5At2BF7n9TmncXYP\n+rnIdumYN5T0+LTxAR1TRAogT+AO3M8fDfeaCD0lTD2YwNyhtg5KX/O2+WQH\nKpADYr2ZuWX9Rq3gv+d0vOLZt6/3oClHMGAQWwVqn2W0cQi15Vq69PFj9yKB\nCvATw3hUKOw+s0c7X4G5Y5/Lcuo6bECN15TfW5wbIBOJZ2TMmycO4MUT29jn\nQuHN\r\n=qXou\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"9b93650c499ffbe70d182ac67202aae210b89292","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.9.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.2","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.8_1537545541887_0.9818959123118802","host":"s3://npm-registry-packages"}},"0.7.9-pre.0":{"name":"@adobe/helix-cli","version":"0.7.9-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.9-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"11a474f8f6a06fd920413693bf216393c18265bc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.9-pre.0.tgz","fileCount":250,"integrity":"sha512-fMc7UQ+eWyfXunMt0T9f8k68I86McPWuUuzVGZ9VEbOYfe+JNosC8ysitY96F0n+j3L55d7nx2XpRbsJ/AEQ0Q==","signatures":[{"sig":"MEUCIGpfSANuAFzH7dOtEMRSTNvq5M/PF8id4dwrWOQzmc67AiEAjuW3R5iriRiqMwO/fUBF/quMRE7Xb+pJfJAlP8sbxT0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":871855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbpRk2CRA9TVsSAnZWagAAGjoQAIx2C52U3oe79iF2D44M\nFGGhAUL269TJEur9D/Nw70js4vC+5ysp4TdNjEtfiMy04vm1LbaMXuEXgziY\n0nxkQbxEhMqnzKJFlEGxPSPP/NK2LmFHkES4o5D0GXzrxpxglZpez5OVy2SV\natXc1W0Iu1z7cgPagFmXniAzaubNVDxTxf85VoSzB5RUlhWFF811j7cn/vOW\n9CBfYbuPhS0bw4J0djScZfI5ts/U4RuAqfgjP+IBe50At9oDsVy6PL+8RyPB\nE4PnMdme/39HYUbEAmNrAe0anTge772ZryG7rr/Q/UId1hMtFuNdbzO6VSCL\nx8XgpmheGstej0lQehPIXI173WgFNvNMzEYhcc4+FGjK0zweCfPcWeKHmVbo\nRLVj3Yv8h0f2bs3pVHzQqTRaq1vQYQ8SkL73U1kV5dUaHMIo8TS+yNmt3HBF\nOMK+hX5kq0gMgdc5GwYD79ER2GRMQBFXN3ZbgAlGfw/oNLKPUZHhoQ/Zh/5h\nu5koiKcTIgGsO7cLG3AuyVFhOcdQO2KGhJDmqXLkZiBY+X095t4iuoB27JD7\npsduRJviR2OucKLvnbysaJxy7c+aI/ApxKWC3dj9Z574f72EJSYXYOGn7cgy\nIou85yQP/T02wACQ+DJbYoQckFTcOOgopmpua1bzENpN3yc37GzdmiauOF96\nsId2\r\n=Iq72\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"34dfb4acfd703e04e3f3dc94304b6d8d9e15feb4","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^5.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.2","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.9-pre.0_1537546549551_0.9138806824280326","host":"s3://npm-registry-packages"}},"0.7.9-pre.1":{"name":"@adobe/helix-cli","version":"0.7.9-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.9-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2aa927ad56e8975c73bc2a30756b46f38147568a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.9-pre.1.tgz","fileCount":250,"integrity":"sha512-/GCCflYAaN27cQznX7Sm6X8zXRfBuf/A3gnqvUlOUWsZJBr5fhmeoiI0+mt2kNm89BXd1LG5rw8+kYilpzlunw==","signatures":[{"sig":"MEYCIQCYC9cEwnnGqiPbTKFT80/5+i2N7KRKZSmahlvjK/7q/AIhAPF7yHLTO7YATPAkZvwXabtT+rcRAhaJ2uCi5pS9lUu7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":871867,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqLiSCRA9TVsSAnZWagAAUTQP/1rLA2SapRUCQ/zU27ik\ngxA4TgAKu9XpnjAiuNKvaGU+T1Ay3CGenvJmonzK98FJtXam6CZt33C2ZxeT\n5hZrIq8qK2JWAfWTlDXdTEFmUw/zG8zMp1FDbx8Yus+yOpa9YzuKmQACKwMd\ngBy9r0t7zt53wI7dXye9rPZ5X+bf/IFAFzfQmZnB3AD2GciZBz1PEFgGiyQ4\nR+y88Eiuylh+Z4XABYuoGHmSlrhhw1Ua00J9uN3gBMyXtgegIHZWfoniTR0q\nOK3nUDPf4VXBZpTqsUGq4mnJIh+Gwg3RROu+DRC4E4SfBQ7kaXXuH2SO5w6C\nUDJcJWP3RgIYnQhxwVaqO5VRndewSGDJ8b52vqo+PTr2oVI9RvH0NZCkEkqQ\nyW5iIJZeWwAoEO1CzAY9QiLLX7tW14XnwBcyPpLKksACRnelRRi1pqHwlvlv\nu9DzjEej8KSj8dNqTSjQuESUh4sx5ys1JShDIavz2UnC1y1CL8SZGhydwKyx\ncAAQWjADwWXfpqr6MIwdTVclJQXrhNoDyDKLlfJlUs0zAzZa1YRMwb0ZBvfx\n/T/iz7NSL0UJt8TMECHlaT+UVvUWSNNuc0YzL97cSGhdBnT9DBpKT69G7kHN\nPCw/dYwdxdqYx9OMAs0qt251QzzeTdJwQYy8rXjcMlkYwGeeJ9n7iOho+F/4\nnpYu\r\n=iSfj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"74e0d4ed778c3b72768b1088446df7de4c433a32","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.2","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.9-pre.1_1537783953211_0.40885946151212926","host":"s3://npm-registry-packages"}},"0.7.9":{"name":"@adobe/helix-cli","version":"0.7.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.9","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"dfa74e4a3d7da028e7b4483c73a7755b5442f1f9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.9.tgz","fileCount":251,"integrity":"sha512-JplUgSLtwIVSBlbMJcAeFVKBvDlchUzPnXDCpsMS2j00JvrBZ9uFZ4aw9sOzHRULUFtcr6EL3GEN4ifpivS7Mg==","signatures":[{"sig":"MEQCIFrXdVhT7oP1i7XsZl7SW4nA6U7nEZbzZLNbCX75zXjbAiAkbWyrhxbtgfUli0ZijgN7z5E+DSiyumSHaLD4YqX+kg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":913945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqNQwCRA9TVsSAnZWagAAWDQQAJmwoe+653eUbH4mfryd\nexw+Ea5DfI0DzxBcW5Q6YyHPSobpfHh8iuNx0AdQWv0J7snmn6sRdhDQeNVx\nBVLR9iMYgmzIGBQ2D4uRWO877O37v43RwqUT8cf740nk8psfA/47G4VvUI0Q\n/1eUAyPOGrV9dPWmWBY6RzQ3+PmhmoAYGKHgDbMbmuTLElzxXHDiqxTWTtuX\nVUPJG7Gs80uctDRbctLcRv37bkK2xyCAdnoUcypJF643jTBsxQ0OAAbs0GyQ\nfXMxYuGms52sQoZNFXcM9osY61FKMxMscZcxnn8dKE0htphTvsiRE9gJihm4\nL1Yell9E+ouwNl+Ao1ZDLDPzUnmpAppWMYDlIDcNcu4+N1hCKSpLGIThK+A8\n9vKgHa6qOcemvpBJHQryxnNU7F2k0wfd796Yu/Ye9wfbsyuW5Ipi22J+cI4o\n93jfouZcdGSF0Eea0UMY2wACKTwny0I0MeKEpxVu4Zqbim5lhLnvOQ5ew2P+\nFg0uqeLptwd69/ZzEaciXkoTKJJvC+EuwfbFXeJKkNpSFFWWOltqzhOPw30S\n0DtB6k1ax/cr7vv2zztMdWE/jrsuUIHeswAZ8gF2cvx1V5gfwwSMzjjswdxa\n+axXRRXeuw6u5mXyQ//QDRorTHJtxWyfuQodYMRKTD4dcIEFTfOH2d3eT5Ih\nN+t/\r\n=nMF4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"387aa6b193cb8e0cb9479944b0ffba9b9ade58a7","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.9.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.4","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.9_1537791023282_0.713478294882071","host":"s3://npm-registry-packages"}},"0.7.10-pre.0":{"name":"@adobe/helix-cli","version":"0.7.10-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.10-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8b3905475cc49be540cf94e92b0508bba2c35848","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.10-pre.0.tgz","fileCount":250,"integrity":"sha512-Tm27Z9hHlMe1gM3qkWW045sqbKnk2OB044q4ib4L++CoIaI50YIQgvsiEW9vdoC9QabYCB3Ca45MP9ynNXNOKg==","signatures":[{"sig":"MEUCIQD7y7+AExuS6hNB+6Gw/7roLuro1RUqIlQd2MDaF8jtOwIgZ3J+r/whnjaLFgXhP+YPaiz3lSse7zjbQSC2GD08rJE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":871856,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqNgSCRA9TVsSAnZWagAAQ/YP+wYFvQSoq+ESNxSi7bgJ\ncPAAiF8ZyweKxxak/1UvGal3afiIEoc9qV80fivWkpnmdtsexPyL0IhWQoFu\nlDML795Ew7apoKslYd72FC3x0QN0NXT2urUky6G+xlREC23tXnkeEbVGRq1E\n6ea47YNEhzngp8ojR4TaZXvxAEoPj++x3JiEDXLiMq5GSCyPOh6TiuvIGYJS\nX5Q5oi4CEcvwKPuvWg9Iu9sU14oj/NJTHspZAG1br1/0hY0rgR8E6BbFXdfO\nEPqs0oxXnrig5Cs/xgIh8OS0D0QBgP49/k2J4RK4HC7QNizBkta2QR2XTVaj\nx6T960JIWpnrb3F96Q8HjCEhUOeNyyZweNXbtrVt4GWbQvr7dV9SBcXkBsE1\nA26mpYcqfeYEyW5CWpf8vYMHwHs2Jv5jZmfMrhu4/BCERmWubUzdy8zDZrAI\nCRM8wlpNmqW3BMuIwg/f/9OjrRjxU6cUiqdTrUdv+IcxiIQI8lxpDGO5q2Bh\n8TlHhrmrWK7uqidm39S57dcCkSk1JNe/OpOUTbvvDvqBcbr+oWb8OEEgk6M1\nlHrNQ2HGyByKNxjbJSy5gV7Dp3osrawknib5kEGhHre+K9Gy4g4UKYCiZZuP\nD27E4F24I4kvBVD1h2KQx1coJVrWvH9qr7Q7+lXpSLghoWZx7vGDAZxcNpOL\n7du9\r\n=UqXc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"959f2185bf7be390919854d018869a86dea4af4a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.4","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.10-pre.0_1537792017131_0.8898047259019226","host":"s3://npm-registry-packages"}},"0.7.10-pre.1":{"name":"@adobe/helix-cli","version":"0.7.10-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.10-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4c94b35f1c14caac843e7ebdd67df7f411435e01","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.10-pre.1.tgz","fileCount":250,"integrity":"sha512-pwQq8QaKD+j/inpuZl39GjcHwpHqcpHOR7bkUT/s8oB+T144sYaWtpoJuR+JHw7IwQq3UN8ojfNm7nQ062zCOg==","signatures":[{"sig":"MEUCIQDLFLBnpvD6rRNV85kUGS85Zo8fRxw8UsUTEiydnBPRbAIgep1nYCHzmrVkju/mGimFoSCJ0Tm5HC22+LfY+J4ueqQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":871993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqOr8CRA9TVsSAnZWagAAiyAP/1U3wGr2DOEpZKFj+tsO\niGAxBw9DMXVUZY2evq57h8Op55BlPJPh0JgcG1rIzRNANWJkNxtpsbhlUh6O\nEey+gf0QycNceuhnV92YGQeMSxUTKhhBD745SZIc0/hVS/5ryE+4Lr2IBJAF\naKRmGkKEsAV1VOEorvHOu/4JL0aVi8rfiahCqN9aAHyVvhNNJiOSdmk29NPf\nAhTGN4OPg0Mr3KuXMYTutHE5MWUJULFq6wGafUX8DvIuJg6Jq3d0TyYAv+9p\nGU9dXO8LL4UT9ATiNeXQfVLI/vYGWTKeA/VQdxrJNRZZqatnCmCaMNf/zJ7l\naXLSZMAavOp0T/XQXJUOlk2dlJtQ1Kg5z/xqBgi+DQ1qqnCciW2fhG2MPBMW\n8jb17bKCGhPFLhpxDFcR6XA3Djbgntcz6v8nYVU1WdarvikTlp+Ou1jT8vRD\nV+b87bh6ZTheOUv6PNXg9XcGthmGYeLIyW/IdHV+ZCaqSwAHrLTLAjRr9i6O\nlxUYkFE0autHH2pTGX9wFh+XCpGL+mo6Xr3HgHg16iGkacW2Cj8Uz+kf0iOe\nZQqgwzJPuP6PyarfOvw1Edv/IHLdRethwjDWqZuWUSnuckJmlhYuHUalUMRA\nLDJoFjIo/U4XbYfdYOrOQpbCmsLSKzFUk8rRAJCjrdSo3lHRuCO9HVfcRmjQ\n2dOp\r\n=9M2F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"ffad5dae0ce6aaa0f4e1d37d9f84edc780f1e61a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.4","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.10-pre.1_1537796859777_0.5962641016747989","host":"s3://npm-registry-packages"}},"0.7.10-pre.2":{"name":"@adobe/helix-cli","version":"0.7.10-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.10-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"433b730c743f3bc730504e2f767b7b2e88bfc7ed","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.10-pre.2.tgz","fileCount":250,"integrity":"sha512-vzvf9rtv5+BP9SRMTWM84Jej+mA/ZtneIU/UrNQX9z8mQCHcrpQu8ONke1PHRied6516AwlZWuz8fH/E/0odnw==","signatures":[{"sig":"MEYCIQD+LPgf1Lnjh80gPm6iQitxkOT8HgbwwiyP5X802mfvZAIhAIZJ4+KjbFC/8EA1eTgLj40ULzmkh92rI/cVEMsYuLcN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":871995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqPXkCRA9TVsSAnZWagAAri0P/3TXTvXQR9mTJBia3n/M\nEQLlza3s5MI49Jbhsv2FbW9B9/MHR8i9YhTdWQNz42hFpureCfENJZy1sml2\nzFD+VbZQyt2bMWanCOMXrniTc6sytSVrrdDeKZUD6Qwf6dOGvepCgEvm3xsM\n9ShF3r/D+r/VhwknaIUcHsSx9YQmZDpFtWrGgCjNLM9FHNPWAo9rE5r0ALGJ\nEyL6fmIIx6OzJCMpMNFv3n7CMAAwIVbN9dDX8v09/Wivtb6IsyOV/qAcy71M\n5FBups1UPIR4d+/JHZFrm9RUtIFamAi4RDK5S2x9H5KDAFinHfR+EidfwaDR\nvUZOAmtY8hf0tV2tmLtEEKYLEoM1l+jYnwoe721tcjAExM8qwvFiuW2vQDod\nloo8ENE6gXCI4vKbVFjCbkQg9JtNpwbbe4aNZ/5qP7aC/eeKYfyBb7W1wHM1\nVqi6XCIK2BD5X2CpxzvB1Dw7LXdQ9quhbHO3HgsH50CbBC4ZbL3VEbzWhVjz\nvwDUPKY3PsNbkQicyshtzfgywuCytxB4ysxFKnYDdIEpv0wNp7WcX5FPEQ2Q\nJnnZYb3jE+zdTz8kPMZL0L1kpksJiZak51HXNbYezwk0NrlQitSrV+zdGsfa\ngUVU/ecW+U/Q7ELkTML/4PvA0m+xsLd91uOsG+d/mvtaLudx64iHYBJj5qUC\nEC8E\r\n=7u6T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"7dc68df206da47377508de7e3fd844ed0c866fd8","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.4","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.10-pre.2_1537799651389_0.541650655461817","host":"s3://npm-registry-packages"}},"0.7.10-pre.3":{"name":"@adobe/helix-cli","version":"0.7.10-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.10-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1a807161cd482652ee0ec0a159af41a07c4fad90","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.10-pre.3.tgz","fileCount":250,"integrity":"sha512-LZE34twLgamxg33OZOo0rzJzxlH3cAegZXQx3+TEQAQeX+xjVxMgM49DkxdvYmjAeUaPK0x0kXEIfw6hzPCgWQ==","signatures":[{"sig":"MEYCIQDKl1FoVlJka/U+ivj7NI29c/lOsaknUEDFbXio3Z9vRgIhAKr7OP6Hl1ZNBc0CaKqg8Xz2+AtKPevQZOxXH8zEDuih","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":814609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqce3CRA9TVsSAnZWagAAaqYP/RAktwJCgCgdqmdRbUqA\nDi9/TNYY+AidHWXqeqZpLir1OxGs7YBUBSWaLFth33v0l5N1Mf3OzQoep3QJ\nL89zE4a+nGV2jCok0gG2ouSYKqXbl8BLke/hCrNrs6WsxXhFpFAxffWlfVAX\nUk3KsC8fjotFzPbRBSQruxgS9KXXuWRlGY1GDm4xzv7WXMMQVUrrx8KVHO25\nJq6Uok56jRdksJqsK1qO4CXkNFJIvLthMTuNl1VN6KqVi9U9z4yk7WlIOaYI\nWUSeO3d3V8CncL5qvM2kL3mUkFM52UX9BIha8IoNvgIrO/PAsMKNlIP/78ba\nrCE0Ev8SlkALYBmI3edBbGc0lwbJp0s5WsOP9VDXEr4OHYXwMCFzAuEbTqX1\n/IQg+CgqgtyGhUatvS9gbBlcUW5t+3p4lMCHU98aZgCQziCd5diCEswfDS22\nb9qydprjlCDNApyH1e3+UM3MVTNzpuGSQE5CwIw6/2BfN9T+YYWsqVLmG+nY\n2SpNrvQUCG7GmxxAHs4ofWzHRpRn4u8G9Sop+TT2xpVcf8J3D7u7m7T4Lq3f\n6sx8FWmHu1YapPFwKTnoffEP+xxRqQ7xvNihWgHCHs1xRCnhqzUUm5OzLXwp\nU9Hud0WbQXmg8yn5OiLhfVaHEMqL42m3+nGgyVYnxVVrywUxqoCPzadSPD/8\nc4i5\r\n=yd6p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad","gitHead":"8af2ee8cdf86fc7b8223e66b3dd4670307ceb52d","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.4","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.10-pre.3_1537853366396_0.7171282537008421","host":"s3://npm-registry-packages"}},"0.7.10-pre.4":{"name":"@adobe/helix-cli","version":"0.7.10-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.10-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"520ad39e03c6d082d94c2af0fea4e24187a3297f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.10-pre.4.tgz","fileCount":250,"integrity":"sha512-QuJRbLlua5uafk6kivuXgozY67EYOEgEevshZkW9V5Mw++f49yhxlqn21MhykFew5czg6iUwKa7N34fp3C7csw==","signatures":[{"sig":"MEUCIQCxLq7VxdrSDltB5bYAJ8WQjngV4C5LC4cNGXJzcKMjIgIgHSeyIofoLmadts+ntKCWpmYs7gp4Y5I6aBDoF//GMGs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":814860,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqfOqCRA9TVsSAnZWagAAzzcP/A8qC0HQSv9zrrLtgSF9\nnxPFipOke/wyi4yhWFrP4sEsHyIpWUsa0Z3pU1eimoHNf6twYowFYYuMwGZj\nRT0IuaacEpjwu1S+7jMQilqjN1epEQ/BN5SFmAlTC0XWm+wOOyZNJIR0k9N7\nm4Lp/45kLa2uRiDY0+Up72TETEvCvWzFLB9eN3nnteDVs2mqhxe13byW4WT5\n7nUfx1nABsJOjxj9gVDqosGIscy4C67+ugH3RFonIUGNl/tj0HY/uMonptOa\n2Anx8hr8vCB1OebAtOyureQdehUenqPQQ4oNiPAsiX/b4D6CJfhQNcg/MaYl\nLQfR1UIERreInud32FlI8+IbzCzzd3WFy0VDEuNsmg4qUbNtTvBXRlL9FORP\nHs6XcjJzD2CJnJjleXVRue14zD68+nELGS0Xjb3ub42pGKCcI7Dd0KV444No\njZ3zF5y6Hy68eq3CUXAMq1bM+EYTXUfgfgED+bzSFUpIPC1cesdnc9CyGXR0\n9eEa6clC4He0AbkIuzInLIbNbbcSi3ZA+P7vjwH2aWVoGuCEQWTMJrhz4BhM\nlq9lQkurHkn0W/PAxmc5wCD28DhOFfCk5qK8ds2kW6tBIwkFEKYKsKzcCQAW\nOShew6dhw5hpwTx3RvwYFiAlxWW6HnhLBBAxe8yr1JNQxbmzV2OYE3Me7wyH\n1DCg\r\n=kP+Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"3d4417d5cd171b171d8ae31763f3ebf56e6bda33","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.4","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.10-pre.4_1537864617777_0.7851474156390292","host":"s3://npm-registry-packages"}},"0.7.10-pre.5":{"name":"@adobe/helix-cli","version":"0.7.10-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.10-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e76b93f0425e556e828c920c97e09c77336972f4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.10-pre.5.tgz","fileCount":250,"integrity":"sha512-xZV8JxE6SdtN99fdw9YMMgLLKlHDDt9bmGoB5GNwWMauO+k4WHFc7H2dTuy9BNqWL6j6Ck8qMWMD610px79E8g==","signatures":[{"sig":"MEUCIQDEyjIl+VR15bVk2AhEwrCQtiI7QJ3dAsLXFVQMPegH5QIgZsEe8OoXGNZIGz/Or2GbBB7OgzzgbDSfJqX/7If4og4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":814948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqitWCRA9TVsSAnZWagAALyIP/3fkdUA6jDZ06UQqAgvS\nDIh4rKLM60XI6Nu8/oq6AhW7ITlqpOzUGh4qAfyUvOr6AXlHguGHkJd1bBSh\nTh/Q6NGYYzhU8oMtLiust/HObGFn/Chk/Sq13dIfZWBhORv7Np9n0wQ+JI5P\nVnUHuUC8rmfrPlkjyibBLasCHjlpQ/eA4E3l23Gt3yHo/hWo8X5AoDM99Fsn\nMKkiaujH3OlV82FDpemNoPT4VVze/aLbEwHDyDFYbj5/cGYc7gDptZaGxdng\nRoRU4HQFiKi4YyiJZXgV7kK3V3RYxOHuaGbzSzYpkQufPlUWkmXvx77N2Mre\nuQvBfupl8lDQ8PiHJPJvRbj0CaeVhRKCfkhWSvihCdAJJ8S4fHv6H+Jkb5Go\n6lej1diSxeMvKHfSa2uTL55DPXYtuw+UAnpcrEQQa8vqrdCNQGFiIzdzHtm7\nhrrLqgyUx+6iaJqzBxyYkwuiuCInQx/tKlwYTWkgnBnLCMpJXG9kq3FzTwRS\nl0UnD4/p7bjU4SqPlMueAn2T7KMMg2GGWDNyTuZ+5+v5f2FU27hyDtKV6Cf5\nPkjvAQOs1hU1EiKlpRJ82h8NUzxJRwFObAUhh1Yj5nqL3sq4cfDc0eO0NhHB\nEWAxFjBj4RQFDJJaVPm4L5r2UuHIY/eOWSQnAT6RutwdoT6oHdKVG9SbqyQx\nH8/v\r\n=kbaU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"1c60accbd992e78c454a238393af83f9361359b8","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.4","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.10-pre.5_1537878868929_0.5912175091832221","host":"s3://npm-registry-packages"}},"0.7.10-pre.6":{"name":"@adobe/helix-cli","version":"0.7.10-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.10-pre.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"566d40b4c77a5113f1574eeeb50862c60344d0a1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.10-pre.6.tgz","fileCount":250,"integrity":"sha512-r2y3NLbIJ+dx9zT2MuahO0bSMqww6jihVM6rddjKZa4UG95w998AO25Z/VcAor1XPu8lvnuCivARaiuHMlr//w==","signatures":[{"sig":"MEUCIBOFDk6RdMmESfu6x/aXWRYtx666rbQZnlp5Jrxk8Tc9AiEA9j9SmbTKD9FkR3um3/nV3WK7AZ4cMgfTk3aeD7iCoaw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":814947,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbql/jCRA9TVsSAnZWagAAJnMP/iswedmnyKdtSG2XlV04\nlKsbqiq4GbTjIkttP94XgO/6UVL5V0mq0Zl4b6ngQXcb3TyOyFdIP2BAvot+\n3l20Sum/OIw56FYjFXivlNiinWGIfdIUiHUIclBpM0o8ZJv2KDqmSX8E19ej\nOUcuCKGgef1D1v82scvoM8xN1gBLwbaz/urHZsZBtS4Gnuuxr4cQhiHsrOiW\nWQZ1O9ZC1RNpr24Rf61791FEKrm6PtGAP5bqdEkMs/vGMQOGq+FvzSIjiGhj\n8awJDThQra6MGOnvRl2wTTYwnKpwcDELV7Pg+yBDQieoxTGqNcAqnxsrQTsh\ny85hbog5ZkWIQOVSSysJKZCj8DX/MvvGIDr+j2OauOIrd8J7D9V0Pr2WnKjx\nsj45D5ZB7DzSIrBuPMV/PBMayhBIPIKpu1OkAauMsaRGodBl/YrfYm+z19FG\nXvYqIjl5qxhq8ta00wpgDxNPoVu2LOLBx2gdPfoIzWtT0TmBxc4iVSldgO/E\ncDvNkdJ99Bjl1Jrpg1RWE7/SqDs1pJuBaTChS9R8UeP+EBTSrDUY9Z9f6AKA\nd+EYXDEs38Vj1QmjGq/STmnDQMtdowWJUmUxQLKxP34HCdgU8Upxi+1su9Yk\nDmuEu4o5SoyAkmVvs+dz3MUM0J/vCyGApudc8mpNJ5RVMJBMNdcm4V8q7oKt\n6vex\r\n=mYgs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"ef76fc9e4c29320fe24eef10581631034785086f","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.4","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.10-pre.6_1537892322470_0.08475773497776595","host":"s3://npm-registry-packages"}},"0.7.10-pre.7":{"name":"@adobe/helix-cli","version":"0.7.10-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.10-pre.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"01235ff8c19b2061a6fa5b32f786b8983baae5a2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.10-pre.7.tgz","fileCount":250,"integrity":"sha512-bYSPXBcnlCvFQyIQWREpE9UjbMhAGQ8SJ095tu1sCM5imaaw8gaJwTbZArQEhrAt48Az/Ghl7POAWuf7jpQJZQ==","signatures":[{"sig":"MEYCIQDu8/IkgPvQtnjbfx9qJcWWGhBccQkuodBKl1+qtX/uagIhAPJY+ezivqlzHrEB+j90/AQasDLdQLjb6jVH/L2IrIaA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":815293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqmU+CRA9TVsSAnZWagAA+JEQAKUYTnhk+ds4FDNvBKvg\noEKr4V4T6UvHcCZ8gOQrLDYaqKifVyFeccNWqfy8Pg3gixqz93rV9aSnRN47\nC07qp8rqnzE6c9Mz6QJGimkpR6SNMx9473X30QlmJiTvLNINbTP+il6sXWYL\nrR4xuMfmcAwWojUXF36W/UbrC90DtREfRxXtrEFImGsYT470ZGXXa93JVKev\n0SNYUZgHxMY7VETNfCPsu5sXhXce/loJKPQsxZiSlmIfyXHqWTlvbaxFv8T7\nbPKb442WqAMvVkRTD7q0mXtpVZTmdVW1R9a0QyPf46L9zhEPMD9/DUrXhAdv\nG8u7zJCRFicthWvZT0/Yt/gTopgwGwxLm9jujo9Vt3bCpIAV1wzteX+aUeB8\ngpFsdWeTQ8IvaKGZFAZLlO1XiPwa2Lxt+u2qkaF4MW6aNMGec8GF5LzyK34A\nwOBS7w6jspHM7PKz5qV7lgHh+cZ0MjYwJX935B+LyazQOZgEN/oy0v6+lGAc\nw1jQhVp92J9XeVQ9dX1Oydwed9K5SA4b1+pABbiQsXtTW5zCiNF6HCiJZIwI\noRUAzCGMZ0/asd9Nz++u41GXe08FwD8BjAwtTMQ4oAxAdBsmjS5v5ytMLgEp\n6XQxxSEwKfe6SskD1yYENQcAsiGXI6dFqwPLO8fQd4HTyVuQBwdmxCxtilpr\nn/Vi\r\n=g9io\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"8d5cca35509d603facac9fb667f5d1ebfa61fd8a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.9.7","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.4","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.8.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.10-pre.7_1537893693463_0.4162180126809045","host":"s3://npm-registry-packages"}},"0.7.10-pre.8":{"name":"@adobe/helix-cli","version":"0.7.10-pre.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.10-pre.8","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"71c22ee4070150aabe5e0f759d432953ab40653d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.10-pre.8.tgz","fileCount":250,"integrity":"sha512-40GolIQzdzJ9qOHoIiMNzmXGXoWn65V780Lpp28/qkwQq9UbOx1eal2szxErczAM+m8WFkHbhrCE6gZimxKgtQ==","signatures":[{"sig":"MEYCIQCms+pneXSc3JT+8WuKPaBHzrWU6i9odF2xfOgBXQP+twIhANo5IGTMzL4ebjsPZQ4/V3fRGbuZWj22dsO+2ItqkjHA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":817532,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqtY+CRA9TVsSAnZWagAAziEQAJne/HvmOXSBO19hTDLX\nWzT6hXS3/OACp+D409dE1uV2t3btXTDmNsMfNpicF0ceAC0qCxJtGLroY96S\nlcgmgN92rOWdjUzn9cfO1pTAkVcgxeTqnvFP4o4fpiKnWAvwNiBOkSTYbyfs\nt0R4lkdYxShrBdej9CUzLzYhVgKABvsozerWj/gf+pmN1wYa1WKm8P2+dCor\n/5MOaYpG0I4NHItIkaxGaabGTPZO/VHPFY8rbW/bJXmC/9NcCwXTYFDBc41Z\nTuGFwKQbK+qTdGkcdOXwk26tlNxq57lGzupwomgKl9tmXgG8sWSZFFTwqykR\n40qUExHJpguhyvbvXW3wbHuLWmiFJsjbCS89wleJS8ZJ7ZfwfHSHGRtHXbSz\nzi9zEnairTrkhKKhQgatYC5u3WbnUPmoD+VfbGeyd96Q79/7EvLHWvA3PM2G\ncJc7jzkKBny54eCcKy2jqW83Y1PNZLq+LJIJpJliIcAaONKZ08bzZVRANHO7\ndf4cW1VKpGHellyrba4Vn/ebAbSvu6nz4V54oyQ9779uLx1BbpbVjxxFiYSv\n/Bxjwf7MQaxYC4rnHoypZXnZ0C1+eWr5zYhxyW7ESLYGDTJ5lnlL16ESPU6R\nTdtycdZoBWXjGnWDcgFROiEy8elwB+IV7BvKQ3Do3guEhV2e+8IabyFWx+Ih\ns0nW\r\n=Zj1G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"ed69e363c51125fc0d603a0296ae433ea05f01db","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.4","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.10-pre.8_1537922621790_0.8112736391580706","host":"s3://npm-registry-packages"}},"0.7.10":{"name":"@adobe/helix-cli","version":"0.7.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.10","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"32b8b69b061e68333a7d97750a8d4dfce6e7fedc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.10.tgz","fileCount":251,"integrity":"sha512-NwiOYLcf2x3sE6BaC6W/UKcdXYycEFkIXnCakJIeDgZov1aBuT4JVnSr2/hjEiWjT3tHmP1t/ou5X7cIHQcwzQ==","signatures":[{"sig":"MEYCIQCufQceMPzXUAj0SWg9zjV5ScKxzukG+6rF62O2fhDxxAIhALzyNOdWLPyF4apakYPb/e5k25oAnzO1dlWgQ76vmAU/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":864802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbq4iLCRA9TVsSAnZWagAAT+UP/1nvi+HzMC+IlnxiBgZs\nO0rNdi+Ra43kjD25IzsW1QuMDXr2TYdkFX7rIVCEpHjSl9m3NTEx0t59/8zR\nfsGVvaRYN8/oRmH6v24qI/InFAvLxXMv7TfKhdEbECEU/YHDvQdOt5CGRgy/\nR+rZ5WE0YWIVxELTz0EjYT9OCrjn0x9aJhPQSH1Aw3gGQLJf1O9AqC77BUJJ\nVjcA8Qu60s4rsVElcKdhjVvNhdANbrHNPzefEzXQ+42/QvSDjBm57O5KU2tU\nNkH8+68fg2IjrBiQKOEcPwWnz4UMO0Mt7j7m1ReySYFEbybBGAMwoe76LF0O\nu1z+bs6XdaBAyN+RDCJyMmGmcX8GRARjCj3Jrcgo5WFTAgNOSrvkQPo6V5pr\n2I0Wf7G14Q9x151Aan9PdqBsb8rubjUV9siN2bdfy+hfBloXLUYpyEG5OH8m\nOylGAptQrbmbbXlxKEWvTaMnvAAj+Ld5sI4piZgvWvLwfsmXDPJ5ZdYDxa8z\nUpkXZT0f6F6sng3wfYb5pQYSkKJ9EIOeELtwZFjdfqfSK0wXX5dgu54RnTL+\nQ/ywssVQAan5FGaNI6B/M0K9oUjbNx4kUTnyQjk+0LKbs4YT6mmSgVxzDCcY\n+WIDi/7Noej4ZiUcRJI82/+cnRHBvBXBtS31OvcFxXvNqXLjoaCCjJ1QldIl\n6PMX\r\n=whmh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"fdb1fc9c1082adda056a34ba611f5dc813dab176","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.9.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.5","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.10_1537968266508_0.4816779091392134","host":"s3://npm-registry-packages"}},"0.7.11-pre.0":{"name":"@adobe/helix-cli","version":"0.7.11-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.11-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"76179c2501a08d088220fb7555f590160fa3f712","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.11-pre.0.tgz","fileCount":250,"integrity":"sha512-nraekOIWZzEwq91JKxq4iNvtHHbbSzeJ6d7siaTE8/49zragOMDjSrkCFslUrPcrgJ/y31DZUZcUsLbckAZcSg==","signatures":[{"sig":"MEUCIFo8G8gZ1p9vFf7eV+V+CnIPX1oiEBSMfLPBmIOcAKZwAiEA9pIrQLQFFa3Mf4jsa7TJTkuQqcn9QP2W58v9EDPNx28=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":817518,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbq4nOCRA9TVsSAnZWagAAZjgP/i7GSaKTIupyiFSgECDq\niqUFH1gllcwquBP7XtVhiOHEcJwIQaH03/T6L7ALvGhloXKf+it7O9f4TW51\nEDuFcRppGDIuvF8q+Q6KWHIs7RV4XkDWfER9Y7K1cvjK2WWJ0y1ejepucDVU\nL1D9+MeifIl0md636lKC+WFFmzUrSdhcUP6Gk6WwyjL5iX+v9Fea3JAVjZbk\nNEBpnIym5O5VfqodvpnKIp9Ob4zJOI7pGPJgAyjI3avZjNdyZxr42BMnX3XV\nz3CYAKfBM7kq7eaLaMl2Ogfz6Hqbw0ZVRpYzdTcwyob01ucXe4VaxvR1ReAz\n8ybR8KTJ9REZ1agDNkDqJVvloVDhm/k5CkA+mIqaIQ6QwtWoYF32ZYGoA06l\ne12Ngjp3gghGnUqu/fq59i3rtSC+xHyaz5k0o8GEkyruCyH4ScSgtLl9CyrJ\nuGHHeJUSeIT3/TQCOuj+4zyRFounqOeZ73j5ARu3QqjQuDXEtBfs/McnLJ+9\nmW6r1lWMfsLvKCgPgBoGws9nkZA8+cHUxedQE0dMIutA+Vzg5tewGJl4I+cs\nq6jnxLwQNh0WVL16+OaFZXu2gzzHGGl/1Kty2e505OsMg+LtQwTw17SKrtRJ\nE5LsbIhZT+yMWA/64TJhU9Cm55GVXoHPwqZv9OCTrHw1QxItvidp1SJsHaMw\nkibV\r\n=fqtI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"93a9ac94bd175dc2e3477d64033bb727ee343555","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.5","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.11-pre.0_1537968589700_0.9571631548736215","host":"s3://npm-registry-packages"}},"0.7.11-pre.1":{"name":"@adobe/helix-cli","version":"0.7.11-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.11-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"38cedf9526f0be8b7c3067dd2d435a45e5021977","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.11-pre.1.tgz","fileCount":255,"integrity":"sha512-vKYayOmZiIZ51XCWgO5cxzmFT0ioOzWplTNqlsjzQ7nWgOhlzY2AtPRpOVwAucM7XLrhJjW805uknDlqwflg+w==","signatures":[{"sig":"MEUCIQCiH8hLbrFAAVr/Xdw2SgsuBkrDMoXJz8LwhjvfEVreBwIgebW5o/Dcrozun785olX2M9Pn/V5Fosbpp/PXbaKn8bQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":840345,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbrMfkCRA9TVsSAnZWagAAD3oP/jfrZWbzZ/smB61KnG8y\ny1dhKVdbGSPMQNqYkHAHRH1k0zCceKM+zFiactHVrr/nLmL7t8+bOGYkHE37\nSmhFSMSSYjEzT0DXyMcKnttl4AVO/NYXuZFPeyqWOzvlMOr4m87lQGoApg4V\nX1HDlu0mn/U0i3mhV2FIiNR5lbi8gV5qeFl25dpAjuSKPLXdY+h+e5Zn18hQ\nVFJu5Psa5EKdyv7V0trjg2G+rf1wKBIJIzTXO1xc2t8tf6JkoGPOEYnJA2g0\nZsq/VJwrTbzpNo9kdmaPYyBX4thySzpvUQc37iZsXRYybYXwMdzw2VhMuaug\nEVmN/x9Rn1uJmbRixknG9YOX/8aITfklpspBCN+RudQ029NndmKrjnpft+nE\nkiEEyAleZDI3z343xdgiLEUTLD3A/prOg+hIHbLluWMRd6muopKlf9z4tG2B\nVJGYtDYQG18tcGTvjfb+pDhMCK2TBqkxAa12ILf9fgffD0yyR6yY9R5V3rC/\nVye5IxJ6qALVlF4UED0EgUJHJ6Um8MQyzu/rY7tWMMbIsX0km+AfCln6RlGf\nnBzS9A6STiqGu/ge2iFoKecwW0gp+wIdOj3hJq001p61xnfc6NEOj6GpD2rG\nxEKyhBXJPKXmdakRoj2Tvm+byYtduTyH/IVsmj4G+o38R9bVIZl9BL+uqOBK\nfxO4\r\n=tFZ4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"596f9f5b84564549613694af1c9338145de33b6d","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.17.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.5","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.11-pre.1_1538050019420_0.19740870161318624","host":"s3://npm-registry-packages"}},"0.7.11-pre.2":{"name":"@adobe/helix-cli","version":"0.7.11-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.11-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b2489572e610612ebfa39d355a10a02ea0b195f4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.11-pre.2.tgz","fileCount":255,"integrity":"sha512-ODcF1NvsaGY5u/qkqlwh1I+TH+RE6VUTCPgvHlmGLPd7x2fS/xoqAx102FCeR5kD/LrFrLJKrIfVHBLHgfNDxQ==","signatures":[{"sig":"MEUCIQCZCty9WiQc/ZPUwEiuENv5gIEtK0AhPNOFOW/hvq97kQIgWYIdEp3MlyLq/RS+N98uN3HB8EbBVgmHD9IMOsMbDpY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":840345,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbrXiTCRA9TVsSAnZWagAARXMP/jiPPu8UR9Soq3B8wF6y\nSRgOxYpAHZdJhusGdNwFpIpFQYVj9SkcSOYxNcrIsQTgjZ6i9LjxGQlDAuu8\nnLnPOdeBLbpPSMLnrCqgP9eLoFU2l3ExPfn6NvkH0TGkeoWObEXqvI5QrJXO\njp5xJj/Mxhoewf3h0xDOgiPkcC0VkEjs6qQLu1ipAdWPnbcqHVjkcDXWVvHi\nPMGdejeqoBZCEIRr9P/3UkS0WFXjFwagcpZSuThm6w6sGIGbjSYrrP3IW62l\nrYcPEYc2Rt3vrvF/XWLO6fZrD1SXPLVlO66i/iuGOyc44+Xx2MNMXEDKlX4b\nhB8oPA3zrMwTnUHwMbT1Z+1dgex4hzMElVF6g6oohbE1uPTrhrsefNv81cfO\nrE50xX7xpCi1VaXz6ZvkfQO5wTlVfUGemWnQMk5reVr/xYGWJ9d8tXXb+JKy\nwAdYl6oBpt+XkR4M9FmvGZRlr6fBzW2nzYHy9BvMYfSNKufBxMl2VRCpUNLS\nn2NipKPeTjKua8I2Wo3OGDgtN8WFIMY7I4HqeI9woRjcxvJT1d60bJ4UJaNu\njvgYKn2x74q2eYsFYmmo65YIBn7cX7+b6/AE+o+FDWWILwQMsUFkDN4HwWTz\nRRTGK5MI9uuXyX8+WfC4EzHGwtPfBVNgOE3JXDhS6Hk54/3EEwCR93t/0YB6\nWMG4\r\n=FLlg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"8948fc8ee2784601710a67a91c22ec0ced384fd5","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.5","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.11-pre.2_1538095250474_0.49239496674153616","host":"s3://npm-registry-packages"}},"0.7.11":{"name":"@adobe/helix-cli","version":"0.7.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.11","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2d3e5ae160dc39d3e1f54b4ddda9e274042c6b3b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.11.tgz","fileCount":256,"integrity":"sha512-tan/Av/bUP0pqLEg/R6CmdML1QOL6/g7mY6Gvml4e3FR1V/f1hvTHjolqp3lWIMR3e55X8P2aRA75akY/pyi4Q==","signatures":[{"sig":"MEUCIQD5gVXmAd/dzXulsux3u90uBK4JatwTUTrsvdGRpH1hVAIgFfHMr7okoyxTh329Myldg6m+Z5EUjOZZSOi2t+E1D7I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":890910,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbrlzYCRA9TVsSAnZWagAAYdQP/iXehg/AssoXAbm2mFJS\n7Nxn7SXxo5GVtdqTeuAL7Mwoo/dKrMSyfFXpQT9vPl6sMDpq1mdCmxARZyDl\nVSfEVjlI09wrKXTb/YmTqf9izpHwsegDu9b9YX0zbT0sRRYfTg1QEv+7L7Ru\n6Ip0NQDh/Oe26zHpVsW10EZ1KAjEj7cjKx4i/e3rT2SPzmZoUIN1HGJkM/mA\nWDp4JOj71blcwfTkAcxI7UplvKSwjylrfYC1S2yM0N1QU871P9Zkk96bfw/k\nNJER48ZJ5tiJnIVPizZn1AXimr2uepBB3SLfYUUz6Udk/9W0sVlctnC9xZG3\n0K2my2z3apGqWwe9R9a2B+trDRZS8jizKBynXqmVyiFVIqtWWpUi/vzg+73O\nWwmzjkLGMbmaSDoA+Z8SZ/k5PHlduCQqrFDDtMhHkUk4Qty+AbsJ4+/voo12\nuEtkuFpLj7S88mrFjDGbS/ALMBG7I6K+10mFAx9uzrWIEkdIUx0kjfml6xZn\nmUynCa1s6M1juI58kF7IY8NqsgUyUWf3eIlzSFgCb0HuqsmpC8OZYX10VHNU\nMGkEwzJmEnWVYFO+wbnZQNkfc4MMa2GXo9zOq0tj0nh69Rd9rWFNLpbUmeWI\nbv2fCVQXMCzTwyy0piBqHpz1wnx5qayZ3SV6pPBlsckc6Gqy5H+9yZ94SNoW\nebJN\r\n=oNI6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"14724fb0b882830ff2f9db5d1b18ac58bce6e447","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.9.4","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.11_1538153687597_0.8611786737883562","host":"s3://npm-registry-packages"}},"0.7.12-pre.0":{"name":"@adobe/helix-cli","version":"0.7.12-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.12-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e13a561e99188627550ef3f31c288244945992c9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.12-pre.0.tgz","fileCount":255,"integrity":"sha512-hxyat3gzdFEQ+yS8cg3j8TBisJDEnyWBNjpU8l5x/p1uvdKwhTRiZs17tV0lB1ur/ze9he2RtYxsJHEDs8eEWQ==","signatures":[{"sig":"MEUCIGgyPpi2Q2bomMM+pM6kfLmsCbyFUV1IY6y6XVIWC68PAiEA9KuTL47GetRWG5OSNLlRdDjiwR3ZUxTNuuk66yiTChs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":840333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbrl2qCRA9TVsSAnZWagAA2w4P/3kWaZXvMc51r2khRcUU\nI+aclWfHiAgWz+mzM1Wvw5gcZCC2EwqBjQz1Z5HDj86eTBhrHVQuR6KmInOD\nk62fm87zVCORHjhG+21Kge5nd12Ik+uG5JIzghc+MkJjGhulZeiYdXfTsqa2\nAH46AALdS+hA00bO3Ond5W6OmunQzPjNlToLpNEde11IX/NKVruc6hiTU05t\nh4s9xGiGAwpKTvfQ3UWQHtwTjYRquMVCa/EJKkuAIxPwnXJwfIO2etQc72mu\n1fcYQtDs+P4tD8glAQ/Te2j5yMfyehI+RcOQrcHT2VYSLLhwapsK1MAlBI2V\nMNDFxkRl2fFKFx/0fL9g8Srbyhai4pTsp3A8vFCHtdq04xoZzMVbFSCfJmwG\nML0m6zNcKjrEcioPhdoMQwRM+eAnqezI75KpJZx9/mUZwiBa7/KVw6Qpj/qS\nNiJTCk/laYtYAzLWwof9kDxYF2TbYY5MMEllO4baHytJMW1dwmjWJGhon9zw\nCZLKsJ9RsxlSg2P6wXqSOIQD68TqBjWVMxDWLL33Z0rcCiLxRsTu/1LrF5wP\nYpCzXY7XTijJHOaa5T5k5xDm9k1/pk647boqjPcn4eQAYw4+If9yfldoqtC1\nF1trB4aAY8YPiPqzwiKIyMqP+QnEhLZieeSwq8Jn4T6VqnHffl4b7oplnxTW\nz7is\r\n=WMwi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"8a076669d638dde08a78707ea1e6ec26c331feab","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.3","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.0","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.12-pre.0_1538153897755_0.6705452595473658","host":"s3://npm-registry-packages"}},"0.7.12-pre.1":{"name":"@adobe/helix-cli","version":"0.7.12-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.12-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ed3ddaf3fd531aa9dc4ca3ab005637834239a0bf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.12-pre.1.tgz","fileCount":262,"integrity":"sha512-np165T0jKtMjCv6+QqOPDzH1MmpCwXi2VR6DL65LbAVmN+JpZ/3TNCQ7+pwU4F4kQOxUMSTamfCKkDQ27eveEA==","signatures":[{"sig":"MEYCIQCX7+c7qLAs9sGv/PxaHa9p2d5ssG/b5rYgiSsiadz0DwIhAMgvjMv8JdOi4ydigzc6dJNLr7l0AaexyqBru96HWk+M","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":854602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbs2pyCRA9TVsSAnZWagAAIiIQAJxJyNJEdMKhfFb7CgRa\nF8pk8IEdTf66jhxg+mTEaRl4kxzvRWGYoMO7UEjFCizE6zihZyQBq9j8VMTL\ncsoaskS/PqH13dE5eeLf+3kSAUeN2HwP3lP9unaI4xzDD/xMPIv3hIeP+Xfg\nACskDxPiXOHHsstN9ZOT9JRbW+oEQWlMsEJWc7idEf/O3ABKw7zpzOms7qGP\nPwXzezYZtmt+/MUxf8Z6Ld/iSiMFw09stTCPITnJ7/8GUwKgbJ+shkyc1gou\n5BrZaXUb2x90UMWEg/iCMeYw6+kblt3y1on3nEiju78N1L4VTdDJi4o9JMBU\n5uvER9zaYwnzLanMO1PgzVNTBiCvXu62l+VIZqhtXGL4RTk7ztAhGXTLDer1\nKA5axVj8jJ80DqUKiAVy8MogIoGjhdFDMXQb40sus1oMaGVVe+SODmJzNsyZ\nKjBzn4YJ/IbX6NPXsaEDGnMiQ295e+4Crjkk0Hl1NcaGsVbF0s97Uk17TQBf\nIqKDitzEJnmCAq6Lqt19LV0xwVX6hUGHgGWNJpS30zd1UwEO68Otp9+d1oR7\n52XYrM4DohUumbi7SYHIkTqOYUuHfFKbVdXnYc/h2QdY9ik6uJK55YNumERx\nrIb3Q7oHiIfBRQsD6khC8etStNkcZDW0PaMSqW+aNTvhl9LwBV21qfDOSi7s\nozxg\r\n=qPae\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"d104d6903ab7625da6672a3611edf6972b4bf204","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.12-pre.1_1538484849519_0.46679205516959255","host":"s3://npm-registry-packages"}},"0.7.12-pre.2":{"name":"@adobe/helix-cli","version":"0.7.12-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.12-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"db28654d384c4a447b2d45099fb21b09d9c6c239","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.12-pre.2.tgz","fileCount":277,"integrity":"sha512-R3/40F69WGT0aYp21IRUkp+L0fp3BMpv0okuL1+4hst2fH4BxNYR0vKNe3se8ZuaqrLutNNpry4gOsoliylcRQ==","signatures":[{"sig":"MEQCIB4MzaPb76vuGo7Vu+flmus7m/v5soDbxEqqXu0w1qxzAiBVpf464XoYsHHq0n30QyU9+KLyr5IbOo91CeUPbySLLg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":865804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbs4pgCRA9TVsSAnZWagAArAIQAJbzCcdemqNx3ZQkGdSV\natcQlrqLYp6UecTJjsjBR8+IYnOTrwVrvjv6mWYTIE+ymSLtKkxN2pXAyLhE\n55L1J/h9v3IAO2t1nxWpmlo60Dhpfj8nCVSaezEaSje94XR2wL71/IW5jmVj\ntj5ynpWNPXPQUB7ATXygClgC5oPlat7ddKV/7hb1J0eYTPHBfR6BjmsUrjJg\nbkvQ7VXtrmCacM3UtjBM77YKlm1xQBoBrwhoWcwttbOdfNALena+0KfAgAzh\nfYBnH4NjqAO52J0OInmGJh2XWwED8H+gaxRCHJ+mOIoAvrDp/aXL8nCk1Oov\nHX5tPONX3gtZj9FjJcQNnRRQhi1qMg3a5wn4jCUPgR6WfkrYkItcft4AJsK/\nbtIjeTZT+8/R5QKmCxUBsevRXbabFrjGQx2bZovUGUni1uKDGZoC1KBGlKRJ\ndesWugxNsy3EpbllblfpqJqZwrZccUHmzt46oqKH0QXasXMpIO/cfgfkfoST\n/Vam+N9oXT/q5lDuopJtUl7Hr668UOPxxk6SxrvMKy1yzIyyRSqTs+V5BND/\nPIvZRs1lG3FJ3F0rlhqT4dz+heHgxbwugGjrlPyp1jST3HEkfW0bNJQX1MXT\nVKi239D8ikTyCUWKrTSWDTu8lNLENErICz4VWvXQrA6ktDaDx1aYVWFVea+a\n3mzW\r\n=KMTt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"673f685090bdbb1480f88e3137ceeb8c657d333f","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.12-pre.2_1538493024005_0.2422298514484218","host":"s3://npm-registry-packages"}},"0.7.12-pre.3":{"name":"@adobe/helix-cli","version":"0.7.12-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.12-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"37c3f9dd8fc5a1cda7ea8f5159579bc6cdfd4d69","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.12-pre.3.tgz","fileCount":277,"integrity":"sha512-Lch0mIsVaaU2MwOJl4kNh4O/oeJwkGAk8e3318abEAwkPlQiCTQPD9p1HJuBkT+K/pbW2vQNgBobJm6Bbtxkew==","signatures":[{"sig":"MEQCID/rMfNegf7X7KS1D36F/yYUa65gxQY9zVOZrts1doIeAiBX6soMAl95csnfPQRaHoTo9QzMB/Zk9dM6MNUyEoz6iw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":865804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbs7LJCRA9TVsSAnZWagAAY+UP/0fbbZmr+k3MRXhaf6Fz\n16ATe/LTXqXJq5qZryl2rBDNi2mYoxE+E/dOVIyu6BZkp8ldJMqQmsNNyh2/\n67GznUFrk/5cagdoGl/V5UaR6U/J0Xs/tKW+NsX7kpL5MtkW94gi1+X6/XyT\nkMwEHVXRdBfVPtOh4pVCE012VJp+olqeDIt+bfL647tKqrRP6yxI5q9Es6aH\n8/UXw1dnlQRVce5RObuEWLjyoKYP3FHJftB0jh33XFalkPfpWatWY9H9PxUc\nk74UMDN5l2AUC+YdB0LOZ5Y5zib8vhw7Sn4/aI2VpruY3CPxKwc2ah2N1l0Z\n74JFCiawM9tvRQ4V7UYoKsTw+55egHEu69jaDYyrEAYnAil9ndNmct1TioOT\nIJeu5LlTUAZVS7NCgRlCdmFPef+ka5TEibNhKiU1UWllgX0rL8e7J0F7Vdn4\nGaWGHhlD7qRjKxtiqgYFHael9TUjUHJMcB46A/FInJ+deJ5J3KT1Moo/ivIl\n1W8YlR9gmEP5CYIXgMr4A5dJHOHe70KRPKlJP/8ToBv56uYYawPW9H5O8EFO\nh2xulGGQv2NZtae5YR3qONM7qYGxZxOoz/0jsYMwIRqQudbpxycNb1mDtIpk\nlxFdYKX9LCyxprEtw10zBpJquCrAMlnXK/Y7k8Fyj/9Z/8SB9GY7cKFZOTc9\nOq7a\r\n=f7C8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"a531887097b203768636cde684b21b3556c1cff0","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.12-pre.3_1538503368277_0.7530384790082414","host":"s3://npm-registry-packages"}},"0.7.12-pre.4":{"name":"@adobe/helix-cli","version":"0.7.12-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.12-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b6cf8aa43c38a21623f7b74c4832578fe9a9c545","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.12-pre.4.tgz","fileCount":277,"integrity":"sha512-/Tf8b5p0DuMEjuqgFi//pKnpGKaz76lm2hKV9rv6HJ2hAWvT/aQx4Hl1MLVZDzoJ/qawURqgS4uX3yQn8Oxb2A==","signatures":[{"sig":"MEUCIQC8AB+Pg9LCN89evD8VXn8K3LxQh0gi+nT/yFBgdtYVMQIgC/R5rx/eeOO2c/IdiCaTmwgqXyuWkT6byauxcmL5Kmg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":866585,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbs7U7CRA9TVsSAnZWagAA4gsP/0boWY9DhERxXxPA9SOs\nQMu7wHnRPkQ6EhZl/9TYpOFlhRhOZ7k1OxUV7JJ0jgbe0ICw9A9Jaz8xiRJy\nKJpoYB+oFRuXgvyiLiBqX8U9ocMia6hA6kozjgbuxn150GA/cuVYsHpx2Azu\n/RkwyGdpN1XtJVaCh41uEq0lqY1n0bDMW//li1Z75VPh9872Qhv3woZZJG2A\nwKOspgPr5WJjeWCaGju3znCLfUpDD1hdVgSRNwzeE1xHt2zrz5qEc3gaVU4t\nkUVYd0TtY/OekH1yTe4kTK8XekNeThm1pVnoP+CvjMIQLLmrN5s4lkCV6ply\nwenBIroX4hEOzzTrvO+gbhsz+SnYXPIjVQR/rUry8eN4xUV7L1qXhEPWCcxZ\nBNQZW0F6wND+sobtXM3I4HsHSsAjMmPjIMfDR/KHyC2zGYHlyfre/3JWCbZD\nIhqAjmj9dBRyXsr+cpk9X9Wx+r44XA/H6JqZjB1WnppjxpTLa81T5pcTFjgb\nVAS6oqp0bIGdmTWgy2rsXVH7Mv0vqZtzsD5/rUU3ANcFY7BOmb22CifXnsg1\nbYqwebXY7ZVfAE/f96sl+hB3zI24yE15yY85LtAl7YiqNFc/duGLqqtqK8CX\nWuxzPplRFIHjzXA7JH2/siieXM3oZ06pfkn1mztwz6tUW+h7THgRIU3JgNU9\nK+Me\r\n=hkmp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"fac116b70023a1ffe02c15b3ed7ee29b15d6f25a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.12-pre.4_1538503994837_0.2473249248804279","host":"s3://npm-registry-packages"}},"0.7.12-pre.5":{"name":"@adobe/helix-cli","version":"0.7.12-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.12-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b010fdda9be7483032c9035a4f6fe65647b30cb4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.12-pre.5.tgz","fileCount":277,"integrity":"sha512-OjB1N9SFZDrYA7WCY0DLZW9jkim0mO/463aMbnC7kLmHHtjn5QFra+l10/RRl0DItZ1lpNrx9mL4ogPzc3Rv+Q==","signatures":[{"sig":"MEYCIQDGHlxm5YVJTfeVwPbRGny9NbddjVs0DMbNsLGy3V5LrwIhAM14KjDSaRB2lyETi+fnD6lRRIjGK30hjEG37edIrBCu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":866585,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtCsPCRA9TVsSAnZWagAATWEP/RVu+YjA8+4QnADoiLNs\nIE5cRxq+mIt771NraAidA2aGRPNyuJxSp157U4bEGfMpwpO9Jw+sAdMqW21q\nDdg+bkZlyF4BfhDK2XdkqVxn1oNVKgQpynhwstvsNItw+bgJM8Qg5jluYxbv\nQpeGiCNlD6KUwqeT481jN6ah6kUP72JoQskIvzQd7F2QQIm+XR8bVMqL6iHA\nl1kVBTWvxACC9jYxgVkLsV2iv4hCVCICHBVLM9IxEBTuqyzjf0BR9Ljwnp6w\niLpxEoXC55hXQCT95g1shNof/SP0Hlc5HgypflBZhp5QeoEVGZWGt2LeN6l2\nr7qKdU4qJRvk1eX8cZLYpLSfBFU+gYOp92Hla9QxJRczJ5Z2q7sPSlcCCcNf\nQNnrGBomGuwsWg7l9cvww4z1g2BUIpa1CSlDjuT6At91ycMK+v9b0o7cRd9k\nmH5HBGzCyNKdIm+XaZJRDZK43l99FaxxZuy1yYl6ht0lPKhK37wvqWHKynYq\nC0hBt5Qzwfc3pRhqQlNyTh/Lzi90JoDhSmW31Q4lIA5a6ZuZ/hh9Yy406T2x\nb8Sv8Ge6Pr5cUE4OOzI24NtV9VyJSCCHWhunoZnU4w5dDl8VCe5nc51RE3gH\np/uTO2uHI/cy2sgukDp0JRMF77AOc7K5OwIi4tZ/xhGMjiRYnyKSyjTfgj4L\n2/Xu\r\n=JELD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"22901a01e964a8db74bd391a53c784ec93ead631","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.12-pre.5_1538534157631_0.1465785520784455","host":"s3://npm-registry-packages"}},"0.7.12-pre.6":{"name":"@adobe/helix-cli","version":"0.7.12-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.12-pre.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"73bf85927050fd4400cea1b7468a6983dbb2e819","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.12-pre.6.tgz","fileCount":299,"integrity":"sha512-NO6OsN/Dd0J1GNQ/yLfYcIAyOSsTajBIw5VfElnpoJeme2NZhfvrgp75uKkW3jXtbqKOjvgJSvXLKTa9OHegNA==","signatures":[{"sig":"MEUCIHwJq2SHtTtsptXakYG9RKRWQ3CG8V2FI2Qq5LoyleEbAiEArbIPnQOooiude49hC0ksLo1xBoa+dROYEia2Wi2e/W8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":879102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtCyvCRA9TVsSAnZWagAAEYAP/3/KRJ195zz8W+vpp2ag\n2Y8NUQzBAC8R0pSnCJ6nv2qtBakCFtf9at+y+QKOWt9buLGRnB64YiupBpaE\n/q8tIlvPgBZW2l4I9C0EJMJBWzr0srEt1gi/B0hINUj+yN0QA04IDX/A3iMp\n5C5k4JhWn89dMhQKiNF8q3z3SZ/hpU7BpD7woSdCL3BEd+nRWe0y/POTMZUj\nVxG6dXT6KDICZFNq0+PW+zcth28WCeTH7W42yZom1ZI939pJv68mfLTciNvP\n8L/M6EHL8cp71medntblBQVE5mI2VhCq3eopPlnh68jgPuusno6ebBHvkzHo\ndnAU7ZbQrKy4qgg3mfmRkYf50M9UAFSrxtL7gNU+eq391wsEKqOLq1gHtiT1\nOpEwjwBCcjbuqqBtNp3JnwloitqTvFEsu7ojz+rBQXC8ijEWHnBaoO4wQuPQ\n9NcDXeZ4IQyTALtkmfGcO8a6i5pYeWYGz6vbM1Tv7VTP1h5Brdth/HZpOd72\n1IRVaaD+3cY+yOG/uzPH+nApDJNwfTcPumdITCvh9WQdQDMV6H0AV7DXUILs\nWGfF5x8nJNTOxIpVSIvIRhF6D5DZaxjePFvpnzKMqVk4+ccqS+dVGk3mmNqQ\noP/w9HYJdCtTO16tjd9VwX5XafM1fDUFI3gR7QOHaBm4KMvvup8bsBxBgUmT\nZjON\r\n=DR0C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"e50e72ed45d0d9f0723bb174d503379615084430","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.12-pre.6_1538534574774_0.26316142307430535","host":"s3://npm-registry-packages"}},"0.7.12":{"name":"@adobe/helix-cli","version":"0.7.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.12","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bca5d3c765a3799c32d04ba722d61477160beb32","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.12.tgz","fileCount":328,"integrity":"sha512-DDkpN48uwMi0UNnZ62YIBqZ6n1EdE/Sa4EPSfv7w5Qfbur6zIPN4ZuGZY3U5oDrw/kbHeL2gypWKufLrNRR43g==","signatures":[{"sig":"MEUCIFK9G4dFNyDGOg4ECk1W+lyKw2ZUullU4IApWBuh34r/AiEAz9uIRvaa78wwfBvgy9RnPMJIDYx+DJiSAPSlJz+MQYA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2156377,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtC63CRA9TVsSAnZWagAASY4P/R2pMlOyyS+mJfAjVLZ5\nUtzthqkoJw6U/KzRDWgwc67VVgV6Ddw4CPDVFBBwbqmd4e6illQTDFAph7x4\nhNdCJjLnvrpEDfnPUkMFTaTS3/uVDHji6tRTUcDBO+bDvEXz3lMO/L2vpfpN\niUMp6sChUrVjrdlZfk8hdboBSGCHuH0N04+JknC1OY6HVn0nQtQsGNiuCHNp\naDtMVSCesr1ebhh1zV3pDNpsVWo1wKWCSHKVpezf6YbyeBKuTzUU635GN00R\nHEF+dTdsDuy8i78wVILxmt1GPIkJrBDbn0mmMvPsvEoWQfVEtm50rhhgUfQV\nnD8q7txDnj+I08maUV7uejV+OAbXpugn045Ii/VXBb++4bF9ddPN0iFJGKNq\nDhTOoSidMoM2RdJSyY37bIGbtwZThadn+WAeGJmIlNoD8iXUXQIXvHAyGHJm\nnBK9CTLM9zQhauVLrVnOg/KaGwUYzAF7g+gZtpPTmUb+T7sKOIUuqNQcFD4G\ngU4+7hDBOPZDm7ILT6PCmbkI+zSxlSjop3p1fQZemBq2jJUzaBneyFk1Vtv/\nP4J4idyeS88pKSXbVotst9zNKs1+KrgU+PGDU1yYToISc01tX+ydw24mq5rd\nSjU5L418E08zNkE1SIRGFMd1f2Qo+3qq7eTsWaAYmvI5+FVkPQ94oo9TqiS4\nqDJ0\r\n=6w34\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"8c564a7695929e73d979c994c2d2a883d050b806","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.12_1538535094699_0.5202693014087318","host":"s3://npm-registry-packages"}},"0.7.13-pre.0":{"name":"@adobe/helix-cli","version":"0.7.13-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"13a2ef9374342b8253eafdf328de4269eb6d99af","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.0.tgz","fileCount":299,"integrity":"sha512-7XN0QSrQdLJOUpfshPF/PU/wrvKGYdqE9QWU+pLvJZzGFtrB0yQF1Lp0l1V+as+tw+Rn85pYwPpTZJosnyGh0Q==","signatures":[{"sig":"MEYCIQD3bkENJ5A3aHlWtT3wiA4Y8h77GLJLqTKhCfh/v4OfDQIhAOBJvaZmesVeUmxuIb27agm897EyCIvKyw7XmqtWm/43","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":879089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtC+1CRA9TVsSAnZWagAArCwP/ikQ8kofcZU5/9pApxUX\nCZOXl0gvAnlgoOneNJjKVwnIo1i9ZvwFTXRm2BZbqtDu+NeotcAXkIsWwq8q\nyo/G5cKxhdKuSj/cnZJ3xZcX1FWe5fgzdCVyT7DDwgpj9RnQtkOkZb0rk0pW\nvjnbgpYtKGhYW//x4ec/TrAQTk98m5BdzTZT20uTXeSwph/VcF9dES6twfWJ\nEOg+5fUEZ+QVzTGj7vj3QqS7BLFpGBo1zv4+IOU2ycwYShGagNfEXPs5qjBB\njXgbAdnSyodkJ7ApHVcyDUvxG/54bZnrKTr6dWBmcWoqsy3eBshNaTukDkL3\nrw0Y8JrIZLd/xFwAREPkEhc/9YT4l75bVl1zSY4YKY4SQWUu2h5fcf/sWZhx\n/0pTMEdHOa9nfoqyUdkI+7Wuw6ilFGGrBGfKN+2SD5DlZgdNxiRU3mnCFl89\n6lVFUh/Tj/tOBBhlP1M7JqloqcAC6ypaKjYRA/6ygh4IwOcfKh80BLzVNuV5\n5CkSnBh8SvBVM3/AmTySuPCQ3/uwdbKh1gt/+cWYMIx7iK+bGtj6TPKWNPOr\nGF1/b/BV+H4ltXOh3PpFSj7SrvG5Zahj798iTOKd66+hJEmy0FybiuJ8mOg0\nYo8G+uJaO57vR3izve6MYpGHS6GOELkFzAV7xq1ErxXzipy7FSzIRPJBd8pS\nKO3U\r\n=DVdU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"660ce86278ceb30fd25287dc0c18c37291b8fd3b","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.0_1538535348418_0.7317828242937907","host":"s3://npm-registry-packages"}},"0.7.13-pre.1":{"name":"@adobe/helix-cli","version":"0.7.13-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a60eb9715cfa18048f613c64ed07a6743e32874c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.1.tgz","fileCount":303,"integrity":"sha512-MUvi71mvgwgiwKXNQPhMw8vc1CI2HZmrgPwvkZLQsx3p8U67M0HvidxMojQ5FD+a8W3Y4vSFTajU00HtmhcwlQ==","signatures":[{"sig":"MEQCIEK1c2/VUmEv30IsiDSKw+MYUOHV2QFhGckTa0d9eBYRAiBYmfVWgexBsOJvfUuhufmIwzG0vmQ+7fjtSb2hoEV6jw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":880659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtHveCRA9TVsSAnZWagAAiDoQAIVPQj+Uc7nW+T4ewfXF\nC5b+GamcLy7ST0sIqJ+TxOipyP0H24v6CZq9elWPc7ulyjD48Ev+hlN0L5Eu\nvOQ9bJ9+cDBMAApucjSGnefq3phc2U4+mtTyhhy5OOezfbiL8bRix3iXF5Fx\nI/nXvtH1rzaxFNv9vV0y+k56FZevBIlUrwCGkPtp48QuEHKbVNDLYRZXwZFd\niz9pjP0iqtzu21I2mS9cuTBPw7Xvd6fyoLgiV35VHK+4qjE3lVUIhefXbtvs\n192XLzMrion3wTCaiV6Gx9klBGJfIojPfCLyn4zlzvtIRBxx431nCmSgaYGR\nuZ8qRPRzelLkCsWUPnbRytsxpBD/svJfPv5IN8ag9rIIAPpktzRhDP50QEXu\nMGNQqyX6df6VJD26Xm0juUuraSd/ltFKZKtv/4otcxR9tuM15dIvSmqJHUpe\nIwy5eRQGKjxtoW4DuoPqMALWCExdguM+Y5P1d/8Ol/M7j86UP0taQpmssUjt\ni7XuCIPTuHvmJ4kYEZ2XEEA+bXg+uytgLbOiPRcXztEqLcVpS95D7gp2gwld\n/6JPGRR8GGN7JaQH1cDABEXHcZs6rQXItSA5zM6b300wxBSfwoRydwy6gLdd\nDeWyY7G+faUjGARn+HeL9G2iItAaaAJt9cyQ9g3GPHFv8W7dQ801bUf4Wt4R\nKCTi\r\n=N2IA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"ce24eb86a33320577f1b66498629f21d22cda703","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.1_1538554845103_0.6242007785775361","host":"s3://npm-registry-packages"}},"0.7.13-pre.2":{"name":"@adobe/helix-cli","version":"0.7.13-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"312994ff8a68fa2a1c1ba7d5518e34c6e099f0df","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.2.tgz","fileCount":303,"integrity":"sha512-lNSS0YSaI+HvGrND8Ptg31rhdcqk+eYXQSbwdNL+FQ3NSA7GHyqcnVzFMmCd0BVl/VzF1CHW9YadqXPSG6/I1w==","signatures":[{"sig":"MEUCIQCgG5x7vqGXKIdQ38KvWejTE8yP83nf5Bgx2ea18DVIawIgOQx/45TC1Tk+xicO5Q8cIXI7z9PYmEcoUrNS0zXS4Nc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":880651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtU2ECRA9TVsSAnZWagAAdEUP/3jV3eSH9DDFjxpzbCzq\nHEETKfZLXSjtSMw6paVXK7FcFNzHPgf4pM6aIkMWghjT1XVinUAl2VJvCBo8\nuwXBqAj0lUYmakbAC27dSqyTgCUhYvxYkiM+q000VoXkbd0W4juzZjpHYw7A\nYdzywJjOgzuF6NfWHAgp78qvWEUJV0bf+1vBFbqKN3aOhZQUCYKPCj8EyPyV\nMntQWq9U3V6ny6ewVqB7PObfykZMm3sbeoRdBJ4PbTe7A/Y4Anw0ymgL4c4j\n+s0ghRr+KMeLZJCoDACdIdeDIfIzV4LNH5D3joDQ74m7VPvMbBRbyN3pc6Fw\nTV9IkqN/25Z1wgHpE/vShK0mkFhau6zb/d8mn74jDUWclm+NY4rtpROE3CxC\nRbe+fWIYojMwFhqu/WJQ4ZNC3wVyeZnMj6XwS/3wIyVIE22uA084Mxkg7Hd8\nSKs7oEGNGJKUCATMVOZeKoVudEjsowh4gU4vddTCeyCuxeaVFFS2yISmrWYT\nULrdvaiODcGcRIImLPBBc+EPUou2Up5+PXxDoxraZ4Qe7eUCiNzrN65zc1pw\n4PRU0kl78LruChPJ+S6ddqR0eQspY/6AZkjEK6GYZ/w92/NeIT2WQMcRRces\nL+uf7+tXayOF6Bj2nNqJ/yAYsabrAiKNahbXRiYcfEtgmLzXrwZfHsspQ9pF\njuXT\r\n=9vA2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx strain             Activate strains in the Fastly CDN\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx strain --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx strain` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx strain`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"bb79ca1d9dc3423dd86b2a78118ae7f571c78622","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.2_1538608515881_0.6405179347353831","host":"s3://npm-registry-packages"}},"0.7.13-pre.3":{"name":"@adobe/helix-cli","version":"0.7.13-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"60b475e3d33ec83fe9d0c32c42e62a0746ed9d6f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.3.tgz","fileCount":303,"integrity":"sha512-0L9LDkM50M0E+3h4db97/BpqB0Q6O7kRNU1AYHIplk7+qrOF4+93wirHxQ5VgB3Mo/mtZBFbveR5e8nZsB1q5A==","signatures":[{"sig":"MEQCIHY8U03I0DwhziwPMnSxDOoa7SdAH8bO1AlDw5iyy75vAiB+mY6An4ouqi4WUqJO9TDrmS3NqnoMqd1uVwsMVNX0QQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":880822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtXG/CRA9TVsSAnZWagAAYI4P/3/zguC7IIqDY6ZE2geW\nqpubO7vPiVbbaidbBimq+8hIkhsZDcmCs3VSXEXtlqx2AZEtfgGlhBktWxLf\nhi+R3iVawZ6dmtz3d3PGVTEKExAlZJVf4ZmPEjztmlrzQcCJDAU9dNjM2kno\nOjfloAtHYy/cHEyzVA/wk+nwVy/UOAmmfgrI8FE0/TY0cv6Rrbuh0Snuz5GG\nNIVHJSmYsUYNDuPX9/qfTxe4I8wM1hNm7lLzFW1EvLBY7pwHomz97F5O+VNQ\nVfT2Px2X2TCsiUeB7Uzx/w/Yaya4wHjfbQcYUqBBN9NkHdWI0q92Onse6sgl\nmGrR6UORCW3cC3T+zISnU7eJgHNjEaKNgDhBaklbdiIwgPXlc7pxnHLsOQbq\n7WqeBXF4oqJ9NWKdWlebZsYFR6zO0kIN45hOHQaxr7naAqjToJpoc8I5C8Yw\nkbXZx/QEpY2GquCdo4wvxUrEBKq0Y0WQVy2K7CQCuwVO2wA0wEcb8w4E07nc\nNoQ6Mk993/r85vKGYSTkF7eK6SuSGH0yjGqWNFQ+g/Y5SSQfd8LNha+DTjDV\nbgwwgk2i44eWEPY4IPD3arbabEQiW+d/2NdbbaN2pjTxHYBeatBecZXhFmTn\npHGeWp09K4dqxjKM2j798p/cxyMBQn2Fci7CLCfLdUdwi1HKlYEerUpajAP6\njFE7\r\n=TIGS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"e46a835a07e9e314847e5baf74505e8348d65d57","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.3_1538617790362_0.49210935726718374","host":"s3://npm-registry-packages"}},"0.7.13-pre.4":{"name":"@adobe/helix-cli","version":"0.7.13-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9b1935303e17bdb69e9f718b6f71d3f1a3bf6389","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.4.tgz","fileCount":303,"integrity":"sha512-1epQSpYgwjeSPueRuB1AZAKmYRXKSbWLfazrSqRiQtdizkFOIvjv/8imzytBm+Ist3/XzJr5UwCHRifGFmNHKg==","signatures":[{"sig":"MEUCIQDOueM3PUFZP7JAjX7aRDbgox6xGQ2lr0Dl0+oi728KWwIgJ+kWbhPNrT5oLLPHi0KwiFRZqn2Sq87U/0I/MChCOkY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":880831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtXsrCRA9TVsSAnZWagAAaEQP/jz5zL433nSkT5uBdRes\ndMUSEzdnTN5/TQwI3yXXHGUKsJrp7PGTgLli9KemWFuhkFW2um4yZQ4KGlKW\nJUqZ13vC1fAyjHLYxhHU58V+1Gp8LNr31WQx1VL3ZjRnSOrgfcbic+jHOQx7\nt7e41GPdD5ur+wutBKx+EzyGnxLtEgrgz/DekXCoHInjzH+rXos2AGziifAK\nuB7M3Ea0uJ01gy2hL1SaE2L4hl2N+8UO7EyVu1wH9xUVVyGrbV4cMYYRsgkL\ndLxbPN4k65Z+6Lwgwq1CiT+7+Rj5MPgPAF7AWHW7sl9VInk99MbXKaIcbnJT\nWGfyQ5emxTaCve7+YfmdBCCblOcDjelDUEWo1v6oL9aAgzFjx958evNXu+Ov\nvy5/iK+AAnkQSz4ITOyEfLgHvhkwXZj+mZuoy0xxdmAIB90heBLuaRK4m2iA\n6yCgSS9Gckn3c279c7jCrIk8uzxeejqO11VltRZZuM3f9udf8coq0KUnIopR\nRIQJpoeGlA1SdRl0DqI+gakOoGpt4CcieM3A1qWrAlahCq+DFMzhFQTGe0oo\nJ/c5qye8b9LsZ2D8Y07uXeQThnTB4Vs6f5btGtS3NPkxJnWalT7qLNV9VysG\nE8ePsSr4Tlmos5r/BKUnis4UqZa2DrZU6olerq/7SAEg2PRNiU1blFKMaZUz\nopC6\r\n=yfYh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"80d6018348333d66799e88c1cf984516e483cacb","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.4_1538620202819_0.7761481663235461","host":"s3://npm-registry-packages"}},"0.7.13-pre.5":{"name":"@adobe/helix-cli","version":"0.7.13-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7f16dd9cfd5ac905b4e6c7b5fb7857625006c779","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.5.tgz","fileCount":303,"integrity":"sha512-VY7Lb4aSaPjYoO4CrkYKUiZsONxLAbjbJCRhiFtoHhJbPnPL/GJNzq1OCm52qbIDAfp1d5UDyWddb2uz6Q/L6w==","signatures":[{"sig":"MEYCIQC9kKGVRYElpZ2DIuEQfo/Bniv7MwvEBF1MMmKjaLsoYAIhALot7Bb47hqR34mIfFYP4tHzGbQM1caK1bAc6rgdrayB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":880829,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtZ8xCRA9TVsSAnZWagAA60wP+gKGTTVlHo+PEVE5BXiu\n1CivxROzt4uoM8NkgHh2oVhuARsqJcN1WYVaq+xKWn8JL+evubCs0ad0xf+5\n4MOXhsFJ+T9rSMwqPRDSQ/N8MKFn3xoIYdE3PGFK6tjv0kitR+AV4Hmxl5uE\n8iTB2A1bqPBZLpNJ5gep/dB7VNGTYwPEbqxMFpGDgVbQeTqr99vfHq+pOmDJ\n0ujaDgalYQAeD8YprenJNASX5fzI4Z/HlK3zWTJQg77ccFf9bmZdvp2nDLGl\n+wSa1bHXKpsdWH5GfsVLPkSuOz5B+FiMYeRdHWsQ3yE/ZbyTjHFVbM0BdNn4\nA1hhacKotX2kX8Ov6XK1fvqX1/5CT3tJii6EsvmbXXvd8kyhxiEPibREP9h2\njAU7sD2B/icfmGnc93+/Hu4yBgfne0hEHHT0CUyAaDNi8hrkLj+Ba2QaH29j\n9Du2c5ogdOvsNbDeTvdIypsvq8KeDLwz5ACDvzsE2EMEi9sXf/b4kGVk79CI\nhazxLtPEarf9S//9tOS3t5VkxVSJ9SHqVL3a9NKP5iSSJeXNh2R7u2IGk4D3\np1Qhy+NeSoBiV49wRjAlQF4/oHppVCvPMcHlPWUHehRLWljcSC4C86rBiATO\nnZAYmz9H/2DGGnUqGLOF8iDSieRUsWS7BDPdj0n9G5/R3aG+E12UuIIdYIdJ\n5PdS\r\n=QkWf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"5d72d1a9ee9d7199ff7fe43a1a7d06d6263a5b5a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.5_1538629424653_0.26012163828317614","host":"s3://npm-registry-packages"}},"0.7.13-pre.6":{"name":"@adobe/helix-cli","version":"0.7.13-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ad085b317ff33adf11c6079e50c940bed8469de7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.6.tgz","fileCount":303,"integrity":"sha512-h9xMrO3qny2RDh/Gr+OSKTZWCT0lQU8lTDC2EPY/UMis1SvXHehIrmOxwhakfmqyd9CsY5Pmx9+BbcLr+CUgmw==","signatures":[{"sig":"MEUCIDkm6L42fIcK5U6lH2ZEdt8A25Lgt8Ros7IKPHNk1ulvAiEAsrSou+natfcmO9Bw0FjD40DLh6FJfTarp0EK0uTOGgU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":880834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtaYVCRA9TVsSAnZWagAAcJIQAJO2xNPWehbN7vsQZl5o\nk2tpbkzglHUtmhLBGLmuZByxQi7LP6gKFiMiFcCvCZzbLtEsolE6Os8U8tZY\ngkMyq/+z8Eby0TXTU4dCY+IflbYIQhaR7Ta2RFzJQ+zN6rsaGKUwYZhfvoQv\nKRIItGQG9oXDTwZz/LNZW83rAv4nUhE9nUZTCq9qZ2jHTtxWUGlnHNTj9HTb\nvIwfNbH+86Ot4DcfPI7MqkTteOExauT5KmGQM6DrdD51cXGcA7PYUMCMMkjG\njDQXg9y9QFIa9wuYorCANqvveWhj8WQRbxnh1kZWSd4PMZ4thyizT029fWTS\n4FkXXqnhMXYo0+Q/epK1vK5PbgdylULP/zNzLNWyEff0dB9TvEc+zlsHMRAr\ni9xd8tW7N/nrFhxBdDwJRDbuEHrxS3aLQ5R/gWsQVaajRy1Omg95TeuaZmwC\nyxN0BCFzV3pJvRKveZaH62zKaQ03E7TLSbuguScINQFOAyL2TR63k1pmOW15\nRr8MsJSb+PZ7IPbfURQevJ20isf6WdJulU/bflfkc6P09ZsyirMLdjRlJbfI\nZVJktURK7CyYSA4VHSbWvuYUDqw0Y5UvXl3KOOiTpdrlvXKIT63cKNnYI53/\n+e4/JQGxDih/71oiG3v5se8MP2Okn4hY9SwM+1xJItC0RS/cinhZoDhdYY4t\ns3Fh\r\n=9CVp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"7f0a6adebb730fef1441e899719394117a3ed978","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.6_1538631189050_0.10202991207343648","host":"s3://npm-registry-packages"}},"0.7.13-pre.7":{"name":"@adobe/helix-cli","version":"0.7.13-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7029aa6719a8d24587b1e0fe90ecb84d9c9c106d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.7.tgz","fileCount":303,"integrity":"sha512-ykRsR63Mj2l2SyNHCHXgoAOGm8GrY5bR/QVMnu7Y9jKM0wgPhFbIBru3bYBQ15CDoXw5fxnh5Y4wBBDoJZypiA==","signatures":[{"sig":"MEYCIQC+OWEpzaCtxVeXILF80KwCLoN9HdPpokNAXMjWN24W+QIhAMXB6EMWHrPFB5DGRl4+BI1hEUVSGeKAtMUS3U9ZcYpy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":880952,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtayHCRA9TVsSAnZWagAAMV0P/3umUJdNzFdYRIVnkBl2\n8EWhrXobNiFiwdHKOW0n8QHs4tY7989BGMVlC0sAvcuDJa96rhEFPHQ+a7jC\nGxxYb/8idmrB/WX+Z4rXnz9uYrcS4nEnlEj30/k6m0URDFyDNvOP/XkUkVSV\nnCBvEpimmU0Tdc7MvdK8nPmdmBE9HPS386Xd4tBLeT9bBi4BjO1hVmS6Tb1g\n0tLU5WLDW/swaWLlXDDR1QqZf7bxFFjNZDdJjkpedpj6jHMBy1C0pMsKKp8n\nZyiZWXUGvyPqGzRQ6GSIY2yw+93tIjTNBJ0oXKBpflVgyBV/qOm5iqX5brwf\nxY4tEy0zeCQQGfAi1TC363/jZ8322ArHoH6e8+9lFPH2xqWn/IVkJvP6oW/5\nUnkDW5Vr1U18PXDeuRAE5weBNFN8CERTn0gnC8ppKZ4/Gu8yIsn+MAoMQmeM\niiDCRhrMwtu6KA30P+SoRoTQATPz+c4GaBLFjslcCm0dulNJU4VT0iJYikvm\nFloE1Yoy6ATKUH1y4VwDV0oZeGhUsJ9qWyRM+7/0URoTl6fBhk6EvCDfbAX/\nBl3di2kmdmxPtFxdfbChW/hnprUQ/YwSTwO9sGcriJDTNYsywZx9d8Ub740a\n7MyHyZeKmDncNYcLLsdzMk8YHQ5lpoWOjQaLsXjwpRyW/44SSbCU0pEssPdn\n6Njb\r\n=fcB9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"6b10e4f7afe408e5ea59e3503c38fbcc594c25c9","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.4","@adobe/petridish":"^1.4.6","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"0.9.2","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.7_1538632838931_0.23422311380193106","host":"s3://npm-registry-packages"}},"0.7.13-pre.8":{"name":"@adobe/helix-cli","version":"0.7.13-pre.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.8","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6894929ae06bbcf670f56d426a1bb30602c43065","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.8.tgz","fileCount":303,"integrity":"sha512-PbxjTXrJ5k5DGFNcoj6IM9pvxtsfz1TLZJYfVAo/ChDp3VXu9+Qy5VsXqLsW9JxITFJzhwV1AJD3+keEovkRXg==","signatures":[{"sig":"MEUCIQCEusyFQ+/MhLHRS8DaAT3pX3ByiUQu9KmoTRDaannt0wIgOV9+FxXUH+4byklEXTIG1Rha3DVHlVhnfGt4PCQ5MrM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":880970,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtb8hCRA9TVsSAnZWagAAFCAP/02toCqUwPuvUOVIIAk4\nHHEc7XGAZ14vrzBGaekR1Ogbr2orLXUXoPP4kysyh+lapmRpKUcz++RpyaOk\na4vdD3MDr49G9dJQ288vQWjcdZPz3BBvaRwhMKXl7uuc6noAcW8fFWBzZQ1V\nWpukg+cCBVMYet3VjvCtjSJxy/FYQShjHzv5BmdBmxekHURsUj+hUy3OCJsw\n0BtYKMQ0eUM99C0D2gk2sSb6sBsNZkk0xwqn8r2H1BJNON/clcKgCxK3VBwo\nZKk2MrSsU+qfqOU9+oNa+rVczqY4N0Vxv5wuTJdB0NWPtVMNDOUYtncXQgxL\nNo6FhTdl6CHn8H90i1jGrAFU3g9Mbs1RQCikuhu0+2T29dW673PoO4wndWAf\n2UCtofd469zzTOhyOSsBGTY22NEbm3MFvG2KY22knvvCNC3K5oQLCKORi4Hs\n3NJj1VzKAG/LgZBIop3UNTk8VDSPNu31viq0MhhijbKh6CXJM/UaAnKsDx3f\nR4bk64KRFcBd6C+dyLs6Z1xOZhhPKGINjuE6Wo9IF1wRMSRMwfq+SCAB8sUp\nSSqgHr4CLSbxOyxqRGRjzO5BLq80jPEliypCtGclRGUOBFYDQJxoLy5tL6km\nsuWzbtjpFQFky1eNyS2TlpwRs6ias909GTP/xtnn1o+syDaFzebjHNG40epq\nklWs\r\n=niZl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"fb7eea2d6896e10a85f12e32fb16adcdbfd6f69d","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.5","@adobe/petridish":"^1.4.7","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.3","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.8_1538637600640_0.9603242747940546","host":"s3://npm-registry-packages"}},"0.7.13-pre.9":{"name":"@adobe/helix-cli","version":"0.7.13-pre.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.9","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4d86c997e6723238879ebf4cf90c2f9d9e05dc35","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.9.tgz","fileCount":303,"integrity":"sha512-+DKY/udKq7+9ctu10peR7Idv4QvXWaYuDKRa0inlE1Q7KD2TTth3qLsHcRuPB+P6RasPeqEe6r49znby8tgbxQ==","signatures":[{"sig":"MEQCIBjPnx8xoTi3cX+YYs8yy6nfYjC47/D3XotKapjHPVb2AiBf46yDDATlkFxw0g1oue6fR1990psCPNDn4lNyfZqkfg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":880972,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtiuaCRA9TVsSAnZWagAAra8P/1S9ugtcaHhWq3pgl9U/\nT9YRj0o5Ok7Umf9PnjgzGX9OROFLAbJLer+KnP6UY15wj+xvxcIV/TJqBcLK\nDBaPqMQ9s0FIa+YqQ7oF5SjiaUBIp4GzmW/MZw3fFWmd9pgWnlmbga+JzcpQ\nZZGwX+MHY7kV/IvQi6iWhjB2CuIqsK/XjtPn9nN8BxKnSNhubFXOIEeZ+Ije\nmO7pO/QHkFEqNrteF+CvPL9ZD67S3dYlp3mlBUwOytKOWPAnr5tCZ3zG5xJG\nmaBAwDm1bD9/7AUbbh144q1viwGhWOTiU3+CPWo2LiDbVrMY2GcPT9mXqj/K\nY0LE7ReDpcxBtZoWhzFMotc4ELse54PirjbkqE+mWYCJWd5Xyr5Be2fOL86N\nY9hWcdEuf8jwThKOaVjf2879GJiadb6lBMEs9AP7AQcG07UNr/BpKxCTM1T0\nnepsYX15bYrY3QI9QN4b4lroyTA8nHS7g86EKt5JCuUKabdzLvE5kZhX5kvx\nuyWCxesr4j/HVdfzwKfwQJsZCh8Wn8uBJsgO0frMMMFULhbfHTdfKmGixYpa\nUHGAskt61uh8IqsM/US98B8/0JypDDjkAHja4aLqbstTvXHq8PKKNQf0UPLD\n5QrTHm6YhTRzs90JPgzdqqDSFtliUTiYrbtEVTbdSwXxLyM8e6YUJz2wQhDV\nPqh/\r\n=4h9L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"7b75c37cd0717a8736820901541fe05423f37095","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.5","@adobe/petridish":"^1.4.7","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.3","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.9_1538665369887_0.7788591234355862","host":"s3://npm-registry-packages"}},"0.7.13-pre.10":{"name":"@adobe/helix-cli","version":"0.7.13-pre.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.10","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"aa56bc059c7eeb19703e2bbe3180197b843dcbaf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.10.tgz","fileCount":305,"integrity":"sha512-tkI7JVHVSvIwvu1LOlpRx+cGrbliwldjCXU+OEbHDtyvMtRvNRPy+8JqTGgMBLcHFOyXI7VX5r6DIFSL4ceb9Q==","signatures":[{"sig":"MEQCIHEReObjFE27I75786+K91ecN8uFVlefLz0ptJWwbkOvAiB6F/sp2FdbwXF28pxKF5o4tAemq3cgSm2CXt/ZP4POvw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":881200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtvbHCRA9TVsSAnZWagAAFksQAIQADr0+m3WzlXq/PqWT\nMvobh5/21vfiNKt8UTTgtUykR0EN39CsnSOQngr/GJORjhFxK19Fg2Yr+dLO\nndKv+8hFLBKtYXaloHNDFtPWVcmUBwXI2i5jwXrcAyI5CNhlQhmaF8z+DkqB\n2x+Vd0frBfRGVa9gOcx1nFnnq+vEt2t+0u8OP1zvq6jDWWXZm//+xdPgEwHw\nPXWA+zRW06w++DRj0YTdCoRX3/5CZhvtCFjeKvVVaNFEAF7LKySbGlrq6XU2\nfqHyg23Pmqu64rdvOa1jhJfN7fhpWHBK9ez665yeHg5fFFerrIFcyGNLtJSo\nyrjgB92uO71NsUtbfLrszC7MSI+6oB0cFfsoxRai1Ay44yBxkYdQBvxsyr0O\nZjvuudFfR2zY+3P1PFrURJe+rA5SGxdLEAMS0OtFFqoVGnFnvAcSsz/R6A+a\nK37Ub4EigWwqa7AtVC3GG2xbdrGL+IM+76wy714Lrq6rnwJcOqsftIGm1nM/\n64xsK0EWkAXA+DOnwBJHCHmXxfSACPVzCMm8RkmU22mxmREFuOt7eC3HUDzO\nzG28HzNrHJlupypU7paZUvCbr5XAoOQD5/E9QrnFUrndbjGds0KRsLlOlvEK\n2yM+tNDKSRfTdKleXWoDjrGeOR2vCl+TuyQu5NXwnR6Vwm3M7uRsFDpX5ll/\nrzjX\r\n=i2Re\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"29a14950da5bdbda012436983d99b956f6f777c8","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.5","@adobe/petridish":"^1.4.7","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.3","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.10_1538717382103_0.3896124596846715","host":"s3://npm-registry-packages"}},"0.7.13-pre.11":{"name":"@adobe/helix-cli","version":"0.7.13-pre.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.11","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"221c644af2a1abfd33098ea47fa99e2e33da587c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.11.tgz","fileCount":305,"integrity":"sha512-VApwXgNHzSZjNLHEQqGyh7zcgtHYDn/J+9O4/c7o3ldcOm+a9ArWwe9meZ7YRrjgOwZFbTak5R+YnzDKXjfbzw==","signatures":[{"sig":"MEQCIAjp+fpkfrdv2dWZAC1ajqgZ2coXzdM1FSjVrNQc+tGJAiALHxQeXFdHlrwmcKQCzWrNZBwqxhg7B+ALGKmGcpTpZg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":881287},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"4e81f2358dc1dadbdda6af4c5163c4f7f8708f9e","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.5","@adobe/petridish":"^1.4.7","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.3","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.11_1538717649558_0.31084894268271235","host":"s3://npm-registry-packages"}},"0.7.13-pre.12":{"name":"@adobe/helix-cli","version":"0.7.13-pre.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.12","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"66b0416d4426290e3753330dd66737157a3968a6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.12.tgz","fileCount":306,"integrity":"sha512-kKJF8VvkY6JejGRHd19adRvUtId+2CSzqTPYhmcsqTYDerzullUPmoF3hW+3qS2NcNaOPFVGb36R4r3NkqDDfA==","signatures":[{"sig":"MEQCIEJgT8us/IowvGwFoEuxUVKrtsC+mefYPVDlI9Zma6AEAiBLVup0xcSpUy7GCnAUEJ9xodKPJ/UeMhrUyNxRPu3M9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":881691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbuf91CRA9TVsSAnZWagAALi4P/iYvFwUx4P12Rd4vhGh6\ngRFI4I2xjcXjDpu7oH2L4HKdI+PjavvsMzG3ODh1hbT7mVdifFL3Wph2qMLq\nfWbKVJCA0aY9c4y8ZNOWfy2ltP/X8Li9gJzI9UKkh8t4wL+iuvrnq6fRTEBY\nseL9laY7boHuZU/csUlyzyWuDhUqi545m/A1T3Uzup4JBWIUx4ijDg74tFNK\nVhgjMD3Ckd5GtauK/Q7Hd7IGgpC9aIPxRFqYfIiG/ODpiDaAkUZdVY8lnCUQ\nwBdkOexKCL+9qOq1c4fDbKIeqERxRY88RLSxmBfb/+vrIaUOznppbiZ71QCD\nlejsoTpV+dZ13X6GIWZDYidjI2dzCq81tXq8uvusDAHlkPtLx1J4ixv8gF/o\ndbdboHYdkgI6LUBk4SJxDl7Vz1b24jwgoCflj3WGuDAc+hMw4h15L8FvP7FR\nvvRVNMoKU3EUUunnMn9zNP3la+PExmuxtKb9cljsH3jnppGWnpUPa4mvJOUb\neHKHU8dplOyXWq4i+M57fgbD60N/f8kJY//Orx0d6EAHI5CnnPmkzx97vqql\nSHTPX/9QTLc3A0vmE4IHYh3TjysQFNhDPW5qyIwYcFegZGHdhoOcZ2z7TlvR\np5KpJQGKGuEok0R9BHq/5X+p1My+wTk32vgVnXXTm4Sg8MiyURNjmwHEt8/z\nZEXi\r\n=BVOJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"9c5c3a1d87992a18494c12c5bd243ee7ae07b8f3","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.5","@adobe/petridish":"^1.4.7","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.3","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.12_1538916212447_0.8588095197403731","host":"s3://npm-registry-packages"}},"0.7.13-pre.13":{"name":"@adobe/helix-cli","version":"0.7.13-pre.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.13","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"89a0f3900f1d7671117112c26617dcc9b5053d1a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.13.tgz","fileCount":306,"integrity":"sha512-eG461rqB1LaNltsXJQR3xFWJrY+cnUjFLz2nAmKYrPCQkVq6LJDXZm6yQ7OXZaEP9PTkwMUBehHgzSh0OgTSqQ==","signatures":[{"sig":"MEYCIQDRq2tO8jw1czuA/12ipEGUWKaK/K3vAtjGSiDkpchAwAIhAMX34opAE53cold/EwlSm5SQknK6KCf7mq0sWSfaHAPX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":881746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbu1EhCRA9TVsSAnZWagAAafsP/1SbMhg3ro0wZCBpd5nY\nTeBb0fl160YbuhXXe28+0pQUqgJTaIVz06NpZrzS3MrTzzVY1gLAjKeo4DK4\nrXjZJMGNbyhESofKDvw8UzwHceT2IJqV6/5rIkgI/iNpRdzimOQtWHy6K0cr\nb0LJ+nYM6LoF7PWi2H89SmeFVkCpgVz7oHWIMSFm2WCy9BNvihlEJDDezLqG\nT1GpKB9jgq82ziLfro4ZA4qKf5rxgN1PH45ZPkaZq2LfQJYLPpxBpUOVBGCZ\npVRSoz9i2ZQKP5UicE5eV+4uREQ0t0IVDzzwlRimEqGMQMX1Mfy6ogbW3Gtx\n+jR/7M+JKeR09mP1Vb2Lk7fjP3QkQZWlzjleltkCkl+0gHIMncPFJz8Q3FWN\nL+kL4BMcSG3gTZAtx4Deu/KPd6kV1w8AQVJYNzWToiIAkl8vK6vgz4GSg7ED\nZeJQU0nNg4FzpeH8FxV2sXCWgngQ7H6I3g7/kVy5lcRbyYwbCD77/ycbBhUd\naTcHPvpl2554jaL6gJpnBwoWgu5QJZzq4soI6KudIxGcPjmXamCO++IYyspO\nw4xtUNvxJ8OgvD080wYGJNFlUEs76fbJRwdUskXETUNg6ecS7q6jpLTiRoa8\nTrJzLP0eMyPJrvSdBjbN07qWGbO+S1GNqFwA23U6WsUfgi3eB/QtAyUdkfJs\n4U4H\r\n=FwYo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"4c94c512224b213f6004c244e4d581490dd43740","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.5","@adobe/petridish":"^1.4.7","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.3","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.13_1539002656025_0.6752345525884826","host":"s3://npm-registry-packages"}},"0.7.13-pre.14":{"name":"@adobe/helix-cli","version":"0.7.13-pre.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.7.13-pre.14","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"146ada6d7c8d6ff01a40edf9f08efc1a36bdc233","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.7.13-pre.14.tgz","fileCount":306,"integrity":"sha512-wJlN6j2C2PtCbhHKLM4b/F3Gp8uGl4VVt3CLmVzHpkRWJXPd0qrwsVnsPyUzSPYP8CU3ZntSIaZ0PXxsLY/mXQ==","signatures":[{"sig":"MEYCIQDIHcBolwXSb4bhYWB7LXKiSZKf2iH8NzdQn35n+RLjNQIhAJEtyF3l0CUz0cpE3ZDRHdqK+mFBougrufEkDPQslC8t","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":881812,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbu24vCRA9TVsSAnZWagAAYpgP/0tHhBlgkFvkknsQcrzp\nQMMqu9axerKs1/EpxWhGrTD0iFvtQpa6YRdfPU8G5kjcC0mPqdKqE9TmfiS1\ncln1szbNLrrh6QaEtR/71WBGY13G/j/+u04fZXQhHIk8EJMIg+5POfuLJrvY\nGqZlNluHr2BemVePJKSPyLoxGQ0SDIzkYSOjRZRVmA8xstP5M1h+NLdDovLV\nsSHWIOO5FV0k1Sy8C7TI4z+TxPVGOylJePLZRWsmnwCm35rZgCWUcttCDxde\n5resf9KJaX9Rp0JYAy1h7SyM/iJD08GvKYLWPCuOwQ4JwCSLDFTx352CC8U4\nmGCarE9VGNXhwnQgqW11bkAxKwj63RU1miUyPq8vvZTgGX+3y2gtmbXIIAfV\npmnH6/Rsm8tyLsu/wOQD134fW0cT/7GUS2DVV/L4Lhev0aj9n+RNuGWt1NDS\nE4Et+nMC4Fclf435kuqE3ukuFyRsHtq9gfqkMqKZGrS5DX1qOIPKO7Xpzpf8\nUOfiTcmh2YqM3SHQMcURAkVzPfiT0joAYfPW3wMhV3YNEcOU9aVaacclzPrm\n3y99JEz/Nk5ckqrxOKuWvfiw9mspd/UVs4trTTVIY7ntRCFUN0VFpWyESH8+\nxI6YmjkCOS5fEK4ZlAUK6Z0GyZ4nRijEqTlVLuKdKG2d7/uysZh7ISHGzUCM\nYdAb\r\n=Wk0d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"21c1518fe0948ede1c533c50bb1ae8948ea89819","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.5","@adobe/petridish":"^1.4.7","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.3","@adobe/hypermedia-pipeline":"^0.5.0","@adobe/openwhisk-loggly-wrapper":"^0.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.7.13-pre.14_1539010094085_0.07639375569548235","host":"s3://npm-registry-packages"}},"0.8.0":{"name":"@adobe/helix-cli","version":"0.8.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ee7096b591609c3f24e60b965edc7232922e7033","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.0.tgz","fileCount":335,"integrity":"sha512-n/UUBkiAuEDLZ1JAYTpx3P6LVuBo3/RgvBHD0qOL/FFIg9AMwsnB5XKErW0YDIRjjlirXLDhmioD+KbMwm04HA==","signatures":[{"sig":"MEYCIQDJDRPx+JAhA0a9m9QpNyNQD2WP3h6w15JvrtVeoWkHTAIhANLEKc9+d2eXE873/rpUXyIrpIgoN8bfsSk9qy4soGI4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2179146,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvDMqCRA9TVsSAnZWagAAC58P/1rQPVcdwWK8UgluC/HG\nALfJ+yw4JVwsf+mPZAcHgdoABsp3fpaiMMbC+N6lRMLyojTFVB47Q/ReaqVY\nS14eaMwiX86Q6rnviENX9WrKTD3Vy3siIB5kQOuCM1T/HWVsaXRPAgpd+Jp2\nxz7nGBZlMircFJBPzUVtB42tIDDGWdalxOxASnwNOlONAiajZbWITy0MxKLh\n065ItxPuF43f6o1tZuN+S26KbbZ9AcMBTqB6EHWK00TaGMIiBrkqRX9qVNgP\nIcf7xuvGlYzYoMDCdPVbJon4FMA3zQ7/lZiW79+aT0FIODJqCp8teq7viJAa\nMXXgWmX3I5HSPxm3MgkSw//41EYzJJ7bkmcUTFD4nZBwqnh+guJ84aps4pOh\nbBhmPpqsqf/J0eG9SHZoui83cA5pss17g4QBuo7hhkxTV1bnGRrV8x6VcuiZ\ngz4RBoLazzAdYQ4FDlu8auq7ViJUfNmW9ESLHSi92LI5EOWbk/YpR4Y8Pwrw\nfj4f50bvyJWAWp93C3C4v9voDMuuwx1sot6MGt3n1F61B0rT/OSfju1XWUuZ\nW359rM0brmDmwK7AFzW7g+NRR2RrybbpIjEVeeyhMBTQOQ0q5JaAtWMK3a+N\nfuEyi2bcI8xuXmQmmNUapIaluPedSW+qtPL6/kYLRBnPSIaimZsY5sr+1M9Y\n04/S\r\n=Rb4Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"bc7d5bd3c752464cd860709b014d38c7a5f17222","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.5","@adobe/petridish":"^1.5.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.3","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.0_1539060521640_0.11296269355186506","host":"s3://npm-registry-packages"}},"0.8.1-pre.0":{"name":"@adobe/helix-cli","version":"0.8.1-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"605b242cecff236d1ae14038d0c4b3e8a2d1a768","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.0.tgz","fileCount":306,"integrity":"sha512-686ASpSzfbBT+A4u1znQuPkKicd6EStSZDuD+OcqRvnXS+7rCzePHplh5ru8M4V71bk8HlavjL65BVhVXdW4cw==","signatures":[{"sig":"MEUCIQDgnd6j448dkLypdSEZQBDmspbDATShH3RMjEVxGhNGmwIgXPrCPdk1db/O51AiWlVxvnPNBn4VbyxoJ5n8pkLcHa4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":866656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvDOZCRA9TVsSAnZWagAAaOoQAIGz+oabX37299/HcTx7\nTe63O86zX/XdExnu0RkgK4wlj2b0sHwP9xoWgRvQ8ORITtPnaXqLgjNpiaou\nY+JZQM2K/HAdmvuEEBDJ4h+x8+0+X4T+jE69p8pcLCSZLxrbj/LJvCZS+AuI\nV0N7BfdxiBK69KmGn8t68h7bcd5vNr+/AKgL6zOHQsbiIMtwOhdAfK0uwdDv\nRyCTaES1+A1ORyK6v/b8a7zbOvGFPMBdwfrGoFdT0Pdi2F+vxtCpp3iK5yQ4\nqrROMA7wIYbHbgZVKk0xEkza3oK2atYQvwXtdpVa38bhbJooyqwVvxvMPef7\nkb56GFPOoCMIzhviS9hiAZ3iHU9rfIN8OUp0u7BPxTxsyXzlYU9iSNJugWfM\no2pp5AfOjHJ6L0VzFJYRj4N1VNqcgVgJN3erZNe95fqEw9miCaJt5Vz+6bJH\nfKhkEXoJ9stiwB+OHir9XEEnR2L18UDhZ5+4o3S1yl7JjvBDyX/PW+OMyTjy\no4MKTJ5NihBapk71uKZk2/nIpKHVP21nDDyHACDQPXbzQZvFwNqV8yb1Amd9\n/jhFup7RVaWNT+KAKevEyzkYdo/pj+Wgs3c9EKlFgXJ8KPCtCTbTY0gjpccs\nJKtrxxSwXY3s4PlBt6BAKagAxBIfTcew8BUFZoNLKOHm9WB+LvETQIfmj46L\nC5lM\r\n=/MpX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"c73a2e6422e10b33f577ebbed79515bd23e8a74b","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.5","@adobe/petridish":"^1.5.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.3","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.0_1539060632768_0.8707584893524374","host":"s3://npm-registry-packages"}},"0.8.1-pre.1":{"name":"@adobe/helix-cli","version":"0.8.1-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5fdbf0da27696934189c1f8a4756f8b8d75a9bfc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.1.tgz","fileCount":306,"integrity":"sha512-84uJHzkQxcvXH9ODmZo05/W4LThqM5nBVxf4laOKjkyTIgG8hfMr9DdiTE3VsGDExzKyHpz06s99Ei0YQsLrgg==","signatures":[{"sig":"MEUCIQCTujs0yT656DEZBm9YkeJ8EIH8x3/OQ9V0tyZb6sT2hAIgJr52NbTc+EIn8aS/1e1Z0sSm23jnH8yf6OzOJDSFK68=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":866712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvD4vCRA9TVsSAnZWagAACDAQAJA7gDV33qB4kw1XrqBy\n3tow39OXJUo4sgt6pYxDZhofevqsHI6jCvtUoIr9J2nN4wlXaIq2skzX0B32\ni5bH2qLGHausVlbZNxjJ3mkWkmylYGzjJNzQY42MuLK8zfP9kfT13HG5l3tJ\nC9gVUxF35wxxSKSuCpHvn250AFgs/2/jFlcsMDYNMp6BFZxCkpmMqme67pwW\noJJHlS+OrESsAIF7SbY52b4L6cxSqtguhpGWK+vnTMBrDpYHsQpGXRePlGqK\nJdMjoxxzkvebkKCsXqPYwBa4Ko+UTrKGirNHhc0sO/nUjZuYxH3I2Ucgpa6Y\nFiWpoVRvg013bpR5gh6DgeIX+PBOeglmQLBYX4sbbv5Dmy7uH9Y5q0WDUMYT\nd+K2ojFytbMdXjrLfI59mW/GUDEdkzuE2+V5Q/8tOyVSqsT2d7K0axcfD6qX\nx9nFkBtv/HS79lVI1MepnVkMVPqUzS7/JqIcJ+/Jfm7efF3kZFstapNjDt5X\nDP0ym59BvAdCpCh4e2uvwohf1vHMdl0MpEgEAy0fQSuWzhdqq9xmKylUThmk\nqrsWUiSGx4COMA6YgFnvxpz9h9j6oSatKSaP7GRpWniP6UhLW9C1d3g7AQnP\nTAKZohMhttNSkfWmIAHj/7ten//Rg0D22fBCh1ZF6Nev0Y1o05lp/cdI5c2Y\nR/K8\r\n=b7Kd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"bde94bf948e953ba73e40fad0230060ab16cf46a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.5","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.3","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.1_1539063342551_0.7202901908564951","host":"s3://npm-registry-packages"}},"0.8.1-pre.2":{"name":"@adobe/helix-cli","version":"0.8.1-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ec753a9742b95c2e790083d493a1b1622221619c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.2.tgz","fileCount":306,"integrity":"sha512-Vy6/ny1IX6GQVqfnAzMZvtE1wXcROD7bZO+GP5iFzWAKrgrAfYzJ5ISbKPqQ82joHrU16FDbk8Tkgxcde5rg/g==","signatures":[{"sig":"MEUCIQDB3O7OYehfKXy4lOrRT13FlIRMPiOJc2u7dq+JKA1URgIgUbj+k5AIY3fL2y0n07K8t+ffGFQFvhr6XXPtVu2qeG4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":866924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvGQPCRA9TVsSAnZWagAAmtMP/0gcPazwFRqf19+4RC0O\ne6tjU6hsRl1aTSqV3tsrzFwWLdl1V74NCrVQA5/jqj5h2YVIxBygrmACQSi4\nO15DgJ/QhyRrGLOL0P1Y/m1rx6PE9nqlC10mBCwkv3zFU8qdUDLCHS4pZhAH\n7+j3WDkerrnsMNmSlHX5ajRhtK6r3Iox3CnFuOZ0JEmS0L0bwjBwwT2cMU2w\n/1WziBtWhdOx5UTIpuDQyX5S2UyUUs2Geef7Bz/6VQEs2jy4yXocfE6K92px\nKxhdeYbCIjugKvb8cBFUzl4yHWvlRptV6CrrY6Fu/sFq5+m3G/rB63y8p0e9\nGQd6RWvm82ZY7XWB3oChPn0mV2gPX6bOycQDEQ0zNSSxpo2OdGS8A4gy3V/P\nps3SSG081ENdJdkFgZNqB78UXvGaNEvloef8M/o8OoEgFuoZTBDGAtirW/QD\nI5J1m2DKJxPGNrwr2TnfKaQXL35fb574m446/zI7gD9b25FZt2qMPW1WpEMQ\nI2XyfkvSyRKDRLWU+bpBJEtI+FcU+p+fpu+WXcyCbzCM8WbBlR/HXkCsL3e/\nnYVUNN6SXPq2bn2IlN+ZyHJOaPQ3AgYdjrjMPRv9ECJJZwkjT2ceBKS7W1HO\nJsJQ1sqeArfA7cFR+N4INrajolakV2i42XXnoXUIAHRI9WjAELuO0jQMsyXA\nACNz\r\n=GqsN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"85992c5be65bfd5f0e535b4347d1bc427e3a4260","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.5","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.3","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.2_1539073037641_0.1120547572216084","host":"s3://npm-registry-packages"}},"0.8.1-pre.3":{"name":"@adobe/helix-cli","version":"0.8.1-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7990beaf06b8d133e9d82f858dbd7c92fb7ddf91","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.3.tgz","fileCount":306,"integrity":"sha512-NuXdGRgG8HiiAqMxH0yepkj4YuKIHg6XsdySYF50rdj01fhRyEkSti9+/UW+wGf7bxB+ymkFxaR2WdLF6iAL0g==","signatures":[{"sig":"MEUCIQC+3g248sHzXhjPwDWng1WIcR8TuflMIAkt6mG8zYI7bwIgZjPvWT2b/QnBn8re/rq1ho0oxriuJeKeKL3n9Tc95F8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":866871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvUOCCRA9TVsSAnZWagAAcjAP/14KhtynvlUT9uhU/wha\nh23kn8Ont1MpkdXxqX2PUDZrvu7+KdHtNuWApm9mtVNJH3Fue9YI6VrtHuW4\nmNFhhLA8ND06qd6wHk9OhL7o6EFpgV3lfmCGQm+Q5SiIu7wgh7BCsAZaJ4PX\nGNJobo+1PI6N8d9Eo1H8FNmSZ0UCKARJKPuJ724JgVUIGFRt3LY283IQY3Di\nDwHxSuwDQx+xBkhwE3HMvc0+o5v+M601W67xy7WEBxzCuTqgXwB7fiLYsC0V\nkb/d88KkX1lpelBlcSYIPSp+f2pXSI7ZXTmYZGPf7XJRlLKu9+AA7iYx3tJD\nHWXsRYKgiLdkcpjazwvzDAKvdBXxDDocwJIviHr6rHM0x0bNSfZrHH47R0DH\nty98z9jIIOYMnafuXIvNwT2LvxWX3N/e/zdVmE4UDdBAcz3xqWWGH5qniPeX\nJzamq8hEvOiA9rvoe8ZV+mR68eY08zTu8XoOQTT6kePY43q6FEm0E3yZQjxo\nnhSWFDv149aTALw/0xSumTeAqybaOil0urYIjJnNUg3XQkCKlF+LgWxIZc9+\nGuzqQxA3IsbgHXJqsWtx0GYFPRrx5qNm9M+ppq70h00mGXWxUQXoEQKgQN9o\nCJ8NO5GLMIq/30b9LDUvOeb2NTlelM6eXgdv+WBt1lAKqsgf/sa8TCJbflw6\n+1tj\r\n=MOWT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"79b6df4f7701e5fc1aa49c17b236d23a540f1480","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^11.0.0","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.5","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.3","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.3_1539130241269_0.21059729014029505","host":"s3://npm-registry-packages"}},"0.8.1-pre.4":{"name":"@adobe/helix-cli","version":"0.8.1-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"25e107964d5c9f5c59d327b28ecb52ff7b834dee","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.4.tgz","fileCount":306,"integrity":"sha512-sBYkUnv8bAVi2+DL08f51DVNCkpYcnrwUCSFSz32cZZ1rG2vl7MAAmds4ZT+20lWJSDDEXGUgYYyH5olL548AA==","signatures":[{"sig":"MEYCIQCbbVQCiaRnkK9tdqV4reRAgGlSEq9upwyAb/bl5lHYWgIhAPtGgt1qsp9Ut+5MY87XArKYu2+4/r61IYF36SodRz8s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":866873,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbve1uCRA9TVsSAnZWagAA9UcQAJxsk0Jp5+68Vo2nOnzC\nbmRkwHnIwGaH25QPxNNjUv7/yiLTTN6uqxtAjP0N6cciWmHN+xcVD/BKFmow\n0oWeoIQfLzFi7bFrw/Z1OiPXuUwxZNyTUqzyRi0+BE6eW2ZYI+Xg02slVRcZ\nsMTuNM7rImbh5GsGwBbFzkEAv73q+bJ5z+vN8eovb5MO0MunNKiwP8hev24O\nY8IEZHm16AA56a+hn55K+pjuoadRezfQy8ClBF/Y2JP1hgAQ+RO1PtMOiY7T\njcMruaNnAv0hYoNF9zoPe4EZ67XRpRZbVdZKhKGJZ/egRTBTl+h8QSfRwFCH\nZakj92YYMZB/tPv8T20Kvu3f0PLoF5r57p8+1u3klOhU2Lxy6KNrdbZP56Go\nQ7UGEuxXq0qHs03j3Ti7SxfjK6hb0e+X2csm9kGKmU2Nv+T8IdYTEBQJTz8o\nnT0oepFJSXeQUA1m+P8Rl7FbTcu/+uaH6g7SazBszdafJ2HamfNR2TnYs0TR\nI6W4SLIDRb/f0rAU84cTLrIoL2uKVScOVKLQGFrcM7qg92fYL8t/SQQkP33Z\nF6jQ3msKSGjI+2cEOd0szkpXfWgKcegMK6kGlEc3L8vWBq3HwlNKcMQkIyjv\nNNJNBFlL/Utw8OGOoVvoPo9zPE2FfifpFg9XJ3CUS6bxW1QvCk/qkWTabnWA\nrpaf\r\n=HSDI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"7f31f6aa1eb9c0305bc4ff8d448c961d5f5b68f8","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/htlengine":"^1.0.5","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.3","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.4_1539173741056_0.78142328456364","host":"s3://npm-registry-packages"}},"0.8.1-pre.5":{"name":"@adobe/helix-cli","version":"0.8.1-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8f39ce62c0ffc38d8aa4881b97f22ad28c8bd66e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.5.tgz","fileCount":306,"integrity":"sha512-w2cTfnG25pGdKl4jVJlESEagrxBx48Szqpa1GSESJdpAvki64ug2w9ReFRqMhNoXHvRisWtBbEzF/ZeATDcpWg==","signatures":[{"sig":"MEQCIGecnt8NtJvOPC4ZjWgl4dLC5PhAhCBTYnylsW82YYkpAiAL4taosUzH3rOnotDWnawcr0R4DXwAXvvA1ZJadWHKIQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":866838,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbv2EICRA9TVsSAnZWagAAAXYP/jI5iHNZcbUIQObPmkr3\nJFdKXSjed+aF1hicVrXRpMEXr3pkLMeN2ZwFRcPxWZCtsS0lU9uICaURFpAb\nGS0Jj9guFFB3rAwC5v1XW1FpGyGEDWbk3Lkd1Fm07juJcOHAaNlK2p3ahMQq\nCsivAbBJpO7GpCNS0iV13vSmpEsH64sUWTdO3FA31+Qp9/99rlMV6V/v+z6m\ny5ggLWr951YA0krNUo9klMRBq/uD07FWZz1rzqWMnUPCj+8Kt6wuqe/dZfRr\nlsc+VYYX96cDfrmFtakGBSU0DkdecwhtEas9y8PovPHlMUin3ukLJ15I7nTQ\neQsGQzKxSXnOxdGZ101IwAL5Mt/AhREMiO51Hne8RPxsYpSPOzTqO2iju5Sc\n3+fzCKKQHn+bDlyItaFM22e+e3swELIPxYF0Cmp4TQVxyk4WJqbJ+htARukI\n4ZSPdDPNZUMaB6iLQVkTVV9wu5/JSsuHdFcf9URcBGL9D+J1xp1xWr7n+hC4\nj0gL8ZSyhIiircTlNc7LCXS4C6+zzwd6XMhrZndQfhHuRNBhOnJ6ErIImFWH\nPlPK/AmZQSh4RGumYfuhBbqi9ZcRyF1ukjPJ0Yr0iCeV0ZowRDySmyYB6wtO\nyuT2AmRH043q4yNQpxVzzP/LKF319ttkanV4zjO+XSXS9RPARCHfCuVhrEv2\nhAyL\r\n=zH7J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"f2c60d96128cc6dc6811d859f43dcc9fb6e657b3","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.5_1539268871934_0.20847909113164875","host":"s3://npm-registry-packages"}},"0.8.1-pre.6":{"name":"@adobe/helix-cli","version":"0.8.1-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1d6cfec86dbc629d9c8f2920b8fbc7e7e476d042","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.6.tgz","fileCount":306,"integrity":"sha512-5FjC51rdJczV8RTCVQEX2z8Ek7tweej9OVKbOiNLL1Np2mXv//+DgWrnvy69e6Qweq5IntoqP96hSdP0bOYOFg==","signatures":[{"sig":"MEYCIQC3IcVy+OiZYQFwtdVdJVbGXQB/nm0ufB9az1dxwgMA2QIhALv+ThlpsvuY58vvzzFpFJ/ty8ySGW8ti7FEvwRBwddh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":869322,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbwJdJCRA9TVsSAnZWagAA2/kQAIdAUiNHefMjObf0FIvV\nsCXDwUUNsP0Pzhntk/sdnmfLKu55Zclqp2DzeBclaO/oZye0mN0p/BbVHpUD\n7XIyKe5QsNBRsPyzeZnJhjgF3JdXJGGkt1K2xz4FnpsypGt8Vm/PiQr5ZFIo\nkaSLkcvO8RG+tlkJrjUpzLzaLN+e9wnfaWrE3Ngy1FDBEL059kr8y6NimGkI\nKYZgISMPOJmd6Sj3Y6vX7aru2sYa9WlXaYFHbBgPOXyfET+OVnfCSqJTHnxF\n/XXY9JrIP2TdXMM3NbwoFcgL82XLxOF3MrKjj3VSGmvWAQgawX9YxmIl5tZK\nu+pDmkbcVpdcGbNf40YgFTC4TwZVfL4mIoj41OCZxW3IROu+KWvsJVKvKBRy\nrWvdkUhRaqp9a4UYsqSSPf+ARutde1dS9x0HEMVhCqQUqUJ3Eu9QH/tEAbOM\n2qTBw0ZfUuT/U2rV2TFwijpz1gD200EU83Kug8B5B4N/Fq9LOnTsjFO+fy3Z\nRoMeSbZ/v4KLP1otrFEto3Qn3gT56OC8BxMW1u1OFBXRpn6SfZVJsZ8LVqlb\naLi/CChd/MOykv+imC10T62n3fOF9m+W5iU56ksrBZdgXxQpF5YADxTg7N4Q\nJdywExhxLRW1SaiKLCvd/HZWtKO8IGfYJpA41d4ykEPsH8dcVSstsblrKg0S\nh8L/\r\n=B1bT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"d4a03c358ea9750f272fca074191efc8896b531b","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.6_1539348296753_0.9960340673145398","host":"s3://npm-registry-packages"}},"0.8.1-pre.7":{"name":"@adobe/helix-cli","version":"0.8.1-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a9065899f7b784baa6a6e3626fb74239e0b5887e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.7.tgz","fileCount":306,"integrity":"sha512-8n+yaZwHh+YcQY5GilKPRWjG7QWtbzHnjWoiVc7ryGSrLVb9xzgL7BzAFvRGerUYg8aGsHWc7dYZr6MjHluLJQ==","signatures":[{"sig":"MEUCIQCKv2WmSz1H/T/p7wi3SkWm8r7+nILmSzTYBLjih8EEPwIgamZ9LBX6b+Idm17QsSunzg/li6Wl6q8fu2t7R3Hq9/k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":869514,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbwLC6CRA9TVsSAnZWagAAelAP/RqXp4Rzl6wVxzIooGN/\ngiMF1byyP2kGj18IUXNJI4xbicg1o/vohtarCEJr3iwwdVovgqBu127bop3E\nLq3qmjic+ZNtwTUh0R4nlZ5S2Bg4fAjO4FHRL2BxCsOscvfn+hBL+IsTTvB5\nTVW/lCD7RLgl/FyWM6xxFlohXe8dUG8BXSUaMfKWb4vtpMDU0McoSoYqAgHD\nNRZu4uwTNP3/BqF1XFrZFtBT0pavIahTx/jSdit33ABgHw+znZbkbNZPeGOh\n/9/U/L1gB77Iq9eg1GeRI6FSI/umGwU1aCpkDCZnzTlouHZTbFU2u5tXZhYn\nEdk2f3OtaOnHDUkdIafBBRkHUHdtN1cBQMzcewW6AdfIFzoD/lhLwWQtUGR0\n0/r1sTiFPCX6exGV7iQCgM56uN0l5h5imXF7eYvDqbZ7/QWj7vCz4arY3+w3\nAmuV29fFTZK6DsBO958yiuuqmdvR1uk1APEbDeCjgc56QDKDg6bHWXE2e0N7\nMfSUpsfqcyJWjjd1UzEWgR//qmk9Z3LJELFK6jlUCd5FKcIAPI0e05A0Fg3L\nk63Qth+aQwGTQ/XPDaB0KmwYj7VGLvZ2bMESdgOU8Om0wca+TnODZViPhVtP\n/P/CTtufQolOkTL3qHKIMrIVZv5098/o3C47IQ9+2PSF2sycLVKzpDOPLzZB\nIS/L\r\n=lRhh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"77b3ca9f06d338245849e3d4bb485ecd75c59028","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.7_1539354809069_0.07800738052432976","host":"s3://npm-registry-packages"}},"0.8.1-pre.8":{"name":"@adobe/helix-cli","version":"0.8.1-pre.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.8","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1a1e8ccd860026b4c321beb654cc19112a57355b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.8.tgz","fileCount":306,"integrity":"sha512-ZT7rg7JDyexuKIMpUJKRj50B5AcJ4Xk+6bD7Zz4/yPQITObN/YWhFt1dh+rW3L9/Yz++7uQRD0q8JnW6OmAF2w==","signatures":[{"sig":"MEUCIAHITYIPVDw3UEAf+d1jRKNAaBYKQ9DFblWZPVbvAhA2AiEA81jHm67huP6z+2TJepbmHiGJQVCEYqe84B+xi7UMuzI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":869529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbxI4KCRA9TVsSAnZWagAA73YP/i3gBn0GaLKaeUA9rx9E\n7EkTdOSPT+OfnzKc4mHWdJEioQcl/P5vXcFkBP1cV7sUm2E2dXgaUhOnUQV4\nNRXOXuikbgTPOeOOcA2Ev6O2Rq0TUg5jAkNur4b9pfZzPVQnqIwJgGNAHeGZ\n7OZ5Xe3+ELIR6KOipHmooCKSDBQqrrwBnpNRnzZiSlBGRKOiOcriXGACkiMM\nA/dPM5BfQiQYsNAuzFb4eZMsexWFyAKh0NJCEQyg0SaBIutjozGGU9sxzCNP\nz6Tn2BKh7N8W4o0btDxQVoT+ecCC1XsdxLqhfYIXIY9eBv/aP0TTFe71uWFv\ns/A65xHzKOCLBdr1BWhN7HwVvb7rvghrdxbGtFPSql6jZIjNdSvgLgnLQl/d\n+ijjtT0g/eI3TOjWBsaS9L/M/LI1rjUEWinrJA/BrxfSwcqh77TvCzqcbrvl\njRsPk/Md81i3ER9pEltIgpBeC0H+JFo1oMjfZLB6GXBpAaUd3lNia9oVTEvN\nneR6OjS0qzXyF/kdiGhzzXvNy/AreDeZm9ammn5EM1P5nG8IjtJ6TogH5Cbe\nO8ngEjIO9HHcPgOcqkyrU0EzKVCODBLF838ad5C2b8yG8H6opyU+xzkMdSoS\nPunwj5w1Qsj7GlAjWqD7/leQrWOFsZLbt7f49IpNx8PYCWds0uxC6Z3fFl8q\n/4pN\r\n=A8q+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"b28184616a9697ad8ca60783908c3e05d1a7d27a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.8_1539608073706_0.6836382943389332","host":"s3://npm-registry-packages"}},"0.8.1-pre.9":{"name":"@adobe/helix-cli","version":"0.8.1-pre.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.9","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5ae88598688aae4d388324226dfa72980f4dd6e9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.9.tgz","fileCount":306,"integrity":"sha512-pG5DoQsz1hnBywD3GTrlo8GMX+1i1ysEU+XdLTRn/8b9V9zh+zdLAglqvmYUP+DF3AmtnyQzsqfMcaTRN4a2ig==","signatures":[{"sig":"MEYCIQDlz5U0najZsq3vGVevLXZ3dp2osKIWrY/mRcy6Z79/ZwIhAJEKSgt78/fl0AzAFJrIwbfaFcx8Z4JTqyQ7jypp76W6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":869581,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbxgzaCRA9TVsSAnZWagAA9JMP/jxUekUniKnUWUCWllap\nLd9/an0cqPRr+mjIaHs5p1BMgtBU6kM+QEnhk48+82ZqVpVowXVFJM7Udq9Z\nKLH39ZgK6gMWAqKAEGJHBl6xMHYI91fAypDjnPkSHjQOoCO87KFq748ySDrE\nLUo4d0OyimkhyR6yDORDtMNW3ExsE2U9Rz5LnB/gkqmHnU2iBEVu/Fqe17yO\nIA6QdryMtCMGf7BmvtT4DfyE7nzV9SxcIn+wQ5iT9OpwIgGzkroMwyR4PfW0\na2rub6c/lUx6e3WETG/HYKMSfurzI9fr/g1La4fzhKORQ94FOIuHNaNKt95R\nJC2uSCUt7TulWd6UiCjJhN86BKHkIgrqD6MrYDeviRIjlHypCYvBqT9YfjL4\ngLz8AYDj2vnM3Z9NViEfzfcEWWcE526q3P1ac/k8WcYMWhWj0Clf03RUWvlW\ngB4VnbvlrB7+ZQ0j6S+Z0vBrg+qQXU18OboS022HaNBwRJL8/lqcIHRnTtL8\n1pz8+pQZp03DUh4uVdgzAIG4RBtDPrmOXsob1AD/omGCUJx8L8XKiMXi7nch\nHTvEkAM16zTHMtTow5eU9dZ4X4Dvz8uXi9OLOYTf/SGRCsKzDppgve4+2+0w\n2ofMpEHxuE09QC9GB/NVKhBVr5VO+yUg7uwouI+Vnks41QnauRL2FluvcXCW\nn8Hl\r\n=5obz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"347e2073e408fbfc288673cca5f4b790ddfebd24","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.9_1539706072741_0.9146412798663877","host":"s3://npm-registry-packages"}},"0.8.1-pre.10":{"name":"@adobe/helix-cli","version":"0.8.1-pre.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.10","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6c2096c872142094502c62ec8084cced75fba790","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.10.tgz","fileCount":306,"integrity":"sha512-4ehCm7/HAzOPA3boMP2LKzXMrB1eCbrP3CXq6CDUgsJbZLrzvRfL4aWPnN2Wvic+yk7eEkT/ybQUkSO6KOwGsw==","signatures":[{"sig":"MEQCIAsfoVvhIcFoF7qHHgkwQxQWSfNFYJgdj/nYR2IFOVXqAiBDb2wu1g6WJ6X0ashsENSoQTK4ntKRCZmiQq0EroOIBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":869583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbxsHVCRA9TVsSAnZWagAAkycP/AiCGEedEM6TV0WoT4b1\nXUpMZuZvPgs5c/PqZkJWUiFa4XAgCsxpUxOP8zoMGowSJD17xze0bQGymh8F\n5ZOdXA449H77ZS7pw835Meel6z51CchSjnbKbfRDUfWeV7g42w9cUrMBWRb/\ng7RZyzSsFyrkxS85Y/WsBlPgRpcYFCyEyG20Mc0RmYOSlQ0xcpgYAkqPWmXn\nW2uew4AjiBZGof+4utQqPkfDdcU+CfHGl29mPnxzYIIikFKzOJ3EEGttRGhe\nGaV6oZyIYzJrwvmcqcwh2vPwusogWoz2/wTwS9arO7CA2XYLXKhuMkABl+nU\n2c3xf/Uz/30ANaSp3iViR1xt+JIsmY9pPyEs5y/OB16n1yOPyXCOHqG7wKZ5\njbvSMHQdlVJXf6obpDExc5dWqypYHO1sMhWMURqSPVJ7OGwnRk+aHzSyOei5\nn9yB+B590OAxqfwgF34K6GlZSOyIsbkK7L/Q/jSwuU100e5RLkfKj2UvLq/g\nOJ/ibLCjIeeqRJNQv69z3CaSprHwdlHIV9QbOZgTCsaLp1IKxhvpsblzC10W\ngdy6bvscJ+YiWGk5uAmq2Ihby2XpAXAHFGcx4pfDBPCP0BfEEtoB3HTOvXUN\n71XlBTWLxfB+Y2eKR573Cwv0VRn75am10QqVorzMtA/SQD0P1z5v4rhhfk8a\nVXv/\r\n=pTH3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"d857f48758691c2eda65c0e06a38e97fedc9043d","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.10_1539752404243_0.5662746832471472","host":"s3://npm-registry-packages"}},"0.8.1-pre.11":{"name":"@adobe/helix-cli","version":"0.8.1-pre.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.11","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2ab21ca265ef313d43a24f9531277856a1abe169","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.11.tgz","fileCount":306,"integrity":"sha512-ybA7pgRNOsscVA5/YmMS9+yQ3bp1icCgD3+XH5Z3vKV7tsQNLNeLW3yQZevL3EOERvvKJqowraqzoT9zq6D3Qg==","signatures":[{"sig":"MEUCIQD+82EFvciIiyO6xJFPznedn9o8nh93O4hGqEYoBNGnNAIgQ0U11c18ALRCELYOkfHndyd/iw/KtWYIC4S4VsBIoTw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":869597,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbx0XLCRA9TVsSAnZWagAAVZoQAKIDF0fSdcjHAZRkkrfj\nvtGg9gFW5wxndrD7tEVEySTQqOnbe4Ty75kRoGP2IN4DZdmAPhGQZcKhLr4E\nHJcp3mDyrZ9wvQqYQHankBnsL2GfK5oaWCCwmJ/CqiJWsnR8nPDJrp5JqtQM\n5FLiGtFkLCd0rluW7bnnce+p7rEPfAF4Xra4LWZmg81HVTH3x1rONsofvAOH\n0JihLROFLOX5lg6lWA5vAG/bghOB/dIOGTG7NhRdAHsu6xAuRFXBbUJR3qul\ntuLVLmlh5NYZ78V9TQB5b9oTMMCFGZQST864JDvhVlULspDTRXPf1HGZrDq0\njHC7a82UooTizZ8fU0/poSoTrYaSoCY5uMpdsMBLArVb8UXMjxyWXJ3JC4D8\n1lsqjYggb4Tmce12f+uu8zW7Ph5pa4qXn7mK1Ft3oeUButQ7DaGE2u9/t8xR\n9wM4u/2p2eBASU1hsWwFz7nth1fkH3YMJZNVZJa+ZfQIBNx690N5MCsUwSah\nLM2Lu9nOYyiNaEIIjQUIErdNTFSIwpeCsAp0wPe5N7qzt6eShYj7kF2Dj+/m\nH15j1pK+6NYlFvPQ5rBP9Q3PX+n4OLOD83IP7QrB0tQmVLlKgedja2COmEkk\n0G85aqUngSSiQWrYsyeTWeg/VFKZlRwoFYTG5ofCQ677OD2QUiqSrZlpQkC6\nXIMX\r\n=wtRb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"c40b2450710fa62e74e3e34ab14206e8826f2909","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.11_1539786186795_0.5096271108073247","host":"s3://npm-registry-packages"}},"0.8.1-pre.12":{"name":"@adobe/helix-cli","version":"0.8.1-pre.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.12","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"98a75de3b072b6c3c8c61a912ba14585147753f5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.12.tgz","fileCount":328,"integrity":"sha512-BLeSH9rzZkkUly8o2Q7jdQ2ewMWkeMNO5TZK3cZZdSeA0bFMlq1NwrNRXwrwZ+WxWCJ+orzAe6kV2p6ai+FomA==","signatures":[{"sig":"MEQCIGjFwW6INPP6vVULQ3gqJW1ctOkF0Ah/XvLDwPtyoLnPAiAaku8TJ+zjfe43Y8780kGeLUANzx775FuC9skhDpdNfw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1015436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbx+d9CRA9TVsSAnZWagAA0rAP+gKcM9CHtDWmdYASvoPF\nUSnj1cQs9j9MnlnkLZ9EySdrVu4gVrAX6dLAob0xkUBGcGqrgm8AQR1X38pA\nkIdnaW8fGHQz9TojBXnw5Uzq7ClNUmrQtXrT1kApr22TC+6nskXsqdJwQmOC\noJurTsSBphTW+93Yv2nkvrqmu7w37EGSgZW3Kt5PwUhEFQKFW3w4pEQDUssY\neneJCotdHKrVX7JzJdOtIJ5sVYuDEHz36S0MqjQ2hsvmK++P7KiHsEf5DV8x\nSK+DMbPOhhIxFlOoNzCopNiHefaDkv87MB8ROa7EChAKRuYYsggP5JBypFmh\nbTRlFb2X4lO7BuKEJMY/Gdasf91lBRuCGAtYwoXOISXolZwf+6LxzLDDnJCl\nHyQA4nAgWcXruVSytXDFgFdbr9VcliYYGavS0DhHxhmW1jyfBPKI8dSz/HlA\nRxFoWI1J2mBHBUaFM07k1NCnNeJmC2i9e6AIJ/EoupH1FLPM4TyHYQoSGXtQ\nctA+SpNRFEvMHYy678oKgOidKZtwYz4bmtKxEfsuddzj5YQqzIoLN156wnqa\n4QLOfoO83+jofbT96QwpFu3wovLShwd8XvnB0uTD9WwFlBLTNl/ZZGqDHMIx\nRxr9NOvmN3ZHexinRwLqvdeRwhVjmAWc49F7KLEkeL34KkP86aHhi2VCAUIb\nVZVV\r\n=6H/f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"d95869cd72425f24f5a532b972f59c49837ba369","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.12_1539827580495_0.09240951334750158","host":"s3://npm-registry-packages"}},"0.8.1-pre.13":{"name":"@adobe/helix-cli","version":"0.8.1-pre.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.13","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"db9211db9eccbfb291e25c4e1d15713ac7f5d0c6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.13.tgz","fileCount":328,"integrity":"sha512-ebYl+f0v159c2Jdu72zU4ceUQgYTk/IFSIigW6CmwRJXnI6elZykfuRhWxJNmYFvF171k5jThEhIGDfEWQ9Xmw==","signatures":[{"sig":"MEQCIDqDa4nPKR+oARjB6g2+PiOFroUmH91RJrt2l+/WfjydAiAsfJNrnM8DN6Op2v7koln5DdYV4lBII6VkDwPOt4RnWw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1020876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbyEnACRA9TVsSAnZWagAA7w8QAJqlYVMmUg4GenqhPCNu\n41dIeBvc0oyziU1SOr/zp5jjYRF/wg92mn0D6SrPIuZhvnCMG7q6BLlADfdX\nwR+C/Udn/VZ6YSO5RdwrdOzSLUJ99Dn8dwg63fHKqHbNom0leNv10Zkeg/As\nyScEFYJPSUQPq6XB6kCEyHyh8Va2qFE9zhaxhLr4/KS4aAQDylxOqtM+PWJZ\ntH0uqPxmXPGlnRo3ClRq5snKpOhGSInuImVrR6mbOCs+5F2PFBQ6h95VKUSO\nTAm3IwgPxSwWgCZyV0WNhCzSaBUNne6YAzim8i1uwA4rr+6pk49XUY369s+K\nBVNva0wCCHIkdU0BcgSSZTfySoA36m0yvVmjs0XC0VMPaDks/zhiXRXJZu3k\n/TIBHrMM3XMbk/mgfrXlUkJJ+ddpX4IHnJktqpK6PuO4V0UY/SLfh9NhwkW3\nlMG+sQCjXsuQwm2+1KVCSrGrlvzegTRgJ6fftXYrWdJXN7ljcqO7i+9VXGHB\nw8uFbhIAAujOhsldK8zDhTo4lNIWwfxecx6+GnZ1b26Gt9KCd+w9PUzBAELo\nCuZxJ//HonBoogoMyb5Q7LPi8IBdLlP6QKOrOXeRZXyjmWc8QsMjTjmOulCj\nOryVXiTgZcjSoSYxJwAZQDRRw6ew7hw//DByV3jmYFAXxY2i38TqYgH5wlVo\np7SA\r\n=Jtnj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"4262906fb4c5bfb25b717ac347a6b10e0f1130aa","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.13_1539852735991_0.5886142887414012","host":"s3://npm-registry-packages"}},"0.8.1-pre.14":{"name":"@adobe/helix-cli","version":"0.8.1-pre.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.14","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ddfad545d49614bf0e7387081be82dc5c2184226","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.14.tgz","fileCount":328,"integrity":"sha512-RUGJ5eYVeIM/hd5C5FAhNwphsDPNrVLS/l6FAOMNh+pq9YRGNHVbp/YIYBGwxlMmnjk4FMyNPum1ODFEDDxu2A==","signatures":[{"sig":"MEUCIQC/B/8z4WRosXpkYhxdSSHHc2dvxzP+qEzHJY5FtSkREAIgch4tZYy0iuCSH5m6gUXm4TCv6FLDXOzecpxaPhCRKxs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1020895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbyFTDCRA9TVsSAnZWagAAePUQAIlwi2kVNfdwZpgao1oE\nFW74hSxaRNGmXURahq6Qzac0+R3niYdcEeZqZpGKEOLsRmGHtUv/7bMk2M06\n25rqpHUpaAmCqmhAAlynw/SN5W04sW+/pnoTaZPdCK1IewFLBWsmWP0dGabb\n/XWq/Tx4srA8KJIzaoT/eGaaeYGFeniNTtlMtgiPY/yF3YoX9vd5L+1Fucly\nWkDaNVFDhn0/syj7C/RIOH8nFltFnoOYQ0R2dK+RB7zqeR6qKWi7WhcFyuZX\nhPefh3QWujwMi7TaqGpf1GzKB/+dSb/kKUa+GY5Rgkxyt6RuyM+tCb8C165V\nuxAtYvFBvqEluh4yu3o08fiGUPwahlmF8niWBCGiIBEnOgHetEGmDhTzNKtG\naDdTo0RFUYUn7etDX0vl2xANNbRcJIIhEOL80n9z0K7al36OzwdmjpfY3kk/\nst4CGTrOv5RpFB02WBDs7Xkt43OfaAeCUV1yjpi/IHwa52qo/VOcWpMcA9UV\n8ndB+UP4TgMatLq7Eqz3lU2ufgvZ6cteGKPazpwdjNRP0drRU/bEXv28SuhD\nzKL5BqQSM0unTewAPKouDJN5yxCz8esqZDnZrolhbHrkmv2vLCJoJA4uDJPd\n5vu4FoUdlerwRYAfhEmpp+rCHcZkJf5J7U5dJ727yfQGgpk7P4k9stCTWfTw\nwcFy\r\n=MfZu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"9728815656c98545160738bbb156999faccb7b91","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.14_1539855554283_0.6122234872805961","host":"s3://npm-registry-packages"}},"0.8.1-pre.15":{"name":"@adobe/helix-cli","version":"0.8.1-pre.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.15","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"19c6c1e7fc7d11a332cb8f4791f076e4a5ee267b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.15.tgz","fileCount":328,"integrity":"sha512-DVMnGtrmzF7F3cA/7XGwYEw6niJTFUWXlLOXmTpVtoTDAtyZPNU4UlTicAB0nfteAOS4qOpj9nqxcrPRpPYVgg==","signatures":[{"sig":"MEUCIQD4zXDGPrZSafKGiZ6ONdGVUStjSHtR8SFTPtRljpYlGQIgOFK7m1t5ZP4bYBDSkNmIia6NRbYB1Z4+f+BekZ6OjlU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1021045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbyJTdCRA9TVsSAnZWagAAH3EP/0nvuYgcnB9vNAEmgmua\nyRlg3TTjGcmQbgHznbBA9RYwb4N9StOuSTYGFpWlyBr/fjwdP54rCUOcGJQT\n0CpgiUXTAe5VKftt1Q8X2u7hVI5XFXV7ocPbvlAmHjXvEqHDcH/RyxfdqS4u\nScIG6hhtGmmwE3RDl9HGbdb1JDylDM3Yn6d/hpRAIdvKDVlRImHPepTXDVuL\nFG8l7qLEWMHFaKIOfeWosJogmJ5gQo3iFH2yfgTBKvsy8N8UY0rCHkjCLFG1\nIx97m+rMjMsmt3+ySAcKET6Bjxc8lwibAyRR6Pjm1T3pG6s3cJyH5lkRfEpP\n5CvPhG5fRBleqdaDQS+E2GEuUntUofJGDvzXspNAcnRE3gNlndBKTGFOThD2\nffidRMJAs46Tgeo2NwCPgkWz3S7pGaH35ID1hOB9UH3d4sh3W79aJpvulSyn\nronP2o3cS5Ict7qwXwDdhZkxC+rJ8jPFtLQP0g4jWxlEmILmBf03cP0FlMLL\n1JHo7ORlku/RVHhz3e4SiTtAAHkGdEYsQOEo18weiVBKj646qWDlKxdzIBZa\nyCknI0/pLH757i+4Q9f3Fk6jmnZQJxIZuX6nMKJ8hPsEIeZJ8ksLtlSZBZi6\nEZI4VvQUMdqGeFsxhz5E+IOklAGeGLGIfl0alsgcwA5zxCk4EK3tNQtgaTnW\n4yQA\r\n=cxu8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"76ae247fdf22abb20c5ca4c6c038a6f58f778158","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.15_1539871964479_0.43463162565398017","host":"s3://npm-registry-packages"}},"0.8.1-pre.16":{"name":"@adobe/helix-cli","version":"0.8.1-pre.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.16","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"597906eccaa04e22d696c734c6735bb8dda05d24","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.16.tgz","fileCount":328,"integrity":"sha512-CwVFEnz0sDgC937J/YsnakBUyyMlmrSpTdGFa2YevIQ20YhakXgwgwYomHVfQ3zB99g/NPoAisI1eLEoCJsHGw==","signatures":[{"sig":"MEQCIF6CQm4kd/8ifSHIrlRXEnXPtVrEAJJDAY/YIUofcDeVAiA1y9MIGOQdQl1mPLOMns7vKVWPU3iBrZMgNeBoOYRctw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1021053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbybhTCRA9TVsSAnZWagAAjB0QAJMV0Bu7YO5fZcqOEmYv\n2iUBoDM4Nvy79/xyR2FGdwyz/aBGCfRZffv5y+QvEMnS9T8BJMhdqqSCjAON\ntqqTonkiLQU07dP5gO00Uk+poCe0hHrTX3PydqjDtHY6e3oq4Za5EV0z9qSV\nAXs94FlEeAJAHY0gl2No5WxdKPyuJG2YWZ+7zVt+prh8OiV2d6SKPfld8r/e\nrb7M7VUr3uZi1PAtSOCuoz1VE1mriy8Yp/dAy00Hb0JCIdkSEls6dK7OAljI\nDa56a0G5MOCPhDtMi5riwuGhOew+w4qP9zRnfNMD3fBGk5LBpNVcU3ivTWmB\n6PzGGweVx0pLp5xFO32qJiQ1BYZfCt4Lygp5NfoEZD3Pvhld8oqzdYTTr9K5\nSns05eI0BkEMZ2QOML1uvRKlhbUD1oQBlM9wRQ3jRwBNnieTORlaPPqBui6b\nrnF9yGlAoI4ffHrYmnHl90gGW2Icd1uF9v0BzP3MwVzTEjPW+YmXNIAgmdjj\n7lLqwpCi97NB0APUmSETJcsyNVtgOC3v2LshXGGbTVdfBMcrpOWkoS1QleYW\n+JfYa8m4OYK1oIFPOj0r6BIDMgeoxdGuRXzL8G2N2E9LEOoTP6WI0tAh7AML\nBJjOGBsweiq/vJ/NeaDvNhkcxh2EEAPVI9FZ/dBAVjKgihc6l6bfcDESnlYC\n34i6\r\n=jaa2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"dcbc9e934316061ec4d1beefdd3aae056b001876","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.16_1539946578313_0.8884205141467205","host":"s3://npm-registry-packages"}},"0.8.1-pre.17":{"name":"@adobe/helix-cli","version":"0.8.1-pre.17","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.17","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7d59c46fb133a71e8d8d6718fe5b1f05f67dd29e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.17.tgz","fileCount":337,"integrity":"sha512-XLdDAa8ysfvZbmPn0SVoTz9gVO1NYQohSyhq5oLXTlXh6xeHmaHgdfB46vxTzq51SOfyk3UHLc+QBTd1godmqw==","signatures":[{"sig":"MEUCIQCVBqRlBIUH6FCHLAqrSqJs9eiv5EPzJbvfOoLDavyB+wIgEa/mnKdLENlpzNmJK30kH/t+puHDttMAnB5HVjKko0g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1033842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbyeCfCRA9TVsSAnZWagAAxcYP+QC7o7Px+dkOahhKcWi3\nCI5fx3Ce0NjwvpvPTCCrkRZZEa8otUWKgj8puf1b17OL2UymONOU0fko2z14\n8Ld84s/mnf2SUlv/z93CTHN+kZsU1yNWBOB9ZjQO5eVfMP8NxUf9+cSQF5l1\nz1EfZkjltWVfLUQh2st7Ly6reyK7lgIwslw8r46U/p/3UrdCbKT6sjg+FIx1\nWFFXAw0QULRF6qAOjX8AhrTtIs7xLIhh1thpen1+MfjEKR1clyNcnbiYrZJF\n72GBUJ30czf2UGUSTSwJc9iHF/XVHSqGoiR75CCpnj8nVvIdAdGk2Ev2Yqmv\nmK02acXggNtUj/PNdDsa+l6GAnhd9t6+4mfNSuvjTeYadEjxoI1W4N/8u1Af\n0vPsnxxILIv/nN42oPrahm9UsH2xLTWVxH0HfDsbT1Xk54NBaxyValweftA3\nTJnh14FCB1a24LS2KLf6IN9UCygO6ms00khzoLd9mxpZhbK8ecIsnF2/Z0cl\nf7O2kgFFP/QDBJLfeuoEi6QqvV+zs4y3jTn0lwkLmfjchVYGS6JJpdlXYeET\nQQqtihJo1uI8wA44fFomBWCenVkRTQLtdMV/7GmrU5a1clQ27T4GZv481oOb\nJo9eHX2h7RsbAu1C499EcTpWbfyfHikQJxhLPwBWxJMaqtsk/TYwRQqX0zud\nV+54\r\n=f3nT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"06ccbb1a6df83fbe5ffaa4072b8e3d496f09823a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.17_1539956894731_0.784653614239109","host":"s3://npm-registry-packages"}},"0.8.1-pre.18":{"name":"@adobe/helix-cli","version":"0.8.1-pre.18","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.18","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0796ab79b150c827cf587d70d481a98beed4e144","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.18.tgz","fileCount":338,"integrity":"sha512-XdMyVGgfu7iq/PJSWJNvP3MzbQ+MIiD9XeLDYoCumB2syC89w2gFRGHQvwYG63MMLE2WlVeQUvGd4PSwDyNG+A==","signatures":[{"sig":"MEUCIQC7h0U8kzqwfsUSKxQ5U+qZIUhwuoVLw6hqzT4MjiRMuAIgf+rbhHgIMyN8XZzRACRAtFOS0jsbE0jzjh6+3lgq1Rc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1034990,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbyfDKCRA9TVsSAnZWagAAj1gP/3Bgmid0QSKlBdvZDHnJ\n/BonTYpvsMWaccC5G+4PVjq4RyBdnqKcS0Y3jWeyAodjButju59I/qKy6TNC\nxGotvdvSNWGyRYqkzW6cEoG6GlTJ+FlRwKYvCu4jW4rUL5BC7hgvZlKhBYIc\n3mDom3AI3svzNV+2SNPF9SSvYvs/PQlA8/wM1sQd4BAs0Yn97nblYEx79o5/\nc1lGKS1UiWZ5ZyQQLJyKn2UyQBvIflizxmWtCCWB6rcFKDAkg/99Dve/8DvT\nD9xt3O/bpiBj2eccZuP3UFc6TemBCaXobpk0aTK5U47HofHhqKKt9cT3ADcO\nr255sUMAU/ynYVKNP/kTiUKqjGYVxG1uJxH61+iaDzxFTKUNneNV+CzhatEx\n1sDGEHi9BXyHUUUBQvxCA0BscQ328F/onX+5zWxBIC8YLS0WPpm4Nf4Q0vr0\ncec3BNxrRJsPZhmBebKSwSOBBBcNLk/exvZLo1rzJkwOEFC7jTiLa76M6JPA\nawvVjZKSCoAVswTooscV2W2MRx5gVTR6w+JK12EMzJ8QPK4/zedLRBVqTHmS\nIEliYOF3ObNiaMg+1uTqjCfwR2YhmoH5TAf9YQsgJQwHmzZSD67Gh3D3XNLP\nBUWt3i5kcARe7a23avNZFPpQYQ0Ljh+vBWm8793oetkcSPZoq5qW8mdVGM43\nVMMp\r\n=iIvG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"9a0e3cfbcd8d885b6b2027015948bc30ba1e6ac3","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.18_1539961033839_0.7746121655020828","host":"s3://npm-registry-packages"}},"0.8.1-pre.19":{"name":"@adobe/helix-cli","version":"0.8.1-pre.19","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.19","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"630d2324097969893ecaf806225f856550f2704c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.19.tgz","fileCount":338,"integrity":"sha512-vF6r6MZl6QXwsUcSBcxQiCS6P24d8aBwgS3eHaZDeZAcAYM7V7ypAS7vB6RbI/wNozD5htOzB/y+84jidAK9pQ==","signatures":[{"sig":"MEUCIQCb8xMuS/awmTzfBK5kZOSAfyhf99nSbILXW/dJEyqTyQIgSoDdaQtuMTJIkcGps/zPpNF7sEA2feIg4uyt8FKtFIE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1035449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbzxJqCRA9TVsSAnZWagAAL3oP/jTAyJq/ze8LXaDiTm8d\nCAbmtxEzZzHgERjrB1iWgGpqR6Yi1v3sxovGGZuonuDtGbRsCiSR4omtKs+a\nBYj/XZ6hWXD3DZpeP7UlMPQUjKdYdTbesQhb++QJ3pouviVENHpz9VHI6JQU\noHsNtE+qJk3OrIUX7LpHpcIp7gLwQQrODf2RMEKMevDhnkjcTizAS6Q9/WrH\nesQZPqCXAquPHcr+IC68QBRPElt5IVte3cEzMXpYYHoGbZSRxruhNCHz4TP0\nzBdCG2VJrLWJRp8jE/nkR7eu0545JYKceC5+yuGdT297paxhu2x7GCbYEoUE\nrX7RZu90GBsaxbu2e2nrH/w7lNeGMclmxMiyqejjjaCX0ntPW1rdoumryTc2\nFCVgcRiAwWnhdSuvjdjDUu/pDUtg4PFCJ7bjnPvKLXvc5t8Mazu8pI+Ll33f\nAQ1YblQgT7vqHBVmSHsSdLAyCb0iCnQjZi8+kMjlhuMQ3ydJAe3J1OHhfqPc\nBs/qxOlz+xEjvGTT1DT2IGfV1BGCbWPNc0BaJAB47r19H6vXxknJapfq+csh\nTK15HCKlGbkermS42wUGdM9+mMWFdmpY79Ys1UpYtQLVfKEI4RRJtxvEfGbY\n4RE+6fxYIZMWIK+IQUZEXRPiNJkswZDRdVQ/j9kCP0n3H4ecq90edeNWekcu\nLPnH\r\n=hWJY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"9c4e07fed46029dc8812187fd32102d8e6d55f6a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^1.6.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.19_1540297321833_0.354960268694094","host":"s3://npm-registry-packages"}},"0.8.1-pre.20":{"name":"@adobe/helix-cli","version":"0.8.1-pre.20","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.20","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"48dce84cc120c9ece26e58413eb8f538033e2504","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.20.tgz","fileCount":337,"integrity":"sha512-9wFuN1qvOy0WtlWO959hCj/3vCRIfFlt/P+JDxw4w3PObj6S0qSvy5WxZfCAPMBdy9FnHqIvNQKkRjhR+Bj11A==","signatures":[{"sig":"MEYCIQDbxVdAfQtrnnDBDdeuuKgwFqxD3OcAOq4KKa7MAmfG2AIhAPUzzQ4WV7BTKj/X+Dnk9mBhBTP0cl+jBr5Qqo8Wm68q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1030723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0Az5CRA9TVsSAnZWagAAp48P/iwkQcupuU2tZK9+AZFQ\nnbs1CpqHvjd1AU3JkkiWGrpvI7hDqk6OJg6VzUie9VlWHuJ88Zn8KC0Xu6x9\ndTmWXdP0ppXgL7xZm4JKsys23WsJn/YkvtEF+GDG+M1Idh3nWZpVAxktklVt\n0hmO7D7ODKVd8jc3b2Dlz2QxwzCEn2O4Z5RIU4QJ87pL7CsK3xIIHjVUm0xq\nnavVBcqBD5ckzh/qW15t4Det1nJBRD+L2dDStzOYKT/IY7Lgtts3kNPD9Hqp\nzRHtUiQDnEVBXXvzjptt1qZL4hYemE/eCVOo3D7klNM8zjb5As1mKT7hjovm\nAePrFelpnodsVMBXk2dcQR7JLQNwbO+4jh/oJIIoWTPR+tnlHpUvAzf06bsi\nHlEPy1euUqer5dsbAuV1lyBz1bOAjMVKXfm1DfjaJLg/B7dLUI9TVC9ZCD8u\nRmlPA/VL2d9uJLM/wAaW0c7lfrPHnrA0mYuYl2zOtasIGNLCwwJHzQWP++SR\nVyV49Zp/8psREFBO4RaXGKKRPW5caywW78Hfv6nO6W+U+aw5rmgfqNOfATaV\nXWqWhF+8zUuPCgNYEDhjR7HmgjaVnJzHpuX0n3U0/Iix0TT+R71Iwu1BG3ri\nSe1FJ6ne3R92hXioFxm2zdo/6cOgKJEGawXLcY28AHPOZq/+xuHTpXYaKo94\niwDj\r\n=ZhLe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"549b7eb31d4d7ef4b0add3aba2e2376eeb3c24a7","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.0.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.20_1540361464473_0.22891037254774216","host":"s3://npm-registry-packages"}},"0.8.1-pre.21":{"name":"@adobe/helix-cli","version":"0.8.1-pre.21","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.21","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b168910dfa974390e884c5bbf818474532f4ebc2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.21.tgz","fileCount":337,"integrity":"sha512-Wh0TwnI9higl2AaXEJ49sNE9RGSvj3XumWgIs02GQEDMiYX5mYnNPshgwm+U6SNw211uz6ImqaRrTLllMwjl2A==","signatures":[{"sig":"MEUCIG7V68rkZCOJ56mZyVxfO4DE8ZiI4caaTrmm7fTrvlYxAiEA6r7Yl6n/BHysXPDMSRHjWBx94J+topNDMzhuR32sI2E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1031216,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0CG1CRA9TVsSAnZWagAA3xQP/1vzfAXM9lzDQeN2tHwY\n8P3gHqiFgvBSsRDowx+tqpvmMLbb7bmeCNrYvA07TEYVGvsOv/i26hxJqIlJ\nsLKpu4PUOpd2WXZ1jytjThc5yb6xh5dRzhH9+OgC7rBozSMIl7zqAbsGxNAb\nQNU2z7NF3mNfU0TqH1XROEn7y0njltCFtZVAQqu5/X2YEJ8uZO2n+j7rrCXq\nk0T1Yl5mEUEs1+urmHrAAWus+PS4q4e1sozAlZqPFX1iE+qeiBoymmyfyEs/\ngDnf8OnjyiUuoeQ2/2/YB47jLln1TtYyrN9Ar1RsYvgukYEkVdmwAonDZI89\nNpDobKyj5ecHBffFbkhkMlqn4WL764kmff2Dbaiy45wao8a8axwBlSPkcYNK\nzdJkM5il60abNihyhKu7gM15p8vGYOwaPyqjU48Ew/V9BDbT/wcsotaB8piW\n8LKKr6Q+Z9WqQzxWtZeXBJpsIRWaWR0Ig0gOpHHMS98zTBOC5BJQhwzr1UTD\nTsBADlFtsFimj/b9CtlF2tSh9p0QCeX+Xy6xVUIJ4uewnvMiZJO+ABrj5Gkm\n9ZuMEGBgPGBu9Qr9F4zIViVYUV8mnW1Q4AkNVNwxCZ4ZV1C/7CTNiLM2wWUU\nsCsUEEh94Mvv6XhNzy36ZyXmynS9atxGK5pYlFD8vAB0wSHGetNDgs+8C36L\nVmSS\r\n=0Sxl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"f489844865a9bb440fca9c9824cb66472ef6c002","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.0.0","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.21_1540366772393_0.2305424526049713","host":"s3://npm-registry-packages"}},"0.8.1-pre.22":{"name":"@adobe/helix-cli","version":"0.8.1-pre.22","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.22","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5e9bb847966949af3cbaa345a28e5d7a40615bb9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.22.tgz","fileCount":337,"integrity":"sha512-96Z0Ay3Qal3enx0bA1RZh5xQxPFv5cB3uroye8bYrR82fp/y6RPePuPvYSxora/MJJOm5+vrTuuwxVKysaCF1g==","signatures":[{"sig":"MEUCIQDRHGq3OnjFo+SJqXFPt9ZmeVhZ57LgzpAVaXo6i+ZcaAIgIG6J6Ac5u9eiHAT6z/gtyErBiZTiznpvrpsTNMGMA2A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1031270,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb1lDbCRA9TVsSAnZWagAAgF4QAI10rFLs5ls4z0uWR0oZ\nOsvj9XvUqBWb8yYSNRIu0xtdQTzkDbdo9/7iwV6m4VXjyWJN7+jZURmV+Tzz\ndk6NhZZhR59Qt4yUW1UK7VjpYl9FcWHvVYRwRuFKm9B5zBwjc+evh1scJwmf\neUoH8ZP2+JMt1BPlgbxKsHPyulmUuj7jiIz/rc2DbghK2PCh2n5fpcC/9hby\n/zvmW7alHaZ74AVrfU8ik0tMVupR0X+ZVFuIz+JCA0eU2V9f8WcAs5oyYyxJ\n6NHNlxiiPeh48Xts42o7M+E4ymmCaWiK4GrO0CXhpf39Lfp5O/n3UDaZyqAU\n6mixkYoYwaJIhAowGWvpVXb85hyfBQqYgwhgOOIXd+kjnXElU2B/wAVi0zRk\nBKEdnI7AHGD3DGprEiRE16wtj8ZL3TkvP9hFXxBIU1G0/p50dPrxL712Ekg8\nsE/NK1YSiM4TT/lOumkZMApt1JMuTBtqSdtMEy4QnkYt8IS+WeXpTOkQJKUv\nIGXUy7Ao7cZSlqjtDICUdOq8L9oZwQT3L0zVxeV40864WbaYIcY/bR5yWjm2\nSTeH+vFz9sJbYyFVLo2lOyUVdrIvAIEzOx7XSaD6wqNNBFK0Sn85sbOQrzJY\nsarUUwI/ExuZGCE8HTvwsdHeTFLaUcAaJFg9Tp4PsJSDxnj8kDOoCxafPzgQ\nb5Lh\r\n=JPqt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"fa6cb431f0262f336b27aa3ed2ae3e4fe833eac7","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","archiver":"^3.0.0","fs-extra":"^7.0.0","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.1.0","@adobe/helix-shared":"^0.0.1","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","winston":"^3.0.0","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.22_1540772058798_0.8987089026000386","host":"s3://npm-registry-packages"}},"0.8.1-pre.23":{"name":"@adobe/helix-cli","version":"0.8.1-pre.23","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.23","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"603e1a3a9c5775c407ba4ac82f5bdf64360bb00d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.23.tgz","fileCount":339,"integrity":"sha512-j1cMqig5WDYtahayb+tFzX/d4akDUuuWGbSeO28o8poQS39WN21/ZDf3FBjGM+rX/stbq4Ci9dI7ga4Bhmhn/g==","signatures":[{"sig":"MEYCIQDcPXq4ar4ea1q88QgoAj6/I+HRuZjYTnv57v7pcAEOeQIhANxLM/OHLp0/Gi+ymXsR19f7NHFNRzYv97BcqLlq1lYn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1039626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb1q33CRA9TVsSAnZWagAAN38P/1F2fRP5PtDHxVHw9rNX\nYolSQTspd0a+5d0QSp3yK/GjVVcgrupKEZrhLuzqpNrhBPiZN2siluWrhoRU\nduW40PqxuF+027X83Lp0aMtOcRPGK5TRc4o0HxQm0cVeJ2KYQXOV8ojVaaIA\nKT7uKebaqrUuY3Kzyy0KPCAR7vMDgopFxbNrUT1Fb68/sdmW3RA+lE38oc5A\nFcgPUWrJaM79y0f2uBuNq2QHfjFeCHMIbZNVukPB5r/Wy2oVev+0Ej7+Ei14\nzH0X/Y7m2GsZEqyTeaQ8izMqqJdgh00cuTkTnzcFtUKimWrCq/ThJ+YxbjEq\nQ8pCOKZS29ATFYSFex35YDBDahBXwU3ToXM6nwf4tDCMGC2vo7nL0bRpnHbL\ni4wYjINRCqglpbfJ41stv579aW28fRQ9HJeI8q8jqNVZA4enk1RH4h1yu2cu\nVqbHlq+rQYgNcJXROEAqwDEe50CURXQWPNsNPrvhV/8zcB0Mm1XF3Cf4hyV2\nrY0UgVdB7D4TVow7onPZK3fuDY8m8Mb3lMk7djIKJbV9cdjDGkV88zoUug0H\n/llkTjGSk3v+WevkR9LCat7YcuAL/xfWZYOQhx4N4/XlEMsVHET/fH64zgL+\nsfRGzd/muzwO/VqBD7zEWXGoQHfco7IvHVYuYw3td7Pe+pgBZYIJUpeI2RqX\n7wNW\r\n=z5nf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"006256771881149325b395ddbf8584914dcae094","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.1.0","@adobe/helix-shared":"^0.0.1","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.23_1540795894976_0.7842808048439658","host":"s3://npm-registry-packages"}},"0.8.1-pre.24":{"name":"@adobe/helix-cli","version":"0.8.1-pre.24","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.24","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d918f1ddf1b8e2e20e20317befd2ce0a380be268","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.24.tgz","fileCount":338,"integrity":"sha512-Ev46TlVfHKOjx1wZTiloVMyJxL8Qa9ehKs2XHHRizwjxEaYBhyr5A7hJabrFj8cXLhOdlzcSNcUvgi7bu+eJ1g==","signatures":[{"sig":"MEYCIQC0yUxQre+DPnVuyCLhjofGvlmS/h1G4TWzFJXr3b0+kQIhAL5SAsSXxqUo729WhqPvRh5T6QEZS+QGjFMhL3cUm7u+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1040055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb2SU2CRA9TVsSAnZWagAAmBgP/0qq3L/EMQbD6m64t6iC\nsxiSy+2z3vuVfR9ZDL+5pEgKhntG2c65aR30kKefy0u16ouTLMPmPUKsMApz\nJxSMjyjWEW+yJaseeob/VTV6ZHbPbAPHb18StIKUTK46G+XtQkTg/i3kpv64\n5WLxtXV1l3RCWldSK6q44HXl/t2nfe3LTQ8b0qXBCOHPJLCPu5HMoVzxGpRi\nB97VV+bsh2J9N4gjG1f4vbY6DCpd+UcqyAj87C+M6aftLenUWYbLYkqAknY7\nBOfuydhoJigUBmWbKm4bGkiO4dEkyPd85FZ/y/DHQe0UovWrKLqbVoManyXe\ncgKPuspvD+gqEeJ5up65TTI9a4qNoo3ZFXUxURe6lORcdq+Aturq37OsE3Gm\nUJiRwN7pBeQEPPoyzHpwBJJn0YNIZsy4ZvsaiRu0vIa2XkPTz9xrdQTnmxB0\nHU6tHGWtUfwPm71yqDIfM5h7kh0JzUKKZJhHwBk3df6Ne7kIEzjOlkGE51fz\ntM1YMOSh13aRIHs5QdXMoF3eRO2CKdrAzkEef78PpQwlf9RNL8ip4tSyYP7Y\nisLBib7G3T/w9j+n7x/dB+eiu4PpCyLCWYb76Tvlp2hq4anBqnDdlsDOMDF3\nGZZDGee7rIgV176+FnybpLpotCk54JQKZQb056kSiXECG0H9VClxX8vXFsuT\nC9mm\r\n=zCEO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"63e7439a6cebc13df45290d315494c9e91cd7ef4","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.2.0","@adobe/helix-shared":"^0.0.3","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.6.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.24_1540957493826_0.6842911722769665","host":"s3://npm-registry-packages"}},"0.8.1-pre.25":{"name":"@adobe/helix-cli","version":"0.8.1-pre.25","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.25","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4866afd09422ba9b8066be061a84faf33ef7a16b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.25.tgz","fileCount":338,"integrity":"sha512-ZRAPf+xNkCcxT1JQubOWwOvnuIfqwUQY4D4sEkcL4g09f9/423WKiVaDr397IjzZjXdQREgkRNuvxSCneplcHA==","signatures":[{"sig":"MEUCIFoj4cGIeENrZiNlDJxIXlABk1ugiBZQDOPKLnpt3rZyAiEA/nBf48d1sr/Uaha1pSpBNgeXiIPKid7re2hHQaXXTYY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1040803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb2VeyCRA9TVsSAnZWagAA5QoP/1uiGoDxKxO9Ua0MNylV\n+RMpoMB6lZ9yWD4ZMPUCO7bWxy9KxYRR5U+kfGhtS5n26hc8zvZV2hlFcIVX\njgomqrQvZ/gQnGGfORr/NpSPzpnpF7jiyy9XZO+5G5DkeTOMbIYx16MWNjUI\ncKuzw9dWinb9hDkXSQIpJp/78zvuTKgSKmN2JFcJ4wbv89iM0e503hGR2DW5\nP/PXiV5J8QVhcag3kHSnVGbOuwGTScDnwIBCAHEiYwzhQsNmNpivjYKRa7Qf\ni7/e1W2Joi7Kjz//jVuqcRkdq8QLV4G8Yn3SpdRqFLP6Kypg56PCBDVHEi+5\nkL47vuQZcjf15nDK1crGgwtJ4K77Zfo5FOfJrgo01mKF0oLz8/TFDSw22GMx\n4DVeD53hGo3lavo6umsLyPan3GtLelz2OrBWclp9AK0Vloe6f8AXMSOKiQGp\nvgoFGT66aG2aiDnevhGtXx3kIrgBdTPyrUPosAlPCXoWCG5bxxy6+kx9BRiQ\nq0wRQVi18yXJ1I7jvSrmWNW2Hh52WoP845d7030knWSdhnpwjMCFm5+T7VkU\nSu6gD90ARY6a/QezQ9Cd4aH4f5VSQ2aYoPpdEa8yv5H3MDYumYoXz3AA5vO+\nanvwvYH21xHc92aEAfJ+6wRpYNkstkH715bglCpFs++vCm37OZr9fX6xImXy\n0DAY\r\n=Nk9M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"f8af62e3f88c4cb9a537ac999beecef8c101038e","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.4.0","@adobe/helix-shared":"^0.0.3","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.7.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","request-promise":"^4.2.2","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.25_1540970416218_0.2645299186569785","host":"s3://npm-registry-packages"}},"0.8.1-pre.26":{"name":"@adobe/helix-cli","version":"0.8.1-pre.26","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1-pre.26","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"51d74f03aba857db6a1e99c0bbdcc9405a5d98e0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1-pre.26.tgz","fileCount":338,"integrity":"sha512-SxUgVv73KQDeJW4IMS1ABMRnaJOo2ZjflFMgtkeZJGIyIVwp8AOYOrMZnU2EiW7mcAcaP1QqwgKCJTn8HzUTZQ==","signatures":[{"sig":"MEQCIQClBRO1WxoY8MRSkmeJMEasVhgA9YsRnpVYY5/g33dpFwIfFuk5C7udTQJIO09LhbKMQmGOJ7hGV98OZBxHsocbGQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1040777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb38rJCRA9TVsSAnZWagAAdrcP/i9wV8O4EBVoRzULB0gz\nuKvFX105dBPBsvGUZOz5Wc7dn1Kw9zzGimCWUOS5J932icL9QG4jLyy7BHdd\n/IvZoLEbibaYRKTjSq9qlHNhdPQPY8aap3p8w3c8+dWXikAilc1jB06pEtq1\nMLP2P+xuU27OYoRNRF5wR94/yBueRECzONGNlF56edbwbj1juDg4qvCxmbl7\nyvVhSKg9sFQQhgpjSEaBnQ4McKY+JQBR3Z8RnZ98V95nJ82AgCNSO+pCLaIB\nu7VMRipJBNxfOztnWv4Mp6LdyWGM83EcJ2OF1Ikrq5lracCEXt7Y/lVBrvev\nr77EFhLn9iNYpLMOq99IzceNy7XlrwnaFzqrn+47HDTJ7Ve7mc/GetLDWLH7\nkoTbxNIAUbQqO+8Lq7+vBRe9so1VucEV9judWe5q9eedZ4A6omyBcXkiBUz1\nDatEgCuJHNbLv24LKKxa16ewGagjtKRZfGTAWf8pw44pEqDmIntT0ISUkoYx\nBlymu+KdW4oI6OwyO6ETAsEpvyXPO0ZjSODv/kD7CvzThsLu+/ZJqEg7mGmT\nLlLczIqacn3G/mO5wg/S90YC93iNh3/5ruIdlx8UYLCB/LzPsDfrK7VzaLlW\nbtSfl/HSSxSTS394RL2KJdmOfLDcWliONVwIK5mwRplhdw54/6QzYVSZ5tFN\nOHRv\r\n=epXQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"37aaacd561f362bc11bc1c4a927c36bcc43fa568","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.4.1","@adobe/helix-shared":"^0.0.3","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.7.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1-pre.26_1541393097189_0.7569295341394637","host":"s3://npm-registry-packages"}},"0.8.1":{"name":"@adobe/helix-cli","version":"0.8.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0bf6796d313ae6c45c1d28f36517a14d12cf63f6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.1.tgz","fileCount":1904,"integrity":"sha512-Fv8DgkZJaerrKWNmZ56L+tBEvOxv5Qt64BVkgAii2IMO3Efns7aRfl7/3UUC3ge8K9NUVbMQ9gbTSnHcueVl4Q==","signatures":[{"sig":"MEUCIQCZ7Y22G2z3SQ1fcvXmxkg8FQPKUwYb0XXBt7NUqO7cEAIgVEKNLJWOMDuyBvJUENgAEqVU7YfrGpZKkZslvdxl8+8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17472765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4QwKCRA9TVsSAnZWagAA5yAP/3J52TDQoLnWE4dfyv2r\ntAtqfyJg7lScS4u9u05HcthUkG/Ii1bGpsjqXLGKiMInYLiHHCYuRa+5v8nJ\nbpRKKHOUZxuUcI+oVmTJUlLnSo2T5AXf8fANmv7TTcJ/PoaEkPcto5IBmRev\npVrlfdXQwEpfXQpgxYYSAcZtmOuGsn4S4G1WNIxZV4yY0UrFJYIFlf0ejIRb\n2K7b6xuVsvZUPOnJrcLV+/jZHiWFptk6qhlnDREu3BJbT6Y/3bPHCcotvNi+\nBlTzPKRc//8Tj315UwfWXJFfv1MMAk1MQbcznYoN+J0mkACDK2G+3lzDqt9J\n+u7l38fHGY+IfjWGGswofy7jYuHhG7/KlLpcfCiko0qWcTfUoKinzMeIb5cs\nhA723Oe1HvwigwqOVf/H0jWYBNT5zxBvo3l70sIMWQyPGELp+RsxNUXZ0YLZ\nMsgsWPs/9NkDkJOAUkjmLsnlurqNkNDWMuyf2O3kF5sAkVc5nlH06uy5LI1w\nQGuFsqkaME1iDDGaVFFiAtd7OahUChSXWj935O5cumteiManxBuhnhJEy7Bc\nUghvgALPkTlPSgBYs2BA6oQzBjJxL2N9LKbi555xrutF7X/JlXldx3yAak4W\n+7dM52r+f6/Aj9jtszXjdhhoOPqkrHwwd8ub7x3IVTM9B7soMir9TonDfjj3\nXHTJ\r\n=HABe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"72f6cb103f1a27f67693bda2b93adf6e5be4fc5e","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.5.0","@adobe/helix-shared":"^0.0.4","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.7.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.1_1541475337182_0.21726459323234026","host":"s3://npm-registry-packages"}},"0.8.2-pre.0":{"name":"@adobe/helix-cli","version":"0.8.2-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.2-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d316ff4413fd19c1ae906b2ee7ab0b881bd9de6d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.2-pre.0.tgz","fileCount":338,"integrity":"sha512-HYnEdo7+Af+aMSxfZ9I/VMw0NUC8/c3DsbRQ149jbmhnv1SmIjRbH1pGSXQoV5M6qSyyJiOyKQA5KJdGzVQaoQ==","signatures":[{"sig":"MEQCICn/7CgayBOy06T3wAKkT0m6HpbHkp1P9fq8zI80dP4+AiBfvyqQduRUH0ywjteFAGT32T0Ex0JcOpyjMR/S/CZZ/A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1041606,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4Qx5CRA9TVsSAnZWagAAq7QQAIIhpvOzx31X77I7VfN9\npv3rfUXuNblX7aDY2DbSRV68sTMCQMaH+gFaZK/tQwiFiNGDNPvMgL7waZa/\n/lNSpVws2FT1r4BQCPN89lH43N2/M623MJMldbbtk76GfQ9CPvAWPh8loKxH\n44PpMA3uePsP07FW9Hf9/aCAI6lPCMUMHMYCfzGYnruiRaa+L+AYjM6zLAlX\nK6dV1uwGCam3yDHGVC3A+bZBwB/B1rO+KUQ+hVCttu1KiSxjHfZZE1Qm+X6m\nUoR46w0zZsBLovxnREeE68y3I2jRQzlLzpJ8cQPhxTtnCuIIWkgLmRhsjL8Z\nJ6CImqY9Em13vkWXaA49/xVBdRQXF5l5lRC4wpLiFwAMv1MSu8uqp7fqWjXf\n0jOBbC+4Zm+EDRt2Rg7L+6N6NWfC/jybbTjwtSoiBec9nSIBRoAiyJob4VWW\n2L8lzLwnSLdIfqOZB5Ps0DYNWxMSZ7ctWn8jLqhd9mujjfj1XuYYEpKbKcF0\nedaqvV2C7H5UBlk8LU0CoK+6vMKdcJ9nptEeIGNi/+MZAC3uBYpglppthH0Y\nJIK/wekpI/bH9NhIWwtM7rN82muyyi94pprvWQfKnOXwXfopPGJwfkVPSFED\nKPv6IrYMeNc555deeYzDkgM0SwSyIG2/eYC9WTm9thX5zfwLl5Yo22FT+lKC\n6HPM\r\n=QkiN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"6a7a0eca829ed6354809d333c3e50a6aeaec764c","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.5.0","@adobe/helix-shared":"^0.0.4","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.7.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.2-pre.0_1541475448180_0.8044979251180799","host":"s3://npm-registry-packages"}},"0.8.2-pre.1":{"name":"@adobe/helix-cli","version":"0.8.2-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.2-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6b6a100ea52387e2604363cb2f700fcb8a98be79","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.2-pre.1.tgz","fileCount":338,"integrity":"sha512-hW1y9R1kguCObc0roMs3LO6J/IZ592NtT8IALJVs8kmsOKjgiX23BZloFB1Phqnr6FJXOkF/glljXNbDV8wq4g==","signatures":[{"sig":"MEUCIQCiDNTRrov2eBQAk17sSLGQRjuHM3NFnXuKCWJb4hBPtwIgL61ikmeIOZKpEGJryeAI4DcuJwv1kfI1v/AeCeqF4uc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1041748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4WRWCRA9TVsSAnZWagAA4YEP/1+Pk3/+8Ls/KMISVrkR\nC4gvUDAnunWgVv2/XVbWvhHYRWGGMqtvY/P8kL2ioAvzHFqmCenwnzFuXJEo\nR3dBzYL/i/6lo/BrfjOH4n6Dqor5toaCWfSn+Pi8mkKjxMiyNkySFETf0uEi\n58jOgADmWo+mBpp048jbzV7nWRMevtWFDptqJrFvr37EozIcEgqMKGFWx7KZ\nc3WEr0GNDhO0988HM/zNZ/clYgIH5DeGzooddF63c3Gl1VaMvjln7olR/0y1\nV/ghgKAzw+O9Cyp0fLgOoIFa7iu9SJ7hYyIdzqYSG8tiz8DO5FID07tz9xOw\nEnT6p2+tW7zeA11vS+cPcxHsKTw4lRwWxKvSymwhVQYgIaBbBJ8LbIb60TFL\nvZzETvLvdmYbETobc9aX19sq7XAd+5iuA3vg34egbM30WOWHIl9sVFKDQgaw\ncHisKzxrTYH1unmUNkrC4+zcxWo/QYEVrEcwYno6o2W/J8uuR7/zYu48ejt7\nv1CMf03xs2WZYbPCo22Vwuz4At4AExcQKcWIxdouS6FClqRtK/t8iMu2ucUw\nsm0FBvMBLPSO3QdLGElLJIELvqNUcdrZ9flAbeOUp6cl2/oWD41Ni7hXfz0Y\nQ0XrTlj7wp/Y+sQiBH3cI0FKKiqOaORYC5VU7gUopwQNxAeP0O06gyTEp4wP\n93m2\r\n=48Qu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"6ff06940894e180511382cbbc974743451932a8a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.5.0","@adobe/helix-shared":"^0.0.4","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.7.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.2-pre.1_1541497941488_0.638989463351227","host":"s3://npm-registry-packages"}},"0.8.2":{"name":"@adobe/helix-cli","version":"0.8.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bac3a48b07b0b3deb7cbe7668eec161b7fb3dc0b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.2.tgz","fileCount":356,"integrity":"sha512-oReUtiyax2soplWAfzQtShws2AAxFTHQVKtqZfzTeB6u31zZevv+s90Ltk3NAeaL6pF1cDbhIVDNgEWQ/YCZQg==","signatures":[{"sig":"MEUCIQCZ3lylW1qUA3u8qg0Y5ZrCkR30InFIojLdeWcoXkKIqAIgcOvpWZKORYNc1oZaNXREbbfpcrAVIFI+6zeonAgcQb0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1142901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4aeaCRA9TVsSAnZWagAA2SQP/2/4jq6Zg1zdB3aia1ja\n4eheSQkxEdNYHDdJ71KbwbbQ04SGV2GocCwB5iEsoYpHCc9qAXmWmRMTPa1I\nkcfvOVyl2oTkYlDS6V3DF9aInkU40/2A+DV6MBkRyXYnz10AGyfI2b3uCrDG\np6TfiHyZczcvsGFauP2dFROCLksSx924D5ZOtnM0417pQWEK/OJAJPltAA8l\nLVF0iHsaclXnu1otlwBGKVsqnvBYlc2LMJYkEAJAZNIU6oTy/fduwNl9Gd1E\nreizbv/JmN9x9tEQ7sO2sxU7vZsggfC0+UmR40UisMLV+VWmumVjy5hRtKdL\nFRZLcpjHDuwkLSNx292rZL7cimUSGDUvH3V47nXKWeOzSeU/t2EIP9NYfdri\np+bQKmrPuGEak1NRzfCL60UIK8T2uKPiN4rt9xwPPhWjm2l/1eQmWKbjTHb5\ne2p7gVmDAf+vwAGEw1KivKaD+6cW1br1tJOFcAfuqREs40ZdQqdUpleJhf7p\npjxrU0r3tF9oS+aRjLdcxyEMX3QHZzgGvnJ2lWjVmsR485jMhmQYLofTR9aD\nQOZJg+kcxds+YgF1B4vsAVc5B5+z+pVz6UEkbiKaP+pExAbTnd00e7ALV6Vo\nTpqM1VCggFBkQXtQyn062OFThehtLvSJSvuunzyhee5EQqPEKMrbsYwbldrm\noSvJ\r\n=9EVZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"6af7647fa7af74f832db9a79735d6b7e4a110eb6","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"kptdobe","email":"kptdobe@gmail.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.5.0","@adobe/helix-shared":"^0.0.4","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.2_1541515161815_0.11387496768104532","host":"s3://npm-registry-packages"}},"0.8.3-pre.0":{"name":"@adobe/helix-cli","version":"0.8.3-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.3-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2727ae54c5b818d50af6a0d517c9fecc8424bdcd","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.3-pre.0.tgz","fileCount":338,"integrity":"sha512-zZbq6UXZtCkFtwplsAcSzTbpx/Uu43HgVdZTc+vsMsQE4AhqxqXI5mR2gB9xd6jw+RWm5BTMdBeycV5emA3bzw==","signatures":[{"sig":"MEUCIQDcdO7laQUGcvBxechXmIOc2JQ2MjV1i/DlLFSFcBaJnwIgRmZq8R1VV/FEt7Z81EnbP9nR8TXVW+IfKAcsIiGkbp0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1041735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4agnCRA9TVsSAnZWagAAvukP/RajXYRnA0Vgrjfw6XMP\nhwHhGhy/ML4pO3Mgn5//oxypXkA5pec8YV+Gs8Pbhp5qJv/pvT9ZwmWHycD2\nAtxxxif8suemxNmQ0F8Kgj3VZRM2tjFhtOY90BJnXtvv1eor5Q7tqEK1qL8m\ntX8pzeifwm5/OujVmtCtaNWf7b7x8HCqr7OnSjfKvAcF1VD7kNrxueV3Pwoi\nZE9gKfb/Jy0ibeGtJx+PqpuYVWeJQrbtvroFjxsew9uU0rp3W2bRiLHNGMCR\nTwCuho1gQY1QXs31fTn9abP7kjOJwOv4mHnq321Ovs1LGTPU+UxGXDlnhN3b\nYLAjZU31VIcyfIuNg43vvRRMqi5RLUgD3OV7kxk9GOZYaNQozdb9UOtjwYkT\nFLJhq2NwE5h9rqD9b/szm10MQgIqPWMyzxxL+tnKP77EDeIB4O9NVJLiIQda\nw5stTBWmSyDtaXM0Ki81HejrCvhCpJklvI/GOQGyfBscXtQ6SaTnbLB5SrGC\nhSGiyyHB9mf6B1AuGZeR8tB1HC0HA8cNKzT9KckZ7wAqVPBRYJ8WGnwu/xjh\n2hsQx1n0LB0XmeJ+paQwDFcEa2tRQOAGnTCspgBpWMIMkrCncsYbjdtu5dM/\nQ3/IQeT2EDf6UrG0OHdheTTUZeGw55n2b6NNJAEJBO/M6ggCYD8Sn4fBt6ru\nT1JU\r\n=LZ4g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"04284d747bf193613e01d98bc1feee68931cb72e","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.5.0","@adobe/helix-shared":"^0.0.4","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.3-pre.0_1541515302934_0.624658088661652","host":"s3://npm-registry-packages"}},"0.8.3-pre.1":{"name":"@adobe/helix-cli","version":"0.8.3-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.8.3-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ca96081aadd5ab32cac5b8a95adc8011dd193ebe","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.8.3-pre.1.tgz","fileCount":310,"integrity":"sha512-L0V7ddKIyDQzqCgUA0QxIu5m3amwHhpNWFelreJHZEwCHWy+mE54+58bklNPY+fX9a4Ro1tyCNgOmBWjg6uJCQ==","signatures":[{"sig":"MEYCIQD8Cv0Whn30nT5j7MiJI+rToXlZwWMEkTLRNGujJkpg3wIhAMbSs/NSbPyLAp1YI8hrdpaEt4jFsTXMlKqq9pjidAXG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1026327,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb5MxTCRA9TVsSAnZWagAAt04P/jTqvQT9zESGGVvBbMi5\nlCtHSYQIIktwEPAcq2CUH7YJ8sbwkRlINB0e8o+xpOxWWVkdSGQJPMFAowK8\n2ubnFkZEI3Pam25i8kxu/SSb/s03hWmTwIMsCZpQEtnuduqQmRU5zXdlw0zE\nLDRW1xRDOUuB4pHEgIkd9GAWoQLriQ/NS0Ek1/hCahE8ynlo4EPNbhV5oxcT\nSGB/UWIeDMJD4/pKkFeeMx6hUTlipfF/LeSSCQqqLHed7TKpY2leLhjdX6PU\n1aLXhZ7D4EowXSB3UevUfQGEMycYrzMOIWtQR3sN7D+evPx1M5/XHkNG6WJn\nZ8TzEe0EI68H4wgFafba4OtoolUv6Gy5L8uKgQx+iA9pNn+7eAS4oofzOw2H\nWkOmmQwXaXRg3ffk0y9FmZfTSdG5gJ46w9Cm8ecGB00mKZJXNgq75CxsySnt\nvLWk3sDui/CQxtKXmSBXcxQW21k75Vo5PR1ZBSqqpiPrDQa9Ahmcr8CzItBA\nrvB0q1fM68t0BbuEzYt8t30C9h6FQKWdT39jXuDmgMzwhmMy5rLPDee7EmLU\nu6D1c0eGx4JDeHWCteRV3JNe9ZSVKK0qMRuaY/r0iK0Z/6XWZSWlZcQYYe8e\ntDlZzqsgEic5JJiL88Enri75d9tUK5NEGSmg2B/9nrPxIcavCxdInQdKfkk2\nFWKO\r\n=nP8/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"9b9d63e6f63f99ae040ec2155f0f7e725db4c2ae","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.5.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^0.9.4","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.8.3-pre.1_1541721170303_0.3153143671341885","host":"s3://npm-registry-packages"}},"0.9.0":{"name":"@adobe/helix-cli","version":"0.9.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a8f7ebe944b20478d1ccc44fe3c1cfbebfafac66","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.0.tgz","fileCount":3067,"integrity":"sha512-Ujek7xIb3TZvCRZaLEGgGL1VcqfxCGEBpNzW2f8yPN9kNm5S/Wy0nRh4XlHhKmgBtLXQm+5b1xwJ6cZ3kwResw==","signatures":[{"sig":"MEYCIQDpqentgc24IGLmeE27yiHcro4+NVImwxvUAbMyLtenwQIhAI942mSeQRt94WuXn4wTXA03T1D49Ogv1+j9WwHUO6rl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31659803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb5M4OCRA9TVsSAnZWagAAkgAP/jQdxydwqwNw3ZFlLf56\n/gSGra+ydQWaG8YBvGC/kgU180+oZPWtfHnSwlVcE3OVMEtR8aFM7xEoKQ0t\nuKii/2zzy064HnfeTTKHuq1+Hui4WUEblFC8yWiITJMqaMtz92qJu2KiGogj\nA93fwLDXyZJwey5lVwDBLbJu+nkb5O1eHFNi4ZtlQeFTFxKrwyQ8hWvO4j07\nLPez0awhpeJXn4iaCaoNdPHpkfUNbPTWB0q8P4TV4376km3NCGSa392U18GZ\n4vWtlvoqQE64WAy3Y6SriyhGG16Hp0zPPJuuumDN1o/ZsUxp3OMiy8XJereu\nfahINxSgNdiYLzEk6dJgEapQIW9FlqsZbmoPecdElYQldnb6iDsrqsQzBawy\nuxfPfouBR56ZJS3NMN/nLw8ak5wqD3E6dAoasXR5WPHWIyRpP6u2l/S583Y8\nZpNhPLL2V8zQeI165kgp1IoAuyTfVuOJcHy/JRgfuJxR3V4nPqwlHpdDl3zx\nfH/sYBPHsxXIUerCHN/WDJ8SADVWqeQrGDqXLa0/rVb8yCRtDIw6ZZB1UlN5\nMXXhruda9Djw4bgd3b43kmegH7WXscLqJz97LZqjS89ik2lT35gsrk0thJSu\nRBQnBjAu0cdJrXjt4a9q1d4+tCrUiqsSy5aRLlv/i91gf4oCrnUsWmsooymD\nPWwc\r\n=1Cz7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"672f95036c20bcf1462c087059db8e7b73dd49a8","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.5.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.0_1541721613243_0.01025705257824816","host":"s3://npm-registry-packages"}},"0.9.1-pre.0":{"name":"@adobe/helix-cli","version":"0.9.1-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.1-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b8d0dd3636b96b540efc310ec6807dda8205dbe0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.1-pre.0.tgz","fileCount":310,"integrity":"sha512-fQSjwuxO5u3AhxTkhZlr1gA+xE5C2hWC+TGXa3dQ5IKRMBnU4ZxkU/Oz3NeKlikhQv7181L3h4Wb8Tn8MAJe0A==","signatures":[{"sig":"MEUCIQDKPxxRdtVjrhh7Akm05ZP7gliWK5FZmxdsECgGr5VbkQIgUJ/rlqp8LAzYlnKt2OI+5s43DWWsSpuJLQ748GqCNos=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1026190,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb5M6LCRA9TVsSAnZWagAA6ZkP/jo8EPKGhzsuWs9tXXP+\nVRA6Hxm/cykhG50sECqoP0P5l3CwokiJNe4kO4VqO5msjyCeGX9B/qvnyLmL\nX2wdo23F7pM8zmCngOzLSlMAjRrVFAO35HGYTp3IXC1OlOagKfYsSlohYgQl\nHyHBRXC81gtLPFFYTyv3tUrjpbCArTUdC2LU4hpeGfb2SHl1L54KyxYMUApM\niTNr5vpVasBlA5/OcI6rU8UgWT9WjkX2TMBCOAVGNYijHC/KkqdnK3fc7UsB\n/nLcFhEzXypuuCnETiFkozz1GKNmQTMewSluCL+d+/Yey8zrLLqB8oCawZbd\naFkimzYopgdQVJzR+owrLuntPH4SZFoVgI7FC/LUNrL0Ntz8E0Xc90aD+4nN\nD6BJmAl8IeK3KBYUIEl7V/5lPeOC68VoD8lF80aeKFRInRR/7YUZY4eDTPQX\nBkJrPoKRIFUw17a4SQyA+RGGucVOMfyG8G59+R/1tEgjzxQn9NShAvB8qEXz\neyudr/Z6miiNQHh104tZddvKk3qlUX9kCBxZnhGdsudOl1PN5pW13IV8Clmk\nZIO+T0G7dIuk2oXQfSUsepFAGTbwGUCOeRo7mLeJcymP8McDqWwNOS/xEnEk\nuINN/vQhCpsy7wZx0nbcuRvBs3+mmCS67jkTWkiB6Wu+sl0TDKzDeyv3OkWI\netNi\r\n=sXkn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"175631c06f94499d3302bd643a6de70fddf6c7b6","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.5.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.1-pre.0_1541721738436_0.52859952820809","host":"s3://npm-registry-packages"}},"0.9.1-pre.1":{"name":"@adobe/helix-cli","version":"0.9.1-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.1-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e7d05e115835d91d08898cf3ec4ba7699e2c8892","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.1-pre.1.tgz","fileCount":310,"integrity":"sha512-PAap9Qm3ZK+4g4mb1RISqjm47UUL6cpgOHO7jSPkK2RW0Ez3vPAW78QlJsQmyH7Yt+0U6Hn90EkVuxUHXxR+4g==","signatures":[{"sig":"MEYCIQDNgGLVHd523LCvlVjJKFXilJZQKegiOesm7o6XbNQTJQIhAOuZ4rgkZh+VZQMNrJA8uyK5Xs7G1wMjFFNsa0ibrfHm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1026227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6SIICRA9TVsSAnZWagAAZ1MQAJVPfCcK0G5I6dRtqHl/\nPWBVoYMfb1JYQmo7aMKeztIBBk5FY8MmuyO4IKdteswQwCx4tGFD2ClGsCX+\nv7dE1sNq/8+yT+mYUbvi2u1n/8r/Tm8jGHmezZl1ZOrwgSOcD78T183s9UT5\n71zQ3AiJ6Z4vEaUrrHX95UXLwgG5196KRfTBZXhhwHtn0HkmCGeurX2A+znH\nVGE2ZLpGoyuCTixtdpUV5DjeKEMPvTfTiCudblYLtAYuQjy5pfEOmheajjkK\nJokjIB8cEOb5dXAPNX/e0ODzZdMUPNOUgHiI9SRaS/IdkxFJMf4JRWZwQRIz\nglPOXluFaWyymFls4vm6xO9vzJzYZCip4iAxI2ef9Sqd9t3KX8Qizk6pV1aV\nGBFmskYenV7GH3fND9I8og1cRPrJ9NquQOHf23ZNUS1cLt1MLjT7SceZqXga\nAhuGGRWqM/7rY3Xvk5stLEptFFHH1l49gh6Ye35XCYLaj9Gd9+4eP/EPVloN\ncQaRpyIsgZ1DonfwOLliBKyNnLaGM8cn63+WNzL6IwDUIYZUZyjLVZ2LB2Su\nS+/lIg4UgU2M0/G+iwD+Hvihwy4Krm6kf7N3V1MXBsTaHx1tli9qvRUju/aH\nJ4peZQTmWjMzk82U6AIwYa+rCdzS4+qtIkusrWSAO8vOo52oaO4LmSdEGRUx\nXfKY\r\n=E6sa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"ff2edddc748f43772df80cd35d14a07d856ea626","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.5.0","@adobe/git-server":"0.9.7","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.1-pre.1_1542005255550_0.47203251905135923","host":"s3://npm-registry-packages"}},"0.9.1-pre.2":{"name":"@adobe/helix-cli","version":"0.9.1-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.1-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"753b2dcd91a3a8d577152a3735ae32297479dd79","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.1-pre.2.tgz","fileCount":310,"integrity":"sha512-9sJInpspvzSspE64dY++k9mYPKWdmV2hvhY9qJXBjinIwA4LEO8h0J70mEHSZJv4DClDNY4Nny9CL6r5R7dLVA==","signatures":[{"sig":"MEQCIE91WIQS7rva//sX++BWlY4/CL6w6OT9s5jGLTSR+1Q4AiBsOKQyivK2wshTDv/T0V0iPAWdGqwQN5oK3naYmP2c7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1027770,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6SMfCRA9TVsSAnZWagAAZUIP/2XWhWRlMr4vGwZxbpwY\nT6bg5uSnLEEhfszZ7bDGY+KgQJXHnBfKZsElTq6QZFgBRLvLLFxr4yt5FR4y\n6v4OF0Cp18HaZ3J6gh9cAKpfvKmXiO4HGHGDNjBHnUb88qTk0h/uIIUk5WKe\nBrAsqZ3rWdW37olYOugigJ6npP+OJOjTWRSxkJPX8bYn7hDJiHCKvCI8AeFx\nyqOTh0O2REiLxqF7ioOlAVZYJcQWH/zrvutmneLUyIbNkfFfnuPjAv5kxQya\nT/mJ/m3N/iHZIINMz0XB7wJAxRKDcXnGWUWibbwlyfC0AGwboaeBU3TmPcho\nxLoJ5AdFCRzrh3fp2GZx439bDnY9aj9pW7c6fW5DtVm6d2VIszwf/KjM5YfN\nZPnNfRwhzj1FSLVC/+BJQ4GA2newGknLfJIJi28wQBIl31I6KLNx8uXzopXe\n8VEcoTYvqtWRheAkfdm3LrT11H4ay2zOyrgioeM137FJ2hXUDnltqI32J4XX\nA9eqWjTl/WlWkqHfgYZasKO4XHXyWB7Ugg3EillrEPJ3cPHLhL1fV85kvCGO\nZ9L5zcek3kVstD1AY1mUFvpPw87QQdHyTAXQ7IKQr3SNg6eO/oVS6pebPIpc\nqpra0lNRZ9tcm3ga0p8U9lfA2SLPLTPyJ2Cns25RmCE3HZB6Zkviadww5ctV\n4umI\r\n=vf3K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"aa89ab32d2bbfdc88a50d45e5d5cfb21f37b9301","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/petridish":"^2.5.0","@adobe/git-server":"0.9.7","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.1-pre.2_1542005534993_0.12149726173457687","host":"s3://npm-registry-packages"}},"0.9.1-pre.3":{"name":"@adobe/helix-cli","version":"0.9.1-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.1-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8f5bf028bfcd69d874df93a0e2e2ce40a427a15a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.1-pre.3.tgz","fileCount":310,"integrity":"sha512-xSQjc58PpOkc5fH4vNsRjl3qI4RBFJIgYKw3QqvHHSrtC1oLBrEbgP1tsJoQoKMreVmmToeVsFFM93M1IjDuHw==","signatures":[{"sig":"MEUCIQCPihDv/Pe4r3RMK0s2wQjuWsJFKBOssV3h1N5ydbCUdAIgajP5cVaa+fFHsbHla5BIIuQrO+w44r7xtDAJyUKuFrM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1026685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6ljFCRA9TVsSAnZWagAAeCcP/jpiVASQ3s4V4QWAUPDg\nTXICHUreGbCeBCA/J2wN9fzpUMhyizkJyZZpP+BxL352zDKva9E5sVD2fj+g\nbxA9OH9J3xqGAVnYoZvdHaidfk/3BhkcQcBB0WAJ9ymq9RDpEs17/v5oVMLS\ng8CdQRzWk/k9ln4sfCrF03g0Yx8OIvT+Cpe/RpFHbuc2oJPls7unmw1b9hEq\nX4wbYX7U36az0eRy6QR/EgvqDvpfVhF6SIj1HZLkBEZ3ktLUxPWxh5XV73Q3\nJTcSQ/QzhN5uNkoB2M6Y0gHzUyWe+jbPaCjiXSFeACFDrdofUB/CuhflkixD\nDlZEsyvZCJmm4KgEBeZViBpgR2TgtzQHfEkLJROhEZmFrhQRa8vpzzqk0UB6\ne/TVkdvTXfRFD0COtH8t9lLuQTtJuK0kOWvW4cB35AQNvqax+AK0jKzFC8BE\nMa6f9N6Vr9eqd1JxB/Kd/Z7NrMHWkNjmlJR5/dHWmNLjcvqm+B1qGCUmeB4r\n9b6OTqFy5S1Vc25NLrB2qfYaOdSvaK5r/hWWpnN0ydoE0Xirz+9cm+CrDn3v\nbjCFTxUxm0PxLSrHN2Z1fzFKo97TVaJSucDzmerUfoI46D0SZ0VQd3S6w+uy\nGWeKP5H0kAj8RVobggvTuSmu1xdak/ZGnoKEXsCB+515uhUQNtjWVYtJkD/s\n4wK0\r\n=JUaD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"b302bf1ba08cebf269f2f839183eeaae8bf35852","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.6.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.1-pre.3_1542084803993_0.3792079682878935","host":"s3://npm-registry-packages"}},"0.9.2-pre.0":{"name":"@adobe/helix-cli","version":"0.9.2-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f9fb4cc3bd9f60553fd7c9c759562ee0e36c8a40","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.0.tgz","fileCount":310,"integrity":"sha512-tXdRzZcjHR289X/EbCI8tpMKLhoSY5n0m6Pwx2ZXEJq9+RRPXxHCx/SP+X8TQiyr+f/QHxA+93jGmnx3TvxEHQ==","signatures":[{"sig":"MEYCIQDTnxVw9p9On9iQ8Vg3IdvIJJo90zqrBGNOg++1pt1M6gIhAOkBNQosQAUPqKr84KwamA0f9EVLQFk3XnI/hK1m6Luf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1026675,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6psdCRA9TVsSAnZWagAAhjQP/17aHIlH9KVXVSOCdpd2\nu09qFlc8cQUoRCNdUs/Gb43cYI32EtBI6ZBPdPm6V335ZOxUdHMNTX517bvR\nVCHsOus5mDuoyCyGT2dLNw7zaL4T/Cn3jb1Sbm5KlbftH0A4j7jyNHybjCM4\ncTi1Eg9v4Ft7dO54IAxRjZXRr/KF4T3VK0W+4LdTWJmmjb0SDwsnM7s3H3/8\nClZ+79zTlU7DvfF0QNH/g0R5Gzv585QSQJodLQMS0GEuMRxBeHjlyc5WJHT1\nDhguUOlxk2YEZeXqnbuH2qoC2dJNjYUOfx9cxrDeAUwLCy3S6fmgcP/IpZUA\nEprGy3r7AJBgVoqOTFVxaEpFec4mKhlK8u/l3Xk03CL+s2rhvDAmqoq3c3gX\nrlj/hDoZz6XLlOOrMOf7u/3LKA6jciLCmiFUjgi8BLcrUMR4h1KCEhJ89Efl\n9/PtJ0ieQFo4MqCU/poaZGe+0W4vAGbChnEupjKwIHtQ52iaPX0b0Vpiz6TL\nqimMZrTVRHqPGJVyncC5sZEVHF4GXjDBYBp2mhjfjHYuQqUmLpe0PuXhP7xQ\n16EqzRZcxJllNtArHBTCwMf/T7i4oO6IOIuMiuu1y2onBC6g6i7d/OxoKPc6\n1EJL5CpG9ztfDE3L41hp/bmGzGS/xrRP+jOywfMiZ/aQ4lHe/p3in8vMwRRe\nPT1U\r\n=DTaW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\n🐑 👾 🚀  hlx is publishing strains\n🐑  Cloned latest version, version 356 is ready\n🗝  Enabled Fastly to call secure OpenWhisk actions\n🌲  Set content root for strain preview\n👾  Set action root for strain  preview\n👾  Set action root for strain  xdm\n🏢  Set owner for strain        xdm\n🌳  Set repo for strain         default\n🌳  Set repo for strain         soupdemo\n🌳  Set repo for strain         xdm\n🏷  Set ref for strain          default\n🏢  Set owner for strain        preview\n👾  Set action root for strain  db5d4350c13924ad\n🏷  Set ref for strain          db5d4350c13924ad\n👾  Set action root for strain  soupdemo\n👾  Set action root for strain  default\n🏢  Set owner for strain        soupdemo\n🏷  Set ref for strain          soupdemo\n🏢  Set owner for strain        default\n🏷  Set ref for strain          preview\n🏢  Set owner for strain        db5d4350c13924ad\n🏷  Set ref for strain          xdm\n🌳  Set repo for strain         preview\n🌳  Set repo for strain         db5d4350c13924ad\n🌲  Set content root for strain default\n✅  VCL strains.vcl has been updated\n🌲  Set content root for strain soupdemo\n🌲  Set content root for strain xdm\n🌲  Set content root for strain db5d4350c13924ad\n📕  All dicts have been updated.\n🚀  Activated latest version, version 356 is live\n💀  Purged entire cache\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `.hlx/strains.yaml`\nby adding an `index` property:\n\n```yaml\n- strain:\n    name: default\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    index: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\n### Static Content Handling\n\nDuring `hlx build`, the static files are copied into `.hlx/dist`. The static files originate either\nfrom a `src/**/static` directory, or are generated by the packager. The exact details are not defined\nyet and might change in future versions. Example of static files are stylesheets, clientside javascripts,\n icons, web fonts, etc. \n\nStatic content is served from the code repository of the Helix project. By default, whatever remote `origin` repository is set at the time of running `hlx publish` is used, but this can be overridden in the configuration file:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root of your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create a directory `docroot` in the repository and move your static files there. Then add the configuration `static.root = docroot` to your `strains.yaml` so that it looks like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the directory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \"docroot\" in the URL. `https://example.com/index.html` would be served from `$REPO/docroot/index.html`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a hard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or directory (starting with `.`).\n\nIn `strains.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` properties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. YAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\n- strain:\n    name: default\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. If a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      root: /\n- strain:\n    name: cd629c5a74d6d60f\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\n- strain:\n    name: default\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    index: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"4c8af47a506858eb7520451434d4f62f31ba771d","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.6.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.0_1542101788828_0.6281524354523553","host":"s3://npm-registry-packages"}},"0.9.1":{"name":"@adobe/helix-cli","version":"0.9.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ac8da44bc9ac960e3c3bb4d417f3e9c30699bb02","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.1.tgz","fileCount":680,"integrity":"sha512-iJ/yln4hoVtIs7U2kauIGoLsg7TMVeChQFjwUqSyE/FMqjanVxSPaX+yFZoayOspE8Gv0PIZ+eKSmSkM0KYMQA==","signatures":[{"sig":"MEUCIHgVN2f0Se9f5onDwCK4mjnDu0wS6DwUlAw9memUs8ZfAiEAqSNtUENnCRnzFDL17SLwE+R2w5HkXGfEggIQijVDV7A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4847874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6p99CRA9TVsSAnZWagAAS1YP/3uCd56sg58ISRdh+END\nL6pXce2ulKekcpKEw/jvk+FFIYoG3KzpKQNkts2yh0sJuNtDQGTcEzHkGs7s\n/JVJ9oPNHqZGkISYNI2RbWdDUTESjNe8k+a5oowmZqWlbscZ6t8TLr5WGLEI\nRJN6IMC8FtE/yEPL29TLfwv9hzC3t9UBmfAWhzrNXolBsYQRCZL++Yu+SDMa\n88B+X+ZUUrHxPQAkz4ZcjfbehEjeotdwoCCpkSA/e47SlyoyXayEVByEBH4K\n3wFhBEL4ObBMAvzjpcP+HnmdIPd/cH2ewDd3bWQsrVSAUwO0oNhyGqoMUumv\nTUiNB96a27l+564J5/+e4cpZhsklfkLDHkszQWQsRBpGqkuhpwZX/CN2tRHS\nUfQxmU6gX4mb/MgA1elvkCjB7nIjgqfIuFRMZ6tPX5QsuCSqDU0nlBcQOOMb\nVt466+yNcGFzqKjfbB8FmoAdtIxR+CKyKslIjIvO3BdScObYEtp5hRyAdWT0\nbIOvq5TTgxv2gG8l3RuM7JP3UBjAEyUETl2dARUrTVWlOGl4xG9abGYu3O4J\nctXOpvMGEXJ2K2Nbj/JaFYVq2mpspCDeKaFUoj+I0aVTGvHvRNMCYWweEN2C\nitMoubrw2v8/Zp3MBCcCzjngGVku+tcUmk6L6NjYXZM8JK5+w8soTuhuRuFf\nZyt0\r\n=x71d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"5bea78088b7c74359d05c54c4b27741fffac07b1","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.6.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.1_1542102908025_0.8954129631007675","host":"s3://npm-registry-packages"}},"0.9.2-pre.1":{"name":"@adobe/helix-cli","version":"0.9.2-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ca09756ee0aaf541aa8dbabd8edb6e123c0fc263","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.1.tgz","fileCount":310,"integrity":"sha512-NBRFO06MX9M/4bd4Q0a3Z8YTQqYIsKOIFlUmeuIbi0ba4VWL/rk/hckKmwVJfL8NJvXpPmFvqbCr040ywMvgQw==","signatures":[{"sig":"MEUCICUuj2EC4p2yWYaKH9HOI4URvmnAQyB/LbtglUz85Dk7AiEA8Veo5NsEr3zYCmz8MW+sf18K2ZWvtWqU4Hu7Q393IBg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1025743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb66jmCRA9TVsSAnZWagAAX3AP/0X491KJjFJFqTsGVbkd\nkIVLTpCCFCEBLhBIJJDvWqBOPCnIvW78t3uLDLrRak7T/PTjRoCoHU87jTUn\nPEFTQQOwkZzkmOg3BGsDPZDJ0eu6dRTWnTrzJczKR9ZOPJ8+SjC8Gmv1posC\nV0TwgJEmMAtzfbXUGWuA+ub9ieZwD6n04DtsYu86QFDAux/QkJIrABNLcVxM\nLMPddAsCH4B6X7+NYyUSsIabqUsPtqVAHzQq/bl7wJ8XL1WK10IeQbgog3aU\n2fYJbPe7y2q5XYRZlsTAQVrF0YLf1VfTjGlvQhzN7UZZh25eC53mxSd3B5zT\np1Q17L5BEn5ywaB1hFxAB+x+lfXo6rl79ohoFVhnXEWPajUdRp/Su+t2NgzT\nTLFgEbqRMXVZEY9tWzT2F0kj0K9C8Rk13F9Bq4c3Ezd+I9cF2GHoz8DijAFO\nyw3Mfm0Vq0AJDUJ1dE64kEiRfCU0TY62jW+jgyjJrrSsaYBbHBaOSgGbLF3Q\nC67G9FiWbZDuRdiRKoFvpROPLIEseU8vyENjrMiFNjKPsuTfCIdJulDsg0uj\noWQojPVw7RO3JZbsAAN003RSpF+vcOitJbYk3JVhWOdzEmjaTPMdNpiNHgcE\nTHEaIrsRVZ3va/ZkoZLzm1WLedRHy1hfheJLUhShTlmz/M8iMfcydLeCB0gP\nBuci\r\n=9Ktl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files.\n\nTo keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /webroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"2f062313ecba11678a4a87e05382697cdfc129b9","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.6.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.1_1542170853799_0.39631931779448437","host":"s3://npm-registry-packages"}},"0.9.2-pre.2":{"name":"@adobe/helix-cli","version":"0.9.2-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8d6f613eced2fe88ad0f96e8a26a206f526b62a4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.2.tgz","fileCount":310,"integrity":"sha512-edSU7iK22HqmImu4cHpTai3exM2QegkE06balN/poEDT8UHC7ESU9VfZuCvJzDbGsLd4uAaHEZY1b7IoPxPkUw==","signatures":[{"sig":"MEUCIEmQ1R2SpM0tu5eecNy3o9iJ8nIRRN7DyzeNU/2oaAutAiEAvdp+mDg0HcRajzFZneN08FRBjAniXZsAwDC7IYmftA0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1025743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb66mJCRA9TVsSAnZWagAALj0QAI0psCVx2pfT+kgRAfdQ\nZhBfA/CHU7oG+6x/5DqcHJXbYovIaotu/kjdqA4P9olO6tphdST0OhMveFc7\nZYWUZymLzWNZ/53biktQODJXkQCVpP2mWrZYWnvTw49N2DNprwAB0L9kOpcw\nQARS6kaijDSj+TGUXtjF5ZSJK8mzVGKKoTXq772LBBkZL7XJ08HwhnNHZnXQ\nMFPTZhM47CaqoSbDQktkI4yxp1gczZ3BS4YHXPWrrKC88vPO2TjuWOpzBHPp\nqj5hxnN7cbM4LLKn0TkGduc10fhPl9/YRP5XDad811FjJpsFfpjHED2gtnvJ\ncwDQZZBw52DJIICDDZVaKhoG8Py1NCP9PSx8Low7VgAlBOioc9WqkKl9hmU8\nk4rJRCC3cPcHQcXe0pwOYJzB5xw4fD3QCzVOu8m8Ho5kg+GN1wuI4r3nQqvv\nPJFylh+DeJVL5OFJAVy7NTvxFNBVmKcEafsVlmZYhJLbIb1PAy9CZXg7Zqyy\nTkqG9e9fIbGf+i5Hj7+5r18rV5/gQlR6UNt4ksxxH4FMLTx94PrUrdHY3OAh\nA29r38udD3dKxL8YXvAxnYIpLBs7hd3ADH0suYsUFejML7xvqyqvaUc0TLyV\n+HS9GV99vQyIaISW4bSVigrEsB/bvEL4mgi/Y6YU1QpEMs9YE4Wjuv8Kngm5\nBE/O\r\n=3bwM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"67e796683027482b0c647dac18a85c94e6feaed2","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.6.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.2_1542171016899_0.12029831108076872","host":"s3://npm-registry-packages"}},"0.9.2-pre.3":{"name":"@adobe/helix-cli","version":"0.9.2-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a0ef510ac3bf7a0c81bf17e6f701152aff2d2994","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.3.tgz","fileCount":310,"integrity":"sha512-KBJsRSp/pzP4LjmEorvV6cK0Tqd96Djy1OKymkCaHYWu5ARJSgUlp0kVe0Q4kUtGmaET2a06QhWYcI7tdon8nw==","signatures":[{"sig":"MEQCIBpYviub7zW8D/zzAshASNrvvBV4VsYHuJESa52gEI1rAiBzXkKvYnjvXhbWnoXvzSVUqaMlyb2H6MWNBygAYfcrHA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1025907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb7DBLCRA9TVsSAnZWagAAJbkP+QEpu+6pcqR4b7YhBx4C\nxyVQ4gFfuFKQTc8z6t6b7NQcq43cHO0/NQY5OhX0lGOyqvH/ZjMv2hRThQEO\nkBtrFUCAa1bgBC8wnDEmor/70xKAHg592gpx7796xJcvLNFzAdDUCgEymRt3\nBt99QVdjYaHhM2qgeYFOzcN9AHzA8yikYzQEj3ogRQ0YlvZHhZDQOSBGmHTG\n9K1ruxx00G3tice1xkTMjNruNer5ASALDohY9UW5Vfv7DGjQS4PfTXSdH115\nhBdMn/UxYfVXSXkYSntKTRK3AcXkJZgdNxjv4GDeRFzCCQbhzMzQNWG+UgYg\nDD6SUI5B4Un5NQNB/5cuH4TtKdd8iPCy7cAEmcx2fHfFCqR/755+PkGEbWPA\nvhOtHvakgaSg4Cmnc9K800k8p/RW+elurvuMzS0gk9X6XEy/LDAq3ePvk/wB\nNaGLwRXn+otJeZZ1pNtF9QUCnDjMWSJpGbJMAuHlAIy66iNok/FVe4Pb9v3E\nZJ9wjIuBFB5Tb3x59+IIbyDbFkg0percXDNmF5wWScD1W+yKYUkYEtnixnpR\nDjsjvVxocXldJgYjPmeUAODdB8rI5JuuXP2hxyvPCT3XcrzsshV29Giy5Ur2\nSh/jixHslNEGkQHcZogIobEERLJkUoDDmPkKnBjyrmI3uNcfe0zTPUJosGlG\nuerQ\r\n=PvG7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"f200ac12a53cab7cfa962996f4460b2dc3cd5523","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.6.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.3_1542205514807_0.2982875938109699","host":"s3://npm-registry-packages"}},"0.9.2-pre.4":{"name":"@adobe/helix-cli","version":"0.9.2-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8e130f72f0c234d9cf5126ad86497389e93871c3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.4.tgz","fileCount":310,"integrity":"sha512-F7GFaDXxoZ9vqx/acSLgcJ7CU0Y+UzlQoAxQ4gRwyDyyLltUlBzcuaVcaTCKn0JcOwufRKVxo4RoCpWxYeZoLw==","signatures":[{"sig":"MEUCIQCD5V4I9mswPXKGatwo0VVGWxYK104r+iaBqYMwHhjAlgIgf7GIu6VgS28TOmNhisD9r/8MCRVMSgHwX5uHZ+UVdAw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1025833,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8lB6CRA9TVsSAnZWagAAkMQP/2k0IyQkmu5utpExERiY\nwStit243wmO2FbKMxYf5kto5iK74qJT/324Xc43DiY57afVbvIurCOJbGPZn\nS6BMAewWhXBY0JwTnhrCTwatmehnUP45Jp1FDMvc0oOBhHp3xgiDjKv+TK7e\n+NaLEDqSDCo5KLE//PA7fp6X8gLZxX/KmYF9J5Zpl/BoG+msYGNzBR6fBVo5\nja1Uqi7ae8qYSQF7we9U02sRBYrIk87iN+eZQK21KnWEOAkTXpuEM/pYEK8G\nRhQ7bCME8H0axSyIilww5yFB4NNBFywP4gFRZvAatZHPIsFzEwVkMZFjviVJ\nkqGySERePCIIc5SqSrLRRs/Yyx5Abs7nI2SV6S9FprNta224Ow/XwF26i8EN\nrBsea/IQw4uxzUB5EbOymhUrmOWuCZ6fhrTYaNx2h5STAM2jk1pbuLdgXd/z\n6PlAxbonjVeWS6ZSVg2c+12kacZDGyNKo0GB2DfIf3yxAeTPK27k3mOdNb97\nG3ObebYvPuQ22deAYTnzDjWjvPLoo7soW8/r5wh5pWACielW+4Us4e73BZug\n/VJbXoSOcInoqPbw0r8Nzk35BtYc6m/WLjKD674q02JHBnEWCS9OWoV4Jj2G\ntrtSaqdbCriC0nS6pdTKLu4bFHiGKblBpajHrtMWY1W+YV00e7auxIvIlOpJ\neF1j\r\n=7Bby\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"88d450b37014b2a03bbfe6b77f34fff582abfd33","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.4_1542606969680_0.42087660718794395","host":"s3://npm-registry-packages"}},"0.9.2-pre.5":{"name":"@adobe/helix-cli","version":"0.9.2-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c5b55db2cb17f9ae8523e225770317037bf4ae14","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.5.tgz","fileCount":310,"integrity":"sha512-tTOaABdiLRPlNo9U+5EqhIMbCQTgxAwdf7E5AUThFsF7aD19Od8KmfIYp1O91dsSV9DUNmBegxFsxpOId48GOg==","signatures":[{"sig":"MEUCIQDomoTAOZLMIm6D/uq5d6lS2LwMLCxmu5atZSl9D5f8XgIgErltZRRBtsYmjkdjw7EZQPKEh7hCQ15mY3SZO4IDRKA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1026969,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8rjzCRA9TVsSAnZWagAA1kAP/iNTcjpT+CBKzqzOw0AY\nGzPyBQO6c3gvPAKBN5lUXVfsmM+/OYzo7Ei3YLHwjBox3pPZSYQsDExEvJ4P\n8X9w35HgXLhQQk5BUsg5BSMaJodEjhVkH6bp0P04jddDHkzQJR/3Ijb3s1xF\ni+VHzPopqEpb+kkwhRiRRgSTCBalh5jqpFbYq/RkYFB0McpRGA7wgP5oHXcU\n8zGkSKAum7JDVRUG/8ZOrTrbzogBz5lU72QmpqaieXuXllK7UyOgmdGAbbkI\nTcrqCGmwfxFGGlWwSr8BPyzqTkTeg6YN17P9WiLqV6gDvSrVMrpFe1Qfh1i2\nIa1F1PdXPOVLeRp4OqdDZsYPsV3HgVOdMGWqsBR1/ZAqURw0WgyFH0hso4p3\nBeJ6lECwtxZ1eqswvuBqdEoP3rfA2754fHfAv4hL/sKfM6cx70vypKvP8Efq\ndEGxesGx1kUHxW9djWSLs0+vsKi782gRrZrI2TYB+hFZdDP67t+o2owdKihY\npXdqupXGAalnVSsNc7H8GVh4dDqBMQqNSAQ7ky1k7Uto26oiVbwWNcuwbdOz\nqrLeJueoiSFJYsZ1xWtUS3LnXPkl/3gWh111pzSYaK77IuQZk1U2G511fA2h\nXKjPXkIDLEjwn65E4papc1xiE4jhZgIovJE/C6mtBk3IxBrTMruE02gUXPug\nMkqA\r\n=Dq90\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"7c9a1cca8d717b2f20a076aa47e8b007f4d8adb3","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.5_1542633714173_0.5245937035772845","host":"s3://npm-registry-packages"}},"0.9.2-pre.6":{"name":"@adobe/helix-cli","version":"0.9.2-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"142c4bfb203bbecb8fac85f3250ec1e17372f707","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.6.tgz","fileCount":310,"integrity":"sha512-qlrn5azInZ/+XDu+3wi0Ub5j2WqiJqxmQmA3Kud6gLtGQu+CL4slO7gRx5U5lSrgBOV8ask5Hdbw/c/Ai01Oyw==","signatures":[{"sig":"MEUCIFwOxci+SgYTuVE27k31HwoOmxoPMCKcWu6A7UCQL1zeAiEAu8OTMYhSFrkuy6wl1hGWUZftcJYdUZ0ROg/bv8rk8uQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1026953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8rmxCRA9TVsSAnZWagAADJMQAJ6EWpec2GwKQPKFRy7L\nKZpVur28XdKfz53T0hKGRoBKQFVRECWVG17u+3Thb8WNhQPq6S+8viGwoQVe\nQZxEKiXzpCgpBq5s/v/fjxtDIJ7qCdWm9FIiBzuQ1c74oY3UttsAuFsZIjPZ\nUpVOdZEI6ChLwE6KbO3bRqFkFCHeXzGL4paqOEmAiOHpvYno6jYp0qjoAghU\nJw8TVMNPddU3HFNg3NjAQQUx6gWHg2n335fLcgNrF9sdczckHhA72uPAFRHP\nykrfPgYbDh7WW0PB/U/DLqW7nv+z+U3X9c8HNsGbflqVBIRv78ENkRwcp2fV\nxndksvs9/VS7ylyJPvElsr86/qFnd07Im+FNG5hR6F0jZNKbgLr/qKuu9h0w\neRgK8/HSgL6SRTPttBkP1jg/BjaiHnmeo/69538VRkBPkTojFNP5+WdYXjDH\nvuoPm/y+jsqZDbRsq49Exr/iATBIiDiiadUFk3w2gisdHlrd8EEftSLaQBpm\nxjPJi4YfHVbjLU8b91TOfLgdoMVihLLzhM4LAdfO9IjKjUTRs2QXibG0dtFf\nbCAt3My7njlEEdg2Esl+cgO1PHWcvl5ACQltqiWiAOrqvD61fHnCb6Ij4K0j\nukQu+KTBRwQYQkrfrXG3dF8mstivpSq2Wu6wmRUiOgn2hm3wijRcMyKZ9j6e\nq1Nj\r\n=CoFh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"ca7f792d9fdf9e523f8f541dcb441386199e84fb","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.6_1542633904407_0.2908908567387505","host":"s3://npm-registry-packages"}},"0.9.2-pre.7":{"name":"@adobe/helix-cli","version":"0.9.2-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ad73e33b2bc08c74da8c34fb7c2aca9bc318cf36","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.7.tgz","fileCount":310,"integrity":"sha512-LP5hzCznZNOJ2FKNvWsFRrpagCMzmCnshgQm9iCD4jOhoFwl3geI6exJiZZDAZ0adFUlDg/CK6AZfHCbRsG+xA==","signatures":[{"sig":"MEQCIEAh2LhMc++p4Nw3KbRWSS6qOWOkxX8kysyHES4aESIPAiAAoUQXQoaAEkPled8/WRyM6jshxoyAT+PTPzi262oW9Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1027075,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8vo0CRA9TVsSAnZWagAA8C8P/jCzaFSZsptjkc3QMVhu\nzE65ZDPVsWlW0Uaz3o6b+jCPBS4innm5fh1oDezDpqyasBGgv1JEekcjRzgY\n5+PsVvvLLxcK8My1eL9gyFJBbVfy1TOFPm/HRLO/TaycunP9OCU2uSRAZjDx\nbjJic1BCfDJPDn7oZ5J7ul5B8DI4cvyTt5Xq9e3XdzzsEbithf5vp5b1tEOb\nvXg27e5keeYligS2iNE+5lOnvuG54v9Dpu94o2UjkZsDm+8Pz4YwE/6E1Jgf\nhtYLV/DL4tml0PJPWO0oNdNDJdwNizYNs3bMWBh+snSNj0dYqv0lwFNgEma6\nTdb3jdKBCF8b0kcjgftqmW3DLC1NK+uDpxsAUUg9ifgji/nBmezR8lwzcSJg\nqthuubL896PplOCBSjYTHLzckN2FSzOCpCdCCkVKatHR0/1bmJuIQSHBT6Vz\nk2P/5MS64flqHdP/Sj2DFCTiEAuviK3riEyVU86f+IOyk2G+IiPRyEDEjteI\nyc8gpLlOHqQ0cqR5Ws4rfgV73alVOUdOnoW1u1kbfje7yMqiZ5wpe2xwc9Lb\nREdlJIkNRSVLAFH9sHTQiNlvGgGQ0EaAQ7ngRxrFSl9Od3oD2c9a0Q2U5OPt\nio4Tor0/DR4txqwQyUvZKj3PfRKtGEiUJAUSbVoQqrwqOtyiHg7FnFssHPsF\nEbLt\r\n=FWnw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"a810987d3821fe685e66194d176649dbe4a12b8c","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.7_1542650419836_0.7912849924886416","host":"s3://npm-registry-packages"}},"0.9.2-pre.8":{"name":"@adobe/helix-cli","version":"0.9.2-pre.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.8","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a8df8ca540894c78534302fa9d75a28b0b788379","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.8.tgz","fileCount":310,"integrity":"sha512-AXgA40P4n3a80JsMxq6erjrNnO8mPDMUB/LDYFdHITNxHT9/LJAf4dSkIN1JP3xGtPEBt17MwUpHx47GTOtw1w==","signatures":[{"sig":"MEQCIGT469ZGBOGswAHBzeI5tLYA5OwrjFwMtlRoFROnA2N/AiAOnCn3+QKTB4t8fbbYdXFMHTzY5e5OMdoKTVmb0oKGCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1026941,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8w2ECRA9TVsSAnZWagAA/qIP/3WTa+ZOgA8MaRcCzmpO\neIDHh1fJHmCx7W7gB6UVG/YNbI29d7ggaTkcCYNvjzGboIFmW+6SkaV9Am4Z\n/15aUeztfd3vY09dthVn4nwII9MHawxYYCTbPDAWbil5wLOdg+1UNzYP4E+v\nLlmYvWg7BAgsVDPLuu3Q2r8oubMybiZjVtSrReuNWaHVtBLGUujmDvpCmHnf\nnsIFgkpUojEHu5+037xKCPVQpku+DhF22q2bE8VJdgNWXNB88+P/lnvCSqGU\nObda3OnS+2TcjU68HeiGoC5njlZTFwCRtwOMuXJqEvzoD9Gq+21TdsoE85g9\nSjls4CSoWnDk419lsCyAYlcO0W5mUjOPExNxTSCHOncMLylyZdrx+PhVlamU\n+TeokwrPoHzP5MHxcjJZjIqP6TO5JpEHRnSW7n/OWDlg2b5qFWALcmzIBVnF\nngx2bbfVRHiTRtNAHxjH2nxkBVkkt7dCsRrzVWd0VOEp1GKO3TTv1TxlOgCX\nnYPSvgM6Dltyw57ldcqMaqgy5QJyS0ECk7dCEfnwMWVY04GvoYuwcMmS8EfM\nTkrKwLfiUtic3TSJr72vkMim+3aNSQLADJgQktzhgoLYzDMw5H+QDTRUpgpP\nXuQBSxahm6yIm6FURUkKvY9jNSa+rl5ddVsUREWFm6kc3TzO4NexgIgBmDll\nU5lu\r\n=GKKM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"9041fac9be2a985ab5d17d0cceb4bd28d44e7fdd","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.8_1542655363779_0.4624786225543944","host":"s3://npm-registry-packages"}},"0.9.2-pre.9":{"name":"@adobe/helix-cli","version":"0.9.2-pre.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.9","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f27b9a2e0e4e80e1be43d45c50d4b6b00eb572c8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.9.tgz","fileCount":310,"integrity":"sha512-2K+ZX8OSHMNtSeAOKNkGwdMPXOWjmwhsFzI7rk8ZBT0FVEnZix8sET5iGuU/9CA7CJILMHcK5Ca/uAqSSr0CkA==","signatures":[{"sig":"MEQCIGjD3Y4U6P+9mgeOREXQv+N6+MIrZ2Tmoqm/F17SgYfiAiAQAHlw4Ov1DvXMeRYraKW1ZPxeo1ctEBnvaUhvAXi76Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1027074,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9CTuCRA9TVsSAnZWagAA9YMQAKQ2bseUqbTc+wwD5HPF\n1yzLGsyWfV6HIFIYkdcOQLr96dPYISA/kSAy8XxrvsK/Zbm39Xb7WC3hPNhJ\nugHS8pBZrut2DfHoz3ScTTes682MEcWSL+U5kZCUrkxUt8dGZ2XQtRBNVBjs\nUD7MnyrlC6apsqUgQ3MJ4co+DxhYCp8uEOzvq35L2AXXjOG2m7XLcNWF8QHB\nqfU4ju1TyCFmge5i8fvppA8e0p+/KC+gkPDYdRedKnupwrX883Y5qkZPP+9M\nhFTELxdXnmlNmHnnNPH4y5VxAGCtYukzNXgsOnN83W5wSEhGONbrF2FoKTnV\nkqDTuZh1L4sCxuxyrJVwMi84qm9XcPrlaWVBguhowWCJqpMWuS+plcQiENug\nXbK1pa/Id3OTHXScM3ENTvAtJNPJb8PJ+f7r5eIxXpkHr7WUkYILl5oUOmOQ\n/gqUXp+b2vwV9ci6R+7p82Almu3ovXmYpj9DaEluOnky7c/M2jK7lL1EOous\nQfM7Ry0n4AjIJa/kBzNr771wsUDcw8zri+ArCx9m1Jy4hZWAUPzPCv/HB/KV\n1Ek6ZUxciqhScoJ3bbVKP3UqtQHDD/eKXJEu4u7ZwVYc4SieXxAqt3GPK8ih\nvPPPH4KWugxTp4J3SVJEpKaFXCVoNAKCjDUpo7rKyv6RQ/YLIiY7BVFVo2Xm\nlYfm\r\n=qts4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"6fdf14820e6c401ddd74d1a7bab8aa84dab0d388","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.9_1542726892936_0.4687836179765055","host":"s3://npm-registry-packages"}},"0.9.2-pre.10":{"name":"@adobe/helix-cli","version":"0.9.2-pre.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.10","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e90eabffd4cfb36c907965643aa249c00409f8a7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.10.tgz","fileCount":310,"integrity":"sha512-WdBn3hy8PtlDX7K9lMBdGRhptr/NWHiOEA0ei/siz2FFFtwZihplxodp6cJ1tzmHBfy/5sv4qyXfhFl6jz02UA==","signatures":[{"sig":"MEUCIQCFXdb5fVQ7uirOkmbAoWB2SdCmEoYXlELxBlrLSqN7TwIgAreGMN3CRI28NAsVyZhWOEoQgljmUOtAQX3jnmPOf9k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1027073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9DNRCRA9TVsSAnZWagAAOG8P/2x3QJHSQjY24FmcDbDq\nKmMl8z2PVqd02wctvji7IM69OpI3auzgU8e644D9Wr+NSmYjUa7hlxc3OW69\ntk/mZY+j9U0d2zyWroQaalsxNxU/fBLZFMoRWQa51MxDPeJdLQLjn9EZmdNu\nqpfP04plf10DY25Na4s5SOJQwjmAkgPvcjYRvfdcybWE0TfjoQNoer/jGT+H\nF9wJJYjIm7Bav5foNbLwW112t9hrkAj63VEliFE3imFkEWHkuwSG8VYH4esD\nCxbo1cFDLtQKUCrpiQwwZoV7eU/ZuUJieMMT+d85GgtVGTOGqyYhjqOGJdJK\ns5RyDCez9rmB7ztDEsZT/GOgjRYdiiHp2LIfwBABcB5leHFTnqkYkQmAko3r\nlF8wyYVzZ4BLzteSMKwz0bn+B0WLs16e+Hgh60H+hYYwvmKEZA9ag/7ZHEGX\n0QI09gsnToxy5P10Rxz0hKxi8V3dLyza0mnpmjVuZk+YwrpPEhJYT0/iHDx7\nowg5WQESVSRvKnkPyLLp4PIpD181Ct5Ui3MuLe0fUMu1IJykfw+V4QvIfTpR\ns8Gyt8U/iGZF+xSNSjfPrFWnS1Ek1Bwzo504+i91StuMFZCXsC6uBoXcNp9X\noa1JwdmTOU6O26rk4HHk1JOR48fzz0eFhy4/VrXojyNS4Mg+zJCPJXhwrsp7\nZ6pN\r\n=5RD3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"f16c9f5ef36a34f4f8ea1677408a33fea69ed0f1","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.10_1542730576714_0.37795862945966086","host":"s3://npm-registry-packages"}},"0.9.2-pre.11":{"name":"@adobe/helix-cli","version":"0.9.2-pre.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.11","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0a462918c070b900971517b069fe79579973c79a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.11.tgz","fileCount":395,"integrity":"sha512-ubyKODbOub4rUo5SDW3P5gOlSt5Nn+fGS9VHqEN6+UVQIGpWTY56RRfRkAqKF8D3eATBbTJxCaVFOHq7TrLiXw==","signatures":[{"sig":"MEUCIBhWi1QMXQD1G4k1MXYlCJm4v9MZDnaigugfwONBDIK5AiEAghQqcSp+zLQQkvBE8EOa0iW9xcUFMNsAxZ+Uu26RgAI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1009091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9MHlCRA9TVsSAnZWagAAK3UQAIKtSTmfBmd9eHEf+5zk\nRK6pI08zM59/olGQtv5H54/KIbSvGyONt/+bbOo6kJn0aO5/sJss5O7Z0W34\n+vpSbsj6f8kEOmJNOdcnNDJVmuDSSxuyL5tpJKos/FrqvDd2wmBftbHKG7z/\nb/ncfg3syHOlLjjBM2J+XWNr1JQ1rWXbL67NR2AP6pjJ+alsenyykSmH8rqM\nS2HkxJyPeZN6chkzvg9EkEHY/3I+PZdqqwdXCOS6VJhEaz2SK8gjpV94NJBJ\n7gZPGXS8GZPIPIm1SYBKZboEopFdyNFqNFtawwEwNl2y7lo4T7Zr9LLIn1/w\nYbttasMBTJU6+O+BUEJRfl59EMGA+hwFBPs95jv7BrqjkK58hwlpXYr9rDR8\n7CZNeztDRhoXlEssjJ9rBjpW46lVLFqxTRvDsMERXQ0kNtQZEkdOmkhwQoal\ntJBK6IAgWbzXLmWrBICvTfUBrc005dKTTYkYWVYd2h5wC1AiqEA2Abhgev1W\nNqmEDxIztM+YCgRujHC2IJw8Nk3XymNf+hMBeTibeh43x0LtzHAjjRWqWmXA\nxitypDf85JmE2tp+q+aUvhD0meuC63VZXu5gaKevl1QGw3ujdoEk0pB+gFoW\nSaxxcGzK1QAOCvrpzkI9sAhk4WBGRvQNiAoMF+rbpIYAQRNcS18qwT0wNFie\nRpYZ\r\n=oVlx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli.svg)](https://circleci.com/gh/adobe/helix-cli)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"06f952175971b9bf297b055ec6f15794bd31536b","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.11_1542767076957_0.6799057544380311","host":"s3://npm-registry-packages"}},"0.9.2-pre.12":{"name":"@adobe/helix-cli","version":"0.9.2-pre.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.12","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"fee5d4a5805a5e6a0a426f51e4de70fbd0ee8f18","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.12.tgz","fileCount":395,"integrity":"sha512-YKd4NtVPX69Y+NdR0lh78K3IQx/lcGw87XfdV5AHUdxbrqY+caktX6+PMNWspLWUdr/RmQ7NF7GvCJE+Rayjow==","signatures":[{"sig":"MEUCIExNhS/prDLkU+IQ8Zmub8k0vEC2K837zPwoTJJ+k0AzAiEAyJycOUvc0oH3vu+HzQumRMgddKRXUz7VsqE8zL+aQug=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1009109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9S0VCRA9TVsSAnZWagAAWskP/09cnfCo4SZc8RUQEc6x\n5QuVdN4BU21Z0Hm5oR0sYgCZvqrVrieZ1HVZUJYIF/uKtHzzIzHYOB3UDIpG\nSvevbKNhmn2CFZ3Tol5+9CSl82upF4eUp/CO7UA/dTYgm9NXTBh5tbw2kqG2\n9wXs25VruPqAPJpOwVHZk461neO1JYcxgMoDlI5DQEAy6Bb4/O+FI3eob1pQ\nF69AiHyrrBs9Gm76KV8ZV6ZzCGJLTRVLGaJrOMvR8Vs62TxMmxYEmYA/A7sN\nsS0tGhziqVelG/U8d6Jc+MFEMsVlEzep5LcQ+19UwDdW4P5G2DZqqgQOrklp\n1Owng1jPGO9STqOtfos8JL/aD3zfz/lcZoaJwjNY4F+p9XlEmYf14IM8SN2y\n7Xq7Xj5+0SfZ0EO+W4TNJGGa++eKitE4TvIYiXELM9Whc+cAlWUipcLCRDsK\ngFUh9l1UgRsm2cybW8oy9T81ak9Vc0sxMVqeL8Gy24eQA31PuH0QvhCs8liJ\nrpZpqY8jy/KDbbJdjPpM9pS+W1zEu50udDu89/+CBHg9O0aG4SeFyd7pSTVs\nt+S9jiBnWua5ciVNS7shsbbO0CjqFfcjJdRqr4lErpCZy93lbUV6jLs0wA1n\nQmPFHERQu0ZPcBV/tK/AFb5snJz9giYjbTRxQTXsTdWeMXlckparo2NWdGan\nRszs\r\n=2ZgY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"bdddef5ee1a7fc11e0dce1e5178e988b8debb196","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.12_1542794517076_0.17950987907250227","host":"s3://npm-registry-packages"}},"0.9.2-pre.13":{"name":"@adobe/helix-cli","version":"0.9.2-pre.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.13","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bd040e43f2ba645222cd57e34d74d6c4d5736954","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.13.tgz","fileCount":587,"integrity":"sha512-tDhMg/DSp92oU8c69/6jX2/qeAtuLYrSHvKZDLwfMvI6DQr+h+wJ1kxUWIGrgUgwf7FSZjVgve8xMXLvqaWYBA==","signatures":[{"sig":"MEUCIQC7iQ84Glqj/3aaXnhtQi5od9iUxavLhbtjGahCJvhh9AIgHCaLUUwL9pJDCveZScfgoVYqTmNyDIFdXp8sYSHy/WY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3448372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9UMxCRA9TVsSAnZWagAA7YkP/02BpwP0TMsV10jjJmDF\n2V3YVtBhgmNniXhbF08s5AoqFv6JWtVWqXs1VAdh7PpWY+mr2D5k7iV3OV/y\n0FvpRfl7CeR1/ikIsq7zSTPlygNxYitVr8Cww4vDuLxQ3mIUkI472OJyu9qm\nAH4w6yZiHdTrk39WoEs4QjNTaKJV6qxcvs7cadVTQXUTal8C8xDo7eJaDOlu\nw7xI6AnYwZuwWjZdWBNUgrcAn7U+H2c0e/aiMmd/BT1WwOwfOdf+JgqDju5j\nCAWGbjB0fQHCvGSHC4OXO2Z4Ee/HS3Dyo31bUWollbRO6b8iRQkNMoT/Nhn+\nHgCOKXmg0hS8npCQKr/rbRcf8k3TQ4PoU8cyvjASRcWncek92jQJmzxXsKHA\nt6cJSiV7GeUnPVw3CTu/IQff/U43ky4HiEIzAciXmCPGNtAnrLTHCZ+p1BFP\n02GlsEqQSk3myU2hFugQ6GSbm7G9VGRfyKCoTlG9PNciWIWq3qkTankAYBWc\nlIdY/ITkagCzDlSsvw8BIvKj26w5jzVmUJgdIQD7GHr8c1vT6nO6ejMpJIn+\nj5fH4bSy7oDNyX0oNIz/1rOl5/q3atFoplAmcs0TSKQL53gOhT5IXCv4gItA\nHSml2eRrECawZQ8+9yZAawNS2nPcPzussUJVIlPCxF/HS9PsHQwxE4JazPKd\nR9uV\r\n=XTru\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"b09baa2eb42f7baba96e91edd1d2dfbac75f196c","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.13_1542800177044_0.2807589982359153","host":"s3://npm-registry-packages"}},"0.9.2-pre.14":{"name":"@adobe/helix-cli","version":"0.9.2-pre.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.14","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"94e81ffdeed17363400fe0e171a4d6d98ce18b56","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.14.tgz","fileCount":587,"integrity":"sha512-v4aiVwqoxmuRl8oMjEsHfVrXlbrReixLrEV0Gs3xTEIJd66aUS7stv5a4iS4J2MUvJZhfCXhT5sxDtmis1WQag==","signatures":[{"sig":"MEQCIAMobAhgrObvFMzPId/T7dAu5x7wwctXbXoQpJKIJ6e4AiBES7vbYVOKdl0TCUHH39UiGgWQd/+7Yz2dDFvc+cqAmA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3448636,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9WK8CRA9TVsSAnZWagAAKdgQAJv5Pc05pOA4ISVmYazp\nbPmTNEZ5BxRRDfPPFP/UUR/gomt08T4dGpIFygtiin+PNe6xnF5c+4ZbwAeo\nzqwgolmuJwEBqe5zminNh/LiwJCrGTb6BbBX7HRSRXMspnccZuiVfGU5wr3W\nfjR4KgQ5dE+f8mT5SulP4geXgJbTboCOyEgDZAndbIgu89larDQuJfyS0OLM\n7sVBX/VGbB2CGzauPQGFAE7GISS7Gvl+0Izl+U4d40xYkS+4M3XIDl8V6iVc\n2NyC2nTe7cJdRraFqeWDnVRTA8B4AK01W26SO5qBaIlzMRWEqCI7/gMc15Tu\n56HPCL1z0gtg/C49y1BpAwkvWSrLiOPSAh8O63M4cTi5Zdg6BcjdWDuNfW7l\n0QOln0LpYGnaCCFSJjaApWLA1IQO6FbsP0WqMqKuWH453YGQGek+KaM8XSGN\nUPfPSHDiq6nVIproBveivP6b7y6V5aff5zubrk/FzlnTW790qRC4Ge8D/qR9\nbyesPUz6PQobb9K4Sp91eVwIyCa2DIMIM8CzfEfT86J8uw1MHDxbeIK8ghce\newXB2mXiBe3NnQaXQbNaM5kUPA6EWdyzuRCu8QczQv3Wn/61LNdFdWqSTnt9\nIz6t3x3b14WPBBi64jtu7DrSvybJ4/ULapDBi5y4QfbJ4j37+ZOcDtJ67L9v\nC+za\r\n=u1tz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"364a56e16c1cde993f30c5b1b36231541f803614","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.14_1542808250898_0.15544265832339654","host":"s3://npm-registry-packages"}},"0.9.2-pre.15":{"name":"@adobe/helix-cli","version":"0.9.2-pre.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.15","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"07c36f66fc54c9ed72465354c17467b4fe533a7d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.15.tgz","fileCount":587,"integrity":"sha512-ZonPoRdnYIgkwV5JKyNs4uO5lLWPwOTkqx+y9ieDSXxQxsQ4u6UC2s6kqzUloKEshHwqkPsF7dK5q+4tCR5TPg==","signatures":[{"sig":"MEYCIQChG+ltrmDoWsXZzDyvYpOUueDok1NFASaSJAg8mQ4m5QIhAKLjAr8GF/jwufWHJztFVu+b01ABCz+rmncTDPUdPoZk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3448654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9XD2CRA9TVsSAnZWagAAhQIQAIWZgDwg2yLF3HB4+Ly2\n9Mk+Llqe9OqJFen4L3fvbnI88SzHBOIeY+b2DLP4JppolfZUr/7ft51zWlRx\ncFlNzFJT2f7mKxeKzHOMRmm0I5re9Cjj4jNB6d1DTzREsIhcr3QL3oxzTBv7\noBaerrfCgDTYESnmRWpmJwnPUaOzJOQSJZBi/I87t9+pFyvpu0SOXwEeJB+z\nNCNAy3bzquKOu2LI3hRqozPZ9GDkeCDKB6x8MIQbZu9NYsGHQd7LG3nECyZo\n9CGdxbtzqXdAphMEuuByiSDu4MtEE8oJ+RNOGikryqAwLVopZ/I87JCibKYj\nlZ+TVK9ux3XQsFF25N3oSxnnh+wPQuK71F5Hdy2WY95A0UOpnXgiJsU85/qL\nciukfgMeeeipEm+3wwqgFMwmxxZjc1yVd0it3T8bROcdLyZpVMKrpDNS5pG2\n/UOQ7rKbHXgTxWr/C13Pd3D9cjMgN2CJNKDR+zG1A9nlp10R0bTiavNRb/9w\nK+dMKJ52NeyJeIpORE0Ga7iDM6fiQD/JVZlnJKxabKSA4Drno69Dg7KldXjQ\n66YKlYI9JSjR6ta4kGPyxghYKdA1DtY5LWnkSD7DBVFkkzsXFD7IfxrjDciO\nplI1eG0FI4PXZvsJMRkIEw2r9GVnZ72/SPL+arN8GA9lRJqfeCB6xGUBrRMl\n7Ucv\r\n=9hov\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"b88452296cc1153109fc329b2b4059c7519373ae","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.15_1542811893332_0.5847515906942182","host":"s3://npm-registry-packages"}},"0.9.2-pre.16":{"name":"@adobe/helix-cli","version":"0.9.2-pre.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.16","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"71b7ae0329488a932fb7aea894670793e17bd8b7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.16.tgz","fileCount":587,"integrity":"sha512-UO9gqiKd8hpPt1z+4F2jlEYo9VOx8sKMgCHCn2gF/FuMjASpAv2W776ZvxaBJhb9h8iKHUVHpgXc/7NymT3E1A==","signatures":[{"sig":"MEYCIQCQTokxXKBW1Cs8rtEeZapBR+hjKFPciSYfGZky/pAabgIhAJj/Yo9Z4WT6RDocvnvHWQOAkOC9nBw+QiNXIajKvGit","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3448707,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9YVpCRA9TVsSAnZWagAABMMP/AwdXC7p7cfd2sdhcN8K\nkgUe+1lMgY7pUyES9H7HGGb/BjAZ/EVfP+18zxG4I1jrs18LLh6gKg2J8+aZ\nmmh6doogzk4izenihB+YXlK+pNhegtTCKiysDqMW1dP1NbclIUHsrR+IVoiO\nzk4L51HX0i0p1lTWSItfWRclSsIAnwLMflNy2+mi97e6El4mdQGiUyNua1oy\n2UCP6qGS4eqc7qnenPrwIeuPgIBs2G1syOvcmbAzc3P/qjVfoIj0iY1ksl4F\nByCV07bnbfWOgjHfglOFyiONMQitrXYjD+dQXFt+7Np6grFQ/T7XvuNr6jWX\nKAw4WvHrLKjGi9zLGL9odSYdRfdbB4/W/WnaMKRMxbghFMmOVkIGtpWLr6tn\nri6QsPDpfEM2YfJz8XEA5tei3UsmwBC6ToKyvG3uqvMhsQLtb/ecwAyvYXN+\n+ibYWG0nMAfH1gApurWHx8C3//D6NeVon77f4embjiXIFCuWD93gAZktkc/p\n19HbNPaFHaW7QiLhu+B6F+pj4zvRXwAV5lbprE496Pbu7bROCJcOgzlijyx8\nasFfRgD+lYjLzXLm7aNY5YeuIrlhhwA7CNWJqL5xDpGHD3Crf6alvUVrjRqq\n7dGvPmUkezFJq20D2J9nq8xb8nd32NeHbXsBhsIvfDvvP27PzxkhwEVNe/dB\n/Uds\r\n=EH5B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"a2a9044e1b493b1adff55a66f5259fc144c21daa","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.16_1542817128445_0.9087486434192598","host":"s3://npm-registry-packages"}},"0.9.2-pre.17":{"name":"@adobe/helix-cli","version":"0.9.2-pre.17","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.17","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f8c47ab698ea5ef388e28d0272cb5eae8e1d62f8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.17.tgz","fileCount":587,"integrity":"sha512-8Ej1OMx3R+9KH2BrVIWoS1To6BUPNPc/8ZbYjk57d4tIlY402Bmqlo/CqCO5UQbNKz1qJ2WlwiZt1CZ3/hQivg==","signatures":[{"sig":"MEQCICusMKb5fzfJye5KChZAqTruWNOfsjCrhFTAqUJ4VbugAiBVX/C6KlZx15OX3Ad9ztyC31yfrhIXjlCNDN2VUZ063g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3448722,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9YlKCRA9TVsSAnZWagAAVCIP/jecn3CBGnb7vBJWeqBo\na7/V1CYa/C7NnGAkFAWjnC7OYvwM7f8E0iEQHVPCg6XNsZOOaQif5LX0SVkm\n1VPYURVdDYRBzqtBTLWs3nE0+xkxVvvVDvN7uByxPtUWxYAOVdobSHvcqRVD\nrty94RE4W6kE+ykKs9gWw5pJOtf1m1grlEzfFZ6Uy5j3MSZdoCmX/rhuOx/t\nUNWbJf9Qtv0DquWtS8LFUgxBOIvBnrPOYWyZqKvJnK9LVKi7xAbXqbtoniFO\n9jVCqTcG1j8ShURbHcPYMKXe914eKRv5z50mRZFi8I3/xJ+ZC4whbcvghKmR\nP1nkO5R+ShPPitr9uvtrVbHRHs9eVVrQcBqpj6OfomiflmwCd99TujSBParg\neMNImbN8nJx4PEnM5bNgOjuMvImsM6MqFymGUa4qDMYRBVspNiw8D5qOp40C\ntugVeqvv2nXXKvgvcBzgt5lNAUH6aGF0xsnH4CO86mACF6x5ADADs0+J137x\nqLFF+fQ7KTa4Gt7WdMZNydt1REBY62afKj5PGEEEGIZT0AjQsRMdZ9EnGRio\n9UvYZPGL+vlg0sHWfXuNOuFAycXI0mEaHjQ/oFyxFASvjTQpoSog7ohVa1fM\nWjf6LIjtconWHfIzvWh/L9Xd5Xy88vn0OG54sUbnVjeyMU8csKabqataAGRY\nfaVO\r\n=20AT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"6d603e193224fcdaedb9591662d2d7f4ab61ba70","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.17_1542818121021_0.46395876531902536","host":"s3://npm-registry-packages"}},"0.9.2-pre.18":{"name":"@adobe/helix-cli","version":"0.9.2-pre.18","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.18","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5148b45f7c2b6b6b558f2101ae4e8a751f402e48","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.18.tgz","fileCount":587,"integrity":"sha512-wBKU0vUWZFj+thTcf5Qn+krBQ/Sewo8zlqj49+jDeHsyY2m6s2sUlvsPb1BDbdweYYLj2chJCLPFAKJunirD3w==","signatures":[{"sig":"MEQCIApote7GFmz8XeA3xnn6Iyex2Bavs/LwmcOaBfX3+rNNAiAb1S80Gpxac/eCHhkTA8A1fbvjoadaBdJ6Z9aaVkBnoQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3448723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9YomCRA9TVsSAnZWagAAAp0QAKKFtA5214rGBnTygLvb\n0rao+g2Z8Uunz2++Ma2bDlpCOodsEtfydq5r5fBmuufuiEmCuuHDnM88m5cu\nnQi2rYPcP2AgsbVQZAK9+CwcRaJlYXQmQu0vxQq0V6NUavTARuYNOW21RhYa\n5mJe1ieGjPxJw0xcPiktocwy5BAzHZ20wgtrVklTfZpEEsOL4op1B7BiFDM8\njBkG9pQiMM12hqy3i6qumwf/GrS2XYXDn/e9Y281tRn8dZ2Vx04/wocCjfiq\naxDi3ic/iRv4wE7k6sfkwQmwmjsB8uQYuYXfLgLGV3EJ2zkTlKXTA3TomqnU\nBrzMlr8QitZ+8iVhM0ufpad8SKJQTsFj+X9FZNSlRki4xNspy8pJpOzTdI5m\nK8Jpoeb7gB/09nkqWxIjs8OOvvAvD7VeSd25vU2DwwTrXXA3D8nwRcoPNif+\nai/37AntKSme+NPEiLizwnzMw07S0vx6UUGpu/6+lILKtd6csyX7je3y4gqm\nPs4t3bNvWI4y2SSOp8P9mSdXU2ZCW6Xj3bDjiMrdP1KxcdzPWvI8DSN2tjr7\n86s9jx5n0eI53oNDuzHzBo/gb7+KajW6IvzjhLRXc273Tu64MPikMhHdh/IU\nYPdjRPA/vInUVhivt7GhR0e8bRD0wjdB2s7MmafurSRysdzT0rsG4pkqcJmE\n5s8X\r\n=p8/J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"520dd33c48d0daf3018e38d4db5dd355c759ad74","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.18_1542818341295_0.6525470333106143","host":"s3://npm-registry-packages"}},"0.9.2-pre.19":{"name":"@adobe/helix-cli","version":"0.9.2-pre.19","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.19","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c5d386e7f9e8eee03df96e34d67890ccb0d458e6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.19.tgz","fileCount":588,"integrity":"sha512-y8H+6UJOY2/SUXAPpzUJ4bgfjTLlnI7VZBsqIK/xT1bS3c+oCevDFf/AHjS4ZE+VBIduq10NlSk03D0JHtTcXA==","signatures":[{"sig":"MEQCIFRK0EMHX1hih4tOQmi1VJPaEMmvZB325EqpLjj8JwVeAiBRiaN3/ll4YPVUTYK9BLQm+m0HudLB+ZDF1Lq1LDXETw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3448993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9nMQCRA9TVsSAnZWagAAaaAP+QFy+M9f4GKmF/K9Zfs7\nHdJ1RQfY7aKjuhuYDdbznV7OEGDFdS9taaAAGyj9PcAVNqbXS4ZolcCrxMWW\nS9Phv/rmZMXbpgbwCmme2nnWP2pvrSLgTvBx6N3evbsByR5atcBYKlP0gHMp\n7BvdWnPhTlxIb396fBFPi2ztwp9m005MWPImw2a0OeHQae1ojzolPWWeialJ\nzE5bfzRvWjcWuiIbbJn5lGqGDvMgoFbcord1R7WNn03gaN6Aqu58AMj3JwD6\nrt5wK9QoTCnemliF5J5nByY2C3dxGcbZ1NG/6t8s/rZUgJY8GQ21LO0M7EqO\ndf6gK+nuQCz65MB1uxOJC0dru0HuuO74rFG0nODTHcLWBdh8EmmC43h4PdC/\n6B3bbvnlQ5skquDlIutN0B7wrzJ7yYKH/6mJcgxYMRxgMd3FHW7Q3JwX1NOp\nSwIIoQTsK3P4hiQ4me1VB3HjQIwxg7PckTjNadDQ7bm6iEWlLcv1q/ZESq36\nJrRC2UEBYfDVzPeLZWik3waqaYc1VEI+lVOe1oFdLKv7vi+FHymGc9tfocV2\nxBVyXgz43kNPADduWnqCGhGgMF2SeDOPD9TTjCJKXpMD1789VGyPKZm8Yh3r\nMET+1xYAkSX2wBGmiXkxoInCvnbqFV2Usu8LvnvRGDIMSb77x0beoK0ECddd\nS4/o\r\n=Fj70\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"fd9e3642ef5998ac098563cef2da1423bff52b09","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.19_1542877967866_0.7372136765583972","host":"s3://npm-registry-packages"}},"0.9.2-pre.20":{"name":"@adobe/helix-cli","version":"0.9.2-pre.20","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.20","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bcf185a66b62e1e0825ae2c82bffab6a4c579f88","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.20.tgz","fileCount":588,"integrity":"sha512-NJziHgfavSbV7pZ2MNlQAoJ6Yz2rEfe9jr4F20i7jn8j1TajwY84EUIwnQDhbZe8XIwQHt4ZNSAcyY/pAVTe1w==","signatures":[{"sig":"MEUCICWebvD+PUWtBtDFVinTeSfbc1k7iNVwX6jmorlDor4wAiEAmHtCtls8Zl8Oeh5Cfr3YaNv5Xe26aDV3TpCl1Iwe1yY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3449189,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9nQQCRA9TVsSAnZWagAAjJYP/1oXK6VF/H3enmdR8hsX\nNW+jEt0fE/3aTVi3yby5rz9MwYvgEyz3jcxTKXMCJi1rl3rbO1gN0WrouVc0\nHHW6FjrpTzDSCGEKqPrhdrGQCXzKinpCj8oaf4U1EQNSDnzNFv5uJIbH05Ob\n0jTDM89cPxFO1S8QPGKvHay+I/3rcVBz5gxmuauFyCwCRkuHa2bNlYEQR2aS\n77EyjJtY6ELNDMUmBqjk14pA0s2GsTNgFU8PxRFXiYRa/37pRgTySxyjZuIk\nV35XnhYkUFXGQg4CR5YRoeDhW8idEmikWsdvmyRb/PRpJeqcdSq3br3cyWXh\nT58nApw4WkimMrrZc4sb/PD7ZwoguezKX8u/DGRGegk0UevzU/BnW4myV9pP\nEVO6rJj6i2xz9Zclgz517xs/rFUEoDfuvfpmd3sp01QFKdfcdpVYWtqAFanM\nKj8eEjwTA7l0+/I5TSuD4kX1Ne3KlRFeeG5Et8eQHY2ueLmOzNyQx02j2zqG\nRaG+7sjucESyY4Ut6XU5ctOLcfZfTl/9yvJwSh+aOm9UvV0teu+2jl6AmowO\njF1Uo6sy0zCFLWEWFn51lb1dpXW+/3dkgXWexacNLsk6zD36rU4YF6emiqAW\n8bz58OG54P9lXk/+ErBv3zmwHrfDANk0rFB5ToFT5S4nuo0AbGBlu+ow/jyP\nRgp7\r\n=lL/h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"bf5040e8a129257afdd6ea3075800b2f3badecd2","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.20_1542878223427_0.9051551277317473","host":"s3://npm-registry-packages"}},"0.9.2-pre.21":{"name":"@adobe/helix-cli","version":"0.9.2-pre.21","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.21","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d7d21cc80599b9b26a0a11f9f8fe557dd51897e4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.21.tgz","fileCount":588,"integrity":"sha512-Si5L+E2URZG/E4yNuadypKp497dmWJqfLE5kEaM3sz8ZAU9kbnyB/ok6lqe5oqoYFSpzrdRmMslI9L0n+dZsDg==","signatures":[{"sig":"MEUCIGEu+qMiTm1QRv4/lB25BL7wLPuS1gs5XHnLrT+9nkajAiEAla/1+YEmNPGYvUYEWrrOQ1uJRyBFote17eSZQKh9KwA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3450119,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9nXJCRA9TVsSAnZWagAALeoP/RPsYbUDwASdo8li3P1a\nWsAkb1ntDdBsSCLp4nio8y/EPeRNugOVL4Co+1CS2FMxn2N5G7yr5pZskfnb\nErYusKeNzl54LBG630GpXHjUG9OZh5AwyCj/FqqYP6Lshbh5lXhrq9jPjR34\nxat+mAu0QVPNkLE+fjsOZ7NhR1eE/ZDYEyKQxiyLGcITDFytnA+DZ+XPcRLi\n4R4e7IHmhevEM/oe+scnzGmhGZ04buVIRtcVBQyOiXyN0bf6DrAu4VrlCEmz\njeRyHu1nWF/WIuGLvDfMhNmFqJYhWSicAHdPLoztfK0kSvqQC3xSnhUIrnRb\nVKoOdVSHAFCK0TbFQiE83LQ8oTGfaQC6qM4kODzVCtg7Qs9XM0X4xd+AjErZ\nKRmtJez6KI2SgDG2ErIsnozvL3J30qDoHH9zX0Mw8jMu9hTA4QpK/ESwbvd6\n1yhhs2Yk3hF5Ktd4Cd1H/dW+vWoPPph6D7gQhMb76MU/4gCmWnMhgCZjvhfx\nZhajQqMLLM/qMdgbd3nc+23n4NlPOjCIa819MBJddmflZkyxgAWJzaPN3sgg\nZMgjqIeDjHxKMl2HA6KAtyCzt5fWgZe/ZM8+gDmxrBdifWOepw4XyScO1aiv\nJ5LNdi/Mek7jXoMjmGHeUwQjkBttk+zehgCsMBIGinyPO5IfK1q5NLW/qAOV\n8H09\r\n=dvOx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"792dd7f71bf06cef311fc02c4860a329a720fdf7","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.21_1542878664601_0.8100301525164539","host":"s3://npm-registry-packages"}},"0.9.2-pre.22":{"name":"@adobe/helix-cli","version":"0.9.2-pre.22","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.22","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"706bf576457458c88e3ad6e55e61b366a627942e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.22.tgz","fileCount":588,"integrity":"sha512-nUS2NwTg5VkvOIq62m1qZfZsftuTyRyqzdeGtcK4r64hJv9dFBRsOD9ZYPLyIOU7vOm4NPLLHfUQ1X753KIvKw==","signatures":[{"sig":"MEUCIQCRURqTcdVboMXEHuH4flxkqQkgMI6vNr2qOjM0zKLGOwIgGsJO0Tt0b8oAezuhbNB9UbjG5FVH23Mtqx/COoA8FRE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3452998,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb9nkxCRA9TVsSAnZWagAA4BEP/Rtiio+wN97oXRPgPTu/\n29/yvD93sdvD93HFCoa2nfwSQwEoabHTiw5CApgedIRU0UmAkcz0Kzq+Dzhn\nxMA/mjK9ruMeCdekoP5em3M4bJTFWXKC+T96cnNoClLmifhQrL7YHlQAD3/J\n57q3cyq38IacGTXm2wMCLsA9Q5ogvGg87huEdN3OVAtqzO4l59498jr+C9TI\n0EPimH502mjMnwqUm8NTCwNSTUEgOSuq9L4sfkuWdA/BvZzu4fnF5okYk08w\nSE88B8yrie0aKpJOrlbEIg5rBmfv1Up+1pA1O6b/kvo1svYjM7k/uMdGRcOg\n8FuCKY3QSFO+Av8iRqtJSp0Uq+hX/FC5OXfF7Bha8AOxJ5Bqahci1gy7x4Eg\nQDPJuUPbH6Lelb2rnyibXKrLV/14kAv9jgb4j3+SL6DIolqANc6nOxpKTXz7\nTjDvMvPmcUGQDUq0lJcuffF51xaSW2OwdSIF/vkss5Fi6ViwwkNblVmDH62o\n2fpMTFSOxMngx24bkPalgSoJw6UdW2i648kNjj+zdvSdgkvuL9ixAXM/fbx0\nN3zoIiBdBAAQtIg1KGXmGegpBIwZnLv/a+VVUgWhWvmuNhFdl8Caf+5pAI6L\nmYJW3TV0tVKBPqjr2CD897p2c2lqEooMZYB8jaxe5y5LihwO/foSAnuMsUn+\nIsdA\r\n=dtoD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"c94f5f8a7b2c2b7405ac63085e271ecaaba59e9d","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.22_1542879536820_0.6777607800082477","host":"s3://npm-registry-packages"}},"0.9.2-pre.23":{"name":"@adobe/helix-cli","version":"0.9.2-pre.23","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.23","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"60663126983b39021f17bbc30e35e1dd1a230c98","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.23.tgz","fileCount":588,"integrity":"sha512-nUedZIdqHYqqAdPJ35UQpLw/iQ0AsntGVYdJQvutSrsbeWDrzr7wdITw9nINb9GJO5ZaiHST4h6ehsBW5x9Pdg==","signatures":[{"sig":"MEUCICXD3SoFjC/ZMq8qn6oFZsWWpG5VvsldPnMOt/MEXPnYAiEA4W33bG/MxpBr4pxrwn6Odiykkf8KrJ46ju2mvGJTKD4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3453812,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb+DZBCRA9TVsSAnZWagAAR54P/2ObYXmIV8V1jwdtgnEh\nTnvrYizHrCuNRPiGyz4mtcriAp2fEOv4cEBcWkEFJWNpWnr49d4PIrt0513A\nv7889stSqHoFJp1aEpHAa7Ji/lXEdW48HI+15bjlY7/WUB+IllWaVc44ye9M\nRMx102xP8Er81Q7g0aPRVcHC3YIxyhQUKDewnOGMG4KaLfVMKkSqCvdhZ66f\ndsD8o2KujhdR22iB3HPUdQq445oKv2fjsGXOyFOsMYRiqNqA4oxWh8s5td5Y\nV0PPw8gIHRrEgUqb7HaR1Ya8ghEci1d40qm64Wp56Aja3ydIFu1dhSEfcxfj\nOkQr5k8pn8o4cZGwf7LFlDeOGqBCAfAmnwTQJ24TCLXR23A6/0ZR4oqQBYPP\nCk63OeKstaoN94A20xpAwInpYHxOe91IQ90kL575Phq+zgOvxidUxfpXe4Aw\ny3zDPmAsTrBn9nJETElMcCmnJVVuIDI8wxs5pulHmQTIYG3014qeXyu3b4fJ\nQF503dX9mDgQvp1OXuXCaNbE9xnhen8tsN+eV4h+Edgw0F60VmZSeAFqC7LI\nyzxwI8/4DcNBaVe5MVk4zntq+Rms96ZPvAgplUhzOHsiD0tDgzrzANgmM+hZ\nuXOMkej913BsWQASvCgxKVuHgFGBW47SNZctXXuN+hvAfax+FJLblPm6G4vp\nv/En\r\n=CNRq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"f4d1bed771e25154fd62cf971b5f8d6076bb1a19","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.23_1542993472123_0.7894345220404211","host":"s3://npm-registry-packages"}},"0.9.2-pre.24":{"name":"@adobe/helix-cli","version":"0.9.2-pre.24","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.24","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1847ea483bb5aa4374dd640fe63aa85e343442ef","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.24.tgz","fileCount":588,"integrity":"sha512-gd0cWvHeDDJ59vMeIeoLJFW9TycdwLjDVofVqZXLETPYa36SIdnPzQwnWDgeSB6VoMt/KBmHKw+Riw7T+k/3TA==","signatures":[{"sig":"MEYCIQCep589eb6eqgbcuvKUyxQmuAbNaP3E9IyBl4zsJnsqXgIhANADFGWCjvMk1U3Rg7DC2nAp1wyK4tGnUFdQloljqUsE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3453838,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb+DiXCRA9TVsSAnZWagAAMYAP/id0ClKY6O+PjMMvc3MW\n9eaT5SVthJSVovHgyichgz2o4ILMJK5LYja+KOnec9/Y6Cy1uXi0E8D0x82g\nkYcK8KsaGKPYjdVR4hWPzl5hCqjxfDkUANG6ZTUwMTZTgeFliE4s6y/31Pa+\n5fraKO4SFkjOA9C62rh3DLOWmC2q53mhoD8LpM7HnmPeGEMbybhfFABj5Iqh\n2PGy2pl3cSX3NyxGplUqbrkLHbRd8eEzZAZHUVUYjMES2drtA+a9XbqDNIw7\nXg5JgEPdMjxxQmFvCs+9473XVyda5AjFOqoz1QtXFa0BQWx1J0jsCTvrcGqJ\nWWV9sGSlJcqqQhgs3pkhl6cPCV5Zcvy479swCUVA2gL1k1yCvvUlD4ofBJmj\nKjss/vHLoF/5GRDENgnETI4qambnsEUXnxI1QLgepIa1trMMttjxbLbosK9K\n6HWQ/Uh7QOwZG3TOlA7P07Oys5MN7qc3lgrrusRoxBIx6jy2Qj8lYisg3kWs\nqIFpdQJPyg9BJbl/kcMbSI4DmmqWoQTTOu2TiBEOocFNAvkX32o+9eqrwfTh\nWs86bNKZ2B7GkhsZJ1/Bcmo/68ddU3uVxkBHhUTZwZxmRdRx+HqGCyAXH6N6\n4QTdg2ZohrooQENq9MPm2+WnPG1pkAJ+01eXyH5KWXJ9SwWhQrPKVkSIZhkL\ncJck\r\n=ckzn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"78ecba2ccb83003b9ccd768f957a3c695d7c5df7","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.24_1542994070416_0.10411035464707119","host":"s3://npm-registry-packages"}},"0.9.2-pre.25":{"name":"@adobe/helix-cli","version":"0.9.2-pre.25","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.25","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3d6e22030544e51f8c930fd5c9105133641c4a16","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.25.tgz","fileCount":588,"integrity":"sha512-wLvxJvnY+eiFSVQIFq6ni2hDlFH5Cg3D7RlQPcPkPY3eR7Qvk++d6dmFOabbfMrwTrImiocit3dxk33Ur8AIFA==","signatures":[{"sig":"MEQCIFXRdoq4Ssg02g9eYPOL3iZnGM8VAkuWNpLyIUoqxpslAiAoGDTD0vK0QU9NdqEIMANGumbEB2YoVR9BYDURuu9pcA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3454020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb+DzZCRA9TVsSAnZWagAAg/oP/0D1b3DeDOR394CMpGHq\nOj9uiTjHiP7XR+AtqnOsQ/DUqGEPyplApJwQmwKRwbBdiHQGa8PDSq3vps2R\nYHwNcYEN/joEZupXtVepQajbJ4ziITG3pdVP4+M6TCu0JTcobLkPDvILQQ/o\n3qq4T4xtTauiQLFKNSU6KzNgzUmfkaXUJ9PJxWtgbaiUryLetCjhhG9U9PUC\nHpzd8W9cnf18iFSgqQSTft9MxV6mtCRZpIsLkPFINKo0u+FaRMAn0GgEdR8p\n6r4gA5YP1z7U/aTAK2wD8PqDAd0AOtg8WsPni6hvUkAVLcWRmfsN7/9ru6MD\nwiGW62ZPHQTIpWi0PC+3+h98JgUak0iA/wY1BxbkADqOIQviBxxiGBu67zHx\nts3jRBDCzTrfRnysz3kaqN4VA1EFqEW5DdjYpdpRXgfU0IZuuay1GfotaKlm\nLqjy2ZZDawgz3ojBxJxwKsanqIbaqkhEuZho+oa+lpNo4AoJ/6ukA5tEvOgg\n2OfaOTrqVefxhdEtP3sDHKODlJtqTr92qGy6adVmc+/xDt9sM4tHKTIM5LjF\nx895AhOJeLRDEiuAV2QW1BB8BZdzbsP7n6gVImPcTMKon/Vhz4+fQlEhp3xQ\nuO2t12V9lSYrc0KAwqflk8rSmcdJcOtWY8q6WRooDUd59hujiJQtR2cOxWms\nrGOt\r\n=gM7U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"354c5825fab8e6c1e23d8e30cd96fe736a2201b1","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.25_1542995160583_0.5420894243612497","host":"s3://npm-registry-packages"}},"0.9.2-pre.26":{"name":"@adobe/helix-cli","version":"0.9.2-pre.26","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.26","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ac5e232ffd66099d1f0a101cbdd7a8f87e7efb58","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.26.tgz","fileCount":588,"integrity":"sha512-zfyvtWVVF9jnNCDBd7JT6yoHlxNrO1ND5LqncaftIYGNTdcK3RFxgaTZh2yFlKoY1wB3XO7syXW7JDQ1xANhJg==","signatures":[{"sig":"MEUCIF/CrEbZNaii67qg7SArw30waspM7n509jt0lyPnxH3uAiEAqeAM6hFjUXDoRxrcv4ISbju0ytHyt1SDbfM/IHAphfc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3454114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb+Yz+CRA9TVsSAnZWagAA8UsP/RqI7rrhDaaGCB//uErn\n8pJz2KnN7tAflb3dWQfVlMU6joEGUxU4YfjCp2IuPPZwePKCa+VZo+l72y/7\nXczTxsR/m9d8zGWHrLEfIouQ9zbwOYLB2mU9ybyQiZLWlHPFTDXqiToAFTz9\nnGQhSbVBp3SbmDmhvrDId8yzEkI15fl1oLQasLDnR2RqBzP9giiVcpG0Bz79\nI2kPaYH32OpEpfuCxokk0Y7U3uaQtUGT+pzStpzXS4QSW6iOaWGEbp2DQ9If\nXpcHsNLxnQJfLLTQjFy3S7eN0UC43ubEAPbP7MXwEiWr4QnUR9brDIMWj8gc\nBwfSpG7BrPKtX+EoeJBkumBvyS1KgbO238qK2muAgge4J8vybE400yiufocW\nyIjE4DA55kpTSWa/z9Gzxz2Ap0H7lW0iItHLJLa+p/suygWZkoruYTKicWHh\nmQnKRJOOH64wo45YIIQjSiTWh9PNtf9WAXJNmUbCyzHIQr+y9sqmiIr0rydC\n6qiPlaxiUIijxR7W/zDnWCJUfJhc/7ER9bg/uHiRfJfcLbVl+kX3nZWpM4jY\nJ440FCLomShZFnGKTb8aWweGKE8T7ewFAVZd36WPYgl+1dryibhuXd1pO2FN\nm3uUXzUUU6x8srnl0b050F18mH79pB02GC/vExGMlq+WeNe6nvptqaxE3D6h\nCT99\r\n=U/j2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"18ccfb0bad662bd175d4059d01885916bf03edb8","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.26_1543081213951_0.7357112053254813","host":"s3://npm-registry-packages"}},"0.9.2-pre.27":{"name":"@adobe/helix-cli","version":"0.9.2-pre.27","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.27","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"123cb167168bdabe9aa2a69a7df4e08b925fd3f3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.27.tgz","fileCount":588,"integrity":"sha512-dz5yegfX9agA2qN8Xqa7yIQ50BaPK77y5RWEEgBW9YS1VSDubH0DJxmfV+Raz3B2oRGmOt+esd+JLelw3wpGPg==","signatures":[{"sig":"MEYCIQCL+uUbs2wSLkSfmEIoT6tLH+S/uCNUhdNoHMCEMdnpmgIhAMLe6tFbYOOpprFurHEyCb1fJxLDf+O9d2I2/NA236rq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3454130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb+Y6GCRA9TVsSAnZWagAAb2QP/2S2Lcgr/Dwv7ZescUMT\ni1xRkSqeoYH+4w6hRoURg5TkD6SQo0PkE18ObUgVxilUcFp4a/7vosBXTFJz\n1+ZqU8dNtp/pS4nUBRxxaSelYVHumfPk+PW6UHC2I3R7SCGeF8mhVk9gEyzC\nOrcczAE3jD7gUiAMteVVtTjAscpy9Tzr8N2N3MwADi+eKJ1U/NGtSppOjfvW\nWr+VV2Nj1F5y3Yc6s8Ueub8vLNIHBzy1/LzSlELWjK4zR9sNIMHSz9UQ8iuH\nT1lCkGF8Sq5+fCVonFCBVhAxdgBSPC1EGnKdq9L3+uiM/c7mcSI+UJFs5z0Z\nVXfqEPjHbXJ6xxjq+ZXdICwTa++UUtEZn9awPJBNLxMdugxSTVNPipkQ0t8d\n6D3n4Oysm3LCtJRNR/3dkJpRz1Uus9ktdDPRWwXW0/ms7+BhlRil6MvHyT5/\nlK6PkkTTUpPVQBupNB63K6rZC+NxFaWz7wUO3OOzQKqmUYsIM5f+1VBVZKSj\nBjW8LcU+QmaRBZ96eWXG1Py3gy3UcwqlKUcLKi1WydW0K6i4v+Cg6rdK2ORP\nNSZh8ug/TO29Gc3thWv3hwQ7iFA0iKwybuJbNk9zSSmGBnwQIhqgHfTuBfN6\n5b/4a4DaBEjJZkUunwLI4L+nzwXDDmH3thw29CL4oSPj8SjQK2w3QZEFC7jm\nP4aP\r\n=sL25\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"a43b081f09e142d979d392d67840843f8f9c4d65","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.27_1543081605632_0.9815519555761989","host":"s3://npm-registry-packages"}},"0.9.2-pre.28":{"name":"@adobe/helix-cli","version":"0.9.2-pre.28","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.28","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"21f86daad81a56a9e482f1737a5e5b80f6d9336f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.28.tgz","fileCount":588,"integrity":"sha512-mjjdDeLmYN0eGp/m3hpXhJ9liv61oeNWsZTV85J6CIji80rMFi5qJv9CkdBPMV43cefsDE77UBg+5j0CS11S8Q==","signatures":[{"sig":"MEQCIA5J0JY9gQW/40DW4kOEf/1uEf0fF4P7RxEWSjUk/3/FAiBo4JXkdMi1M6Ql8cKMfyfCj/14jxZ6UnNzIBqpeVn1sQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3454222,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb+ZKoCRA9TVsSAnZWagAAQn8P/RbqqcvXjyyKTsT2D8B9\nwzGeu9a4YxJ3mhhtuyW0ovmyhtnWdI81x2GkQCRYW2irxNMcwgwmmLwr37F7\nOKbPj1acz9kHEOgEbZtv+L9ZDc4ZV5pJxQi4/MYdo9L12e78CK/9pdzfLODl\naNsBKoWS0UMGOoFfB9ilhr/pojNq737GuBUeYF5Rajf8cFYHwCuHWuQ3VaJS\nsxw8bhf+GzohRPFiWyf9g91nU9BPWi2xjXLVAAgMNNr+8rUUw03JwJ0ucqXn\noSDzkdAEvD7N5Gz0tGTKRdoqT75Zprs3zyAITbMyAGlxLQlCjZ8Fq73EUhXM\nP2LKbGE5DbQP6KlDXxEOK2OOWVE9lYoSicKXorbhFIRQaEQV9jCfZlycNOjc\n0pJQfXsYyGtoXcl6csKzEYcqbB6RmOn57b9XGv9g9yNSqE1Y3ygyOaFSehNT\nU3u7xNQrvOE+Bukz6p+CzB61VrfAEPzdhYHTjetv2NQfHBJbMZoGRxFGlw8N\ntjzgXihtiLX2cwrIjuOP4ruOr9XxqQ4SMyKuAweD5ao0C8NTdNnXnaOIpelI\nXWOpExnkzP2mAMsf7vS9sQhNI1YE9IpCUBC/aGbDP8qvc3tcJekCbxU+Zgp1\nNLMQy1GszRTeedn6garDs0obAWUHH/47nES5hRunYdUUYiZuHbmJiZSi4bsV\nP7BJ\r\n=MprL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"b8010f390dfa4a1523816d0f724ab8aa4a559e77","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.28_1543082663389_0.4445953192030605","host":"s3://npm-registry-packages"}},"0.9.2-pre.29":{"name":"@adobe/helix-cli","version":"0.9.2-pre.29","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.29","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0541f733f47587652a50207a02fa2be7ec280d94","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.29.tgz","fileCount":588,"integrity":"sha512-h+KXZ388INAd3VVmRfzUEAtOp7VSB2MSTx5tMvv+dUHeiS5crbSpXFkbvsK3gP26XxoSDxR45lcLO3b0PDt8Ag==","signatures":[{"sig":"MEQCIEYJZUI5jJwC90zsUoZKYFg3IUIkIEhWhuS/OuFlZQjyAiBDsIQzU07o9GFNqNfELeRe5x+jJ8OCcnSIehS4OC5zEA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3454913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/RhyCRA9TVsSAnZWagAAZuEP/1/xD1gQxdAgL9CtfDY6\n/b7ITeKqGmrht1p+AMGs9ZI/6CFgBa3ErPwLqrGgPmwKhn3HZMPBdPaJ8NTb\nNuVp5/FWvlKayzoztJXF0JAYnK0aQg4oSlosy7QzEODQ5wz/VE96D3CNBe9e\nq/uL/BLHWKrl4mO9JuyazZO3789TBqRWxOC3xfvKNaL/QGSqTTsIQblDladU\nd1kDqOn/LO/JNBNFn4FceCf/aSVwcJeY3T4S6yCisEShMN9rO0gavoUVuwh/\nuN5/UNihJ1XneWcNCA02VK8ojScWnSd76+bLdYZq9ZzzzPMfePufxWfkq5Lj\n3Lz6caYcJcQAfpDNWckQ0l//rbe9pNJBIyqQ/3v8LFcvjklbZtTBgiDFfRVT\n+2KIRjt1atQvByeQUtewXcoKueefceUWljbLlLWBmOpDvxOyHWKmaYh9oMsV\nIPEczn9R1Es+k+2SUw5xI27smbYa9VyAZ3v1zzPMEe8jZ0f2mvPwxrnCEIHW\n3CcI8g0eCbhkuqxxR07xZ6FQ6CrUmtsBJ7GqEvEfhMkKgTpMmsWbdh4ngjJ3\nkIiFvP1oZlIoktv/A+xEx/iGXUlSyWGnTqT9u5Wdk9n15Nz39KrhP16lX0ww\nsou5J+UIXLZhE19LgAnMFJZwtqEiOGXn0uEz7qP2eCHf3V1yOzoDSfCUFkJZ\nWUM2\r\n=fyAM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"bf47cf9a0e88aa54af60834fb19d73efd0700a2f","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.29_1543313521177_0.3990813753831337","host":"s3://npm-registry-packages"}},"0.9.2-pre.30":{"name":"@adobe/helix-cli","version":"0.9.2-pre.30","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.30","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"adff0f6f49c2232e46556eafdaeb8bfbfc6dea46","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.30.tgz","fileCount":588,"integrity":"sha512-rHPtiOLRP7JAcj4Oj3S79KwejVswUpfVWBXaeLoCvThswwjrHV8qlfbxgZjn39dWI06mJtHyOK6Rj5lUfulTDQ==","signatures":[{"sig":"MEYCIQDWVq63ejPAizy63UbNIqNPT6J+dxZpvbQTurQE6sRtIAIhAKTLv2sGs6Mh5/upMnYhT5oh84zmSi3q32IWQ8r81m0f","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3455098,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/TSACRA9TVsSAnZWagAAhcsP/iE5n/UP/wyBuRShBUvM\nYEe9Ix6PesDj9BYa5uUv4AtowYY0H4mgwvBjkZ59CLOu0s53CmY68Erh9kxM\nY3EW569VJC61xmaiEu8vHkHZj3UpEEGUEe2uyjdNhDNCktWOORvjmH7Wl/km\ndXulqgfdUGgMgymy5fbJGiTgNm64Uznt7/hxuWB5UrbD6KsCmKfkYRimtpg8\nAYdB7cpMOiz24g9dib0H8LlznMNmhHCdX/OwQO5N0skv/DbmN4zmaP1ddJFW\n7WdoGJLFfZcgJ/d6pefeP0wapIFcJiLsWJTw7bJlKwJoio8hy1aJFDnz1jYT\nUi75O+b2Mz0szMAIBb2cwnJZoU+E3PDXnFEpCsqdmppK2ygZDEDqK1R7/gp5\nyIKbeBYzXrmPSNge23d7+wKE5SV19M5MbHAynj/Mr8hG85LWkiLFRfdP5ySt\njvZoRDX2XeTZIX4q5SEdO1faItr++LKkFVEWZgVWPHlIz95MeoG3BXlAaMOA\nlHWzHjWlqmr9SZGr+TBpbcknSsLgOB/bkMQtAMu4CAr98KE+KQT9kID2W5cd\n6sJb5liPeNcSHXXtC6c1Z87S42zEhJDSfRyi4DZ7wjLLITBHw/pbJQEw2JxK\nI+zS79MJeJ3hkS7c8UjLzUCe9tfc4aFsUxTuwWBh4C8yrxbWei1h3jioXovd\nkxyr\r\n=Jiry\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"c8bac5a22479b0b0ef6c051972a400122fd81a4b","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.30_1543320703678_0.23554948588702485","host":"s3://npm-registry-packages"}},"0.9.2-pre.31":{"name":"@adobe/helix-cli","version":"0.9.2-pre.31","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.31","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"69013ec5d10c7c1cca3d20954583a979fce9b7a1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.31.tgz","fileCount":588,"integrity":"sha512-tV+yum+0u/OfB5VxsTMGdJlsHJzjlLVgIvwwE01Xh0D19kK+hNoDyPbOJJAdSC1M5JjeARTpW6t29It6ocl4RA==","signatures":[{"sig":"MEQCIDCssqxbxmnEX2g5PWjvmYprzgMy7BA/tTHDGXqVedPLAiAbXXs574Or8cp57X4qe92WRI0GX5459m2/eDdip8rasA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3455380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/qsQCRA9TVsSAnZWagAAclIQAIjCipWVHgMn7cua0dgM\ncXztpaaAeLcCz8NNWEEEpK9kQ9wtEaQEf9qKE5gS9NgQe3eAGMOXIIoIm7BR\nM7BwayjBonmzRnN4ccfWiZjIsZc+Mf5ZxZvawQJ/iITvzNHBRbtY5Y1XnT7Z\n5dF3QcxG2KQhe+MqPeEEjCSIcjA6NrGvOoSRsEc8PbH7iZ3wgzS5jTTtHU5B\naMnjFQ5kyT3daxTN9tJMThRrrcmkKsJ2I2T/NnLJv1yYflA6mZXJbg3jEJPf\nTeXimr3pUkNa2XMuopCLW30tc2yhDZDz+7EH/tnWHhqCkQ/RTwlu0oh6WUo/\nFn1EtPatlecxFIT4Wcgb6Bei+5flZA0loMQw8GVKR8nwatu41tlvxmZH6Ppb\nkMTpGq+GXmdAof09Ar3csg6q0oe0S6c6crJVhstdieG+QlGUN9tG666LekSH\nZi6R3qGLSH65W1M3l+dcgpgw5HO74ANJlZyf4ZCSk4eCsILcbLqEE+9Eop8/\nXfGDg2y8AkfdP3ugkd83fQolB0hhvflVyF6dr5uL81s0UNYA1HY9LXgiKbAB\n4THs751DYJKUAWA0yB6K1SJcXgBZ6/MycsSaNJc0ct0BkC7MRjcnQ5mHK3LM\n9fPhHE+mcLp4qiFvdXEMYiWufkBWVfyiBZ752XG5h3qloFa0DBXXFNQql/UF\nQDBP\r\n=2TzM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"f653445d1537cf2f445ab7fca6385a172ff7a05e","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.31_1543416591642_0.6251511811847748","host":"s3://npm-registry-packages"}},"0.9.2-pre.32":{"name":"@adobe/helix-cli","version":"0.9.2-pre.32","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.32","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8ddf655676151b952f5a7e16e5074d674529d6b7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.32.tgz","fileCount":588,"integrity":"sha512-z9lFbPug2O9Z62FH9MMBvp3SaEc1nlr7FgITf01lwaRglr22i572Znhke1C98EKVlZh1IlkzQxv1zpzfJfSJeA==","signatures":[{"sig":"MEYCIQC9/EBci3ZJHgOfbuAO7P1QdtzOVm1WfE6Cj2nJaKIZsAIhAN5fTnFA0aCaTlmGYHvm6Q8QjbasJj3fvHKiNuFy9mEp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3455149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/s6ZCRA9TVsSAnZWagAAVIMQAJ+jKWztIuearTCZAC2b\n8ydnjixWMQrnat4tDotyfeDk2xz4l+8PyAh7rlhyPfQVMFDsiwJuFgh5UR5K\nUOVCVFlvXq2lgFC5Tu9pzRjiFHYcSZvbsxHUbH3OnikjOfSxAntGvXjBGiLT\nCMY3Ys75Ic5NBBgPBC7JgHe/pgX7JpA5MfJyii+car0yRRFiq5/KO/Y9Up0i\nvxFHKLujYjXUGiApadmS4qUXyUbVYnMh7DSLahotfhL+Bi/TkoIKEiTttLk9\n9FGMvtXdJkWtI+2lpnennMp/45tKwlWZKHxPOZVXGgqXH+EZQY6+GmfxapmI\nRqY8sX3TRJ5tPRMdbBmYhVbB+ImNYL/x0sTF9MfQIw18ih7c/Q6DhplxBPq5\nIwcbpqbzbOg/qqaxnAf/ZAC+rBCuws+lKnBvSDsVRL7iu1fLdd/c5Y4rrt0K\n1cnnBmmBpfhPa+16uW9+h8U7LqEVsJVriBQ86Yl1d5uzo0lk8bQNjIK2tInO\nJs3UWay6GKkzEFJnO2qjORu2zt8yEekWUIWoPUtB+41K4DoON5DXbxm6Veg6\nynBAgtySXnm20vJhhfDCoOmrkeR5vwV3CnMIodMrLQnRuWLpfS6qE2dfsn7e\nR97AweYWpFDJothggamnZWimLAq+leoSRZ4/Mf1k3bZhSCIhAaryeX0i9uL2\nhdHC\r\n=NfSb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"fbcc8561f3e77bcbd90bef90da1a6f96e2de91a6","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.13.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.32_1543425688617_0.13527593127403348","host":"s3://npm-registry-packages"}},"0.9.2-pre.33":{"name":"@adobe/helix-cli","version":"0.9.2-pre.33","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.33","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7ae5bb1731a936e49b8b828562a7bd76ceb18a9b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.33.tgz","fileCount":588,"integrity":"sha512-eIg6DHjvg32wK7COsfndSJEpyXOYOVtARGrt0LxVrWGnzD6oMH8PC4yovsQojmN6IsCemAlbLB3XLlrSlQOWoA==","signatures":[{"sig":"MEUCIQCLprHRJfwjihigvBU013RBAXFA+a0D2xbtCGIYJ4ga+QIgbR/DCoeNWdqMzYJdnctA6MkUwV7FnQvpgEmBhuUl6qg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3455151,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/s/YCRA9TVsSAnZWagAApN8P/R8BjyedRPhzkXlLujJD\nrSJbLQxD0lrC63Xu+txFeDWik5KOwL8UvTxy6XKeEDzdHbKECp91Yd9UQ5jx\npSpbxNN3m/f6YB/jTjFf96rIN/AsM4fHb0Ph4RrdgrwhxOMVcrorMzoeI8+9\ng1T6TF4Pgx2XyuLJFUB1KjcvABrmiWKaKeU5/P0zWuMyM5bOZ808LzJMHOp6\nqDC9sRNSc+HLjo5zXKficK5YhqEvorSO8RsjSnXXnpDqmeP87izgtGmhzemI\n/8rJl9f8RakGB10l0bORNEQN4ylWYK8h2brPgeQCA6ccMJAN08HXbYD0xAn0\nn5AIMp1p/LqPLLP8t4FW8weu6RhRz4WU5Gqs7MxwsTis6ueBF1nEmCQHW7Dn\nTDx45EfHRjNUNKexKEyBy5XbaSMbYsqFbx7CcSpHus2Tyn8MHGgdzEhMjcyT\n6eRaIrU56iI//R53ZSQMrH+zUMxkhYFVUW3PY20nnA/sB/UUAr7CDenWnWNL\nbbC/RvhtA5xn0Uy/t95Y20AGCvVvjaDG6Na8ZoqspaWl4mkZofZnJ/3NNPrg\nksm8djNHj5QH2AoNPIrAJQqSBBGdYqj67f55nOodQroxWlFZ64vpgRVc8lMe\nlAurZnHlR9Ab3MPBsEKDrpsz4Y1tOMeByaR1M25MMR4iLbLlfVvYVd9t9Ngr\nC/lT\r\n=rdZZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"e91325e640aacff40efb1763f0550c17ef5ec6e4","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.13.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.33_1543426007931_0.11688443099958712","host":"s3://npm-registry-packages"}},"0.9.2-pre.34":{"name":"@adobe/helix-cli","version":"0.9.2-pre.34","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.34","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f19e788b6d53b3fed2c50dc2969790ba3cb70d20","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.34.tgz","fileCount":588,"integrity":"sha512-Y4HZB3FnmDOtkm5sjsA70V8loquoo6sLxoP+wv86jH2zMC0m1y3wrh5E0otWLj6mKd1sfWqrTlVwu7z/m76nTw==","signatures":[{"sig":"MEUCIBSBdKvjga9ESqlktnJRvfn5iC3hyRQX33zjmEUV2WLIAiEAmIZOPnvT/Wt2wjdnFOnSEjGydsgg2ea/JG5xyH9m58E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3455289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/tF8CRA9TVsSAnZWagAAnYAQAIQWVQmy3dg7D3s4jCN8\ntELB/V26ErmxZFMX/LuwSmrlPJW2PW7gaVV2J8pheF6/ssd/kU5lb+gGO2BS\neqjQLe6EVPWUAMd8DqgT+sic1AD3khjbGJxQzka609xZ+t3QjrYfe2hTdC94\noG/XRWeZ5ZiX36RMCKBdt3W8rENZGCxiuJabc6bRUDdKnVO9zGtxERyHHL8l\nK55OUBb29iGmcwPdszlHyuNiAB9uUydE7kX/lu1gNgvYbFIYUdHgolZLKECY\nirwL5uO63rLIZfDwOB4Lvo+cBeKW+rZvF00IhtefeuPUDi9RtIXxxk65kmVw\nHCbrM7QfhovXJb2fg+3mEEHERfoSlNvEQjCRodGF9WX0rEabJkqZW/fiZ+Z4\nSXJ4/NeZT3NuJ2a9XMW8KM+l1iqUWaPxRUcBo91JJd5CmmdX/Gp3X5P5sa4R\nevNTZ1VDteOo2mOiZoTaIp5Ny1BKRcR7sdGJAFu8tE4MDWps7DOJ4JvJnJNP\nL/UuScGkAPCyYKxAJsmJYv/3EZSJpe6eXCz8xV7xTQqMkpU/eG6jzdsF21H5\nCYSfWJDQgpJ74sND4DZ1bVQnxvWj7w79QWN55XbzQyTA0LRtVXV5ZwJGPD1A\nUwQlqTEc43NxbAjLqUvT7Jv8DT8pVAuKEjzU9+1NpDrQNe9DH9yQgJClVaQ5\nIB36\r\n=Wbc+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"f5e8fa34d63dfda6c7dfd1277a7018e78b004e9d","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.13.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.34_1543426427547_0.7864741065882954","host":"s3://npm-registry-packages"}},"0.9.2-pre.35":{"name":"@adobe/helix-cli","version":"0.9.2-pre.35","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.35","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b1ef25bc587b1890e94aedb4ebc1a209f1d506ff","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.35.tgz","fileCount":589,"integrity":"sha512-wXDiHx86VUpbMYem03TyQj5ZSTxIxvtoTwEvmurN8d00mpKyBfE1xL1zgzQIsAVQKSUqCPB55nvK824pER8u6g==","signatures":[{"sig":"MEQCIBBUEgFzRc27KCNSp47/DGoHX8/Jvc7ozN5FW3Aa/pcHAiBHyd3GeQ0SCpkPy5R7PLovUW66MvQONR3c+09xCCzb3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3457139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/umkCRA9TVsSAnZWagAAXIsQAIpoxeXb6p5lPjGCX+ag\nLzKbSi/t+gdOuvLZwyVginzv5y7jfJO0snX1FrtoBianFdQU+7PAu97g3hPs\nVK8eVEb3EqIp4+o09Qb9R1oaAspKdy/XxuVYNDKqAZGCFowXCgsPDPtoYT9t\n7lYJFXEt5gN2IXVdDxvBhd4te0dXYs+xzK8W19Sz5XXccZpxd67WkSheeToL\nheakkLanfPD4JXD3PHVJqxjuMXKie+S8ZJn6awNHweyxdXlhNlgAPj8Fg3Is\nFH5hZciM3qYy/6bsCpG4MsQpd8klhXMe9tjN5r6QttLY7fXyXM/VaK6GgtJ4\nOLg+X4KjOpk7jc//j3O9xux0j2s+NdDsTEsjNFjPIo2oiJOIJBU2ZpizkUNY\n9loc4Eg9a+gokyXuUAE9ZcvGQymJLWe/P1EKuzPyPLTKrDjjWvKnkQG412gj\n9eGaa5VbW0JRUjyO2j0aI0F28TLAhH1C6nXZcwadG4c7I+aHvJ87sWdFEXkL\nxwdVZVQSYZMln4lEmMn2+Fgfk/bZ9/2vbiQCegJpw63SvHIcNHfT9d0dugyA\n7Uy6NVKbY3mUrUsE6akt1uqt6z4QEPIoRHYlZSCRwkPU4dR8Sh5UV4dh7Q35\nvFW/LeP1l9LMUGAsTiqAnp/Xaa92Ex+pDCW0KCdKSLDTbqQPoMnqzRX5WjE3\nQAlx\r\n=mbjP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"23c57979508c323daf7ce2995978bbdba4de0ab9","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.13.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@adobe/hypermedia-pipeline":"^0.8.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.35_1543432611613_0.16750891230090859","host":"s3://npm-registry-packages"}},"0.9.2-pre.36":{"name":"@adobe/helix-cli","version":"0.9.2-pre.36","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.36","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f3d0087485ba6229b4015f64dd8b49df8cdf5748","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.36.tgz","fileCount":589,"integrity":"sha512-C7xaYrfiXruY7Yxnjk5LWYcq0Ka5O8xBvdLAG0dqpENLxWu51uca7dWo5j+NRNVwg3tJyl6ksV5IFMw25OT24w==","signatures":[{"sig":"MEQCICSDu0yCC9QnDtgioRHf9KrDFyisvHpSVCO341DJnAy8AiBiCsLOAJhzg7gPJIULKwNRhgb+MtY7ODNXj3r/brRBkw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3457573,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/3hGCRA9TVsSAnZWagAApskP/2lptF3TtfnQwE/i4uWE\nBShaN9K+i9pRg8yJvzJTtWrYDEMXl1WHbDR4i5B42/mS4Xf7eompunQrQSDR\nK3tCMP06UUfj9xxufa19GQ8y6raLI5YFrMnvtIyFkeVjHg8IFfQs3EJwLBwc\nVEMmUwPqcrC42DaXX/mRp4/XmflpySIbdf70KhtNtIDze6zsGso3pvWb+Vpf\nrAcu65+zGvk78CyjRWpNyyheCIpHDRMPhLNJ2i1cBo1ByrDSdbP0Qt8TYsBo\nZ3iKc4fH0FwOjBkvHV/8XDwZISZdqtrfQz7hYl7aXIdsr8vmXySVAKhEmwyt\n0vZsRrtC+NqRPlrCpd+cFhBDdm5TNSjApA2wJobD5hnKwjNJcEKS5ERFMc9Z\n/J9V4eqsgHnCX+nc3eEyI9GelTte7HazWgPlWCVv11iiieQl8EN1QjT1nH+l\nsKhQq/Wz40KTlvdWgE6aNPbiMP2Sp/zrwD6Zixt7PflFFbnIZmTdtBiDQTG+\nqJ9fwxRnql1eJv8//OI1LKJF+WpJZxOCfKl1qa6QuM+5JsPas2QxcsRo0Qtu\n3k4MM3W3zsY66top2tVhgnNcKVNac0ebT4LPqzNAbl58Mewowd043tdgbwqJ\nbGwFsraiF0xk/DoZjX+mTV3u7cm2jGFRTEIgVzJdUyzC1zMC3BInYqx3kNbd\n6jsf\r\n=Mm//\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"ce778017c530860fc1f40f99b1a9bae48b77d441","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.88.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.36_1543469125912_0.21710712565172274","host":"s3://npm-registry-packages"}},"0.9.2-pre.37":{"name":"@adobe/helix-cli","version":"0.9.2-pre.37","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.37","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"58ddeb912243b418ab24fbe01d0a0329ff9aed19","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.37.tgz","fileCount":589,"integrity":"sha512-aRYm0FRnp8bDfhXnLshKIPxOwqp3J/uAa9lDc346w3vgfTi3Tf2mrXsLEbx7qJclxfrtrNdO8FxJ+cfURxqNow==","signatures":[{"sig":"MEUCIBct3PRGH1WFhoWlZnOTmCBwODMbW8N98Ak4GKxRETbgAiEAgiU2d9Ch5vV1s9Uoig/eZcy2HfcWvBbnDRMySb5Y7kg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3457573,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/5qKCRA9TVsSAnZWagAAO3EP/0VlH66PK6eyt8dF13yF\nBGe2gE7WeLVn565OPyqLgJ6fq63SaUIPpjWKPfzOeQ7I8ZSu8wvaetNqgZeb\neH0a5JZT4XkOXoC0wObcTtbKL6kpdnMl3TWvAjJTQ43MDcn6QxPKtbt6+cQ5\nYWETP05O2KMceK3816aaVyN6Krd0gBCkWG4vS0As5HZLYx9h3wvk18fcBiXR\ntmZkwIwUgPcQv1vDOAk0VYDBcLNL/04j/6x6XPnUBJ8KEYahMZ/EGknTgYZQ\nLukD9bsRh7gwpWNTScRFFMbR3uch+xJ5WspUI9Cflb3GrltwAuZU8yBwiBG+\nzUi7V7mHRqFgjnOFBO4s2GOL7sRvhNRX3LDvQ9xpSvBUhdjGgA4e2tDp1eht\nJi2efJmETrMzMhNcIhjZuSeacrn08EAW/0K3PH9kklV+yQazxAEShasT6Mvq\nFLNcuSk5HgeiI/XZpbyb+fQ/bcUosMl8fg5L2Z+iasIer0yqwsAy+Wq4ogWU\n2yu4RxGJTzHhFUG7UVO1gptW7HDtAmUzSWNs46APMnTULED7bXP/xIk+/MkM\njHVUs5DwDmvGpBCmOG9LfaqK+6RDTT5kCEicrsLPx26xOXwH+tSOGBr4VRgT\n3xUXPJaB+9fcDqKP8Id22umwhpPkGVpOUL8C+S1PvnRcRg1CAHE1Sx2mE+ju\nlfSt\r\n=blt+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --no-auto --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"8b3f0955889e92902c8e32bc98f7e45b79930bc6","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.37_1543477897650_0.9117699397492065","host":"s3://npm-registry-packages"}},"0.9.2-pre.38":{"name":"@adobe/helix-cli","version":"0.9.2-pre.38","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.38","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ed02b297e895bb159e6be42a6de8f837a15cc7f1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.38.tgz","fileCount":589,"integrity":"sha512-HaQvayvgIKTuCI4pRMuDN3i3E1SJIc9bdRbNEnOUXF6+kfXxoOt5QJQQkRXdCyYc2eqYqnlsNBaPIE1IdMuUVw==","signatures":[{"sig":"MEUCIHfDv1g33rje21NPglXBswayEjgbXetR3UvNE1oaj1LDAiEA5JmqUZxE3JyfHVvgkmi/VAg3LP+VIVfi1AJTZA5n/PM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3457512,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/61VCRA9TVsSAnZWagAAvNgP/3sfPPW8kGM+Fa7oJwWZ\nMBgwoFDJulEjyuIZ2/3Zm7nRMyr6GXyFQkQxsJxBh31atF9E4LtjJzjKIM4B\nkBiDKpnRmWZDbmV27yJejT0yP/KDiGf4GQP0MBcIfIuVSHKCgvYAG8EtKEld\nXZPz8nKeWoz06DPMirikaB2vgoIiu3BCTHG2JyeWJpjfha7HBH81LmyRNM6L\nUUy7K0OjeZRLqR+K8QYh65PrFAbRt+kiPxB1tZSNmqOm87ysxqpMdJ0W37lq\n/LuSwyp5b3yAMDOz2A98NXWKS7RH2G/mtFLIznLuG7ImTn9usWE43iHFmAqU\nmi4ogHz/OWh9L8jB6UWogFtzl58GfROe3ssQlEaMn3iLyIGo5v4PLE/i53F8\nZ97rtQpP9BAZxCYVdOUThyJn+J9haWyqjx0sN2ObLm17T/YTepuL+5roSq9d\ndN6vifVU9cpYmxfztBZc+yLnnx7xcwvtG7pPKWL12qgGG1u53XDhfSPiWa0e\ncf8coQ3giaN7Fj2ly9qgr3+rPGxqJ1pKOfdDDhuyPVNxNaUpKeLijETdjD35\ndEfutqctwMDpRiCb0NcHiOeejXmTjFvGRsXVG68R9IT+UitfCXGBafPYcIDh\nvATObjs6G7NFpXT2rQanDQGtpmIDzK1tpgSq6+sJQFEq95sW7h2SU8gE3Wzs\nmrSn\r\n=rrIM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n","gitHead":"904565e0e65dd5bb05cee6445da005c783e0d519","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.38_1543482708599_0.27277637662946286","host":"s3://npm-registry-packages"}},"0.9.2-pre.39":{"name":"@adobe/helix-cli","version":"0.9.2-pre.39","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.39","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"238e55d3bd0b21bc886a781f3ba824143a102600","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.39.tgz","fileCount":589,"integrity":"sha512-vu0zebrxifY2lAkQQph6w8qHqorDIFwk1+sQAgUbvBilBBYMkiVhJ2P00lvx/9YGASq1E4rWVlUxhl2OFPSQVA==","signatures":[{"sig":"MEYCIQCnKdUy6+Jj6oR04ONyiiowrDjgUetN8iq9bnbif/ytywIhAM7JcYe97M2QWIkNWniRzs+FEnKZTWwXlJfmA5WLUbOE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3457512,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/7UJCRA9TVsSAnZWagAABu4P/1vny76/xXCaB6/aJUF9\nS03fyGXsrFtHySwBoenxiaobIll23V26ZJz56Ckos16s5xZYunWu1uydGSXl\nV7b4JcjQtImZBD20k8ivMUtn49QKaHr57yNnL/mplggSlIC8WaXFjnmSs+FJ\n6pnBPV6m1h8ZA0XMsD5CqgrLloLqdoOY3KosSxbn6M7mQ1ghULcLucSiym4O\nVZtwprlkBeYeLOZcU3jY2GtZlUlxp+zf+352vggu1f3h0Xy7QJsk8HmvRCeZ\nwLtDIJCmIV6RxVpFUOqmZkPN2Q1jHpdl2p5RtupABQ7Eq7boOZXAcl7V4Sbk\nnEvZ0gWyetF+ZTUUMvaidXO0gDifv7sv3dsIIPqyR6n12Xywhncb5+aGMqYS\nNXBeaCKczuZDpwMWzlysGemyelz/pWsJxYlkaBX2qivArUJUnmExjC4hDJAX\nH3OwEEv40whBW+PaAfeGua2/MjNj/SrkNW5YdRVIyDkK4uVjFBXW7W7KQpUZ\nKdO7QVtcMZMrmYukXsVSdo/KfanCYQWWUwM7JbbCfoBwl5Ug2Mz0kItEL6CX\nDti9aTTwDp205FljqelrigBdHFETuoapyUZ6aZbSPFNbZ8LW2AqhFNkT1YTu\nd/8L8KtS2Y70htmc2KfAd4IN21UlHcDAk4HWjPlSXHkS9ehjXggMIOEbYZWY\nNLk8\r\n=ajVh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"dc03ed0f7841d4c58a176ae5c921b34e5a168e35","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.39_1543484680766_0.14630415419175047","host":"s3://npm-registry-packages"}},"0.9.2-pre.40":{"name":"@adobe/helix-cli","version":"0.9.2-pre.40","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.40","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2568992ed2b30c30a301d42c82e9590d520e310f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.40.tgz","fileCount":665,"integrity":"sha512-dz/eiGtUvCIDN5AmBRnLM2RUNgQ474QhbG656L1TesSxzkLf29+qCWHWHen+g2+s7RZ7PWJEjzKPJNo+gEgDsA==","signatures":[{"sig":"MEUCIFPPsVFyC9WXqvFI2EcBGauXskhGgdoaasPUUs7o4R+9AiEAmGuxd22OoxUm9VfIchUmZyIsCPqog1Xbs+gxSDE5lD4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3706589,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/7YvCRA9TVsSAnZWagAAarsP/j6IgO7nKzu+YoBF5fTW\nzfhrJ4jMhdqa3xN++eYvM22wR/OTtlXSYip4PvpFIxZlMBySxL8qpopK17NZ\nJEBcOaQ3o19xb0KmlpYaixdviVrE6NElSVCbqwO8VuX/nBk1Z/MCAMwBtfyF\nPJgrAYKRTA0vkFOazoO3GOUOadG5vL9jzkWMci34Echu9NmJQv2hjNw7zc1k\nY138KdXY/CrYA1NDGVHkJH63hpGhLzcZUnQiJfYD8sDVJ5a9XM0TfpQ4dQuw\n+TGGwKg7YFz4uJYbpV9ZrrntWkavtrZI1zCEfSie5qJ25ua9OIMDUKFOk+WO\n0CPnh7IBvRS4TobnMXestY2T0XxVdIruUiwfQ4GXOwQ1/Pi3Cbw+bWUYRDX3\nlqv0xCheQudO1RheDghdGMvgwgVjyRVRENBJWBQwkpva1bAoyU/DQ48Rg6nk\nfJOpZ85GaMv2qnH6k3Wm5YGlGZVQZHXWjc0nXA1OxDuAB6cqCPha7uitdwRe\nc1IcXcMDUjO3poAKiepdSsqcTw9PToen7Wb1Yu3uQ9h5jIu+dcCufKx9x6lz\nu+rTx5TiN8purhYpvxUPGgACS3woihELQl3UQKYW0OnA6JD95/5f+NiCUG6a\nCkXlhiqQstD1c35J4YqX9qqng1CoMddRqqazS+QDf7Yx6hCvIlvg/NleCj9d\nVH8/\r\n=n1Na\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"641f4462c52eba6823fd8d38e568de315da560c1","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^1.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.40_1543484974431_0.5216770758805118","host":"s3://npm-registry-packages"}},"0.9.2-pre.41":{"name":"@adobe/helix-cli","version":"0.9.2-pre.41","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.41","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c02e3d8cf180d32510f62bbb61554e4bb523fa7f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.41.tgz","fileCount":665,"integrity":"sha512-c1YTE7csetNqUZQwNmhGQsyLbe3cqt0jy8toz3beCAHyjYAe2VdI/vse4ftipnGXyDJxGBt0vNwyXuEGJEvX/A==","signatures":[{"sig":"MEUCIQCJ6yFU+QiC3D3mRNmDK8o/nMOTHLD3Mm7ZZchUAqI/PgIgDkni/jaeEhIWnUCPyTO9JXcgwe7zkKZMZTzP1XPDaVk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3707171,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcAKKYCRA9TVsSAnZWagAA26kQAKENAex+vzbYET4sqJYY\nVq2IZ2+3Sxro3rvoVpTWd8VaJGhVS/NFklXhKEYkcYzUTdwqcF1e1WgJ/MHA\neGcZNyQV9MSLwS1MrMdNLgqfeOT9UF8/Fn+vTik2xI+lDM2m27YNqAR8NKSo\n7BLumEbpYIaPEkn9WzxNPsTdyF9iSsVUfUoj468f5Qxqdz8vTVswzhBX/jX/\nnYS/B+nR5BSgOfqFPwp+RzHpW1yMXRUqXRs4VCL8CuwnPydQIGd89HpAFO3t\n6VEDlTBDsXoY2pyFm8KlZkZtZN30Yr9hO/uqXXuBT6Dy/5Rm8VRYYGr+qBIy\nWsrzs3S6HOMIF2nFvlgaDdV2xIK6t88PLvUdpM365rmc0n6wTxHNuRtOV9JX\n2WSkZ2RK9aFM44qQasWUM98nbvFQlODt8YioPtSeoRiUEHxffprntyl1H6r6\nVs+tlIkf5z2aGeRu8n6fv1hP04MyvhCHQKPJfhZulnu9JFyKqK/BQtq6MNQT\nj50ZKZv6wbIYOwQShQQ6XNDFTFLDEg++edvaltDzs9tH1F2UkEzhrptl1CEM\n/xxzhQfzJxrAE2id6If2sgfg87NUyNreKY3TANOFV2nne0pxbUB/xd7mB5kc\nWr9bPL2GuoQBb6Hu5QzUrYhYpAGzbh2E0wEuIcPbpNbZ3WtLTv4f7NiA7Fzg\n5n51\r\n=WhL7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"5c748c7cf312598677fc00a8f78280c36deb19da","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.41_1543545495687_0.4117157354448153","host":"s3://npm-registry-packages"}},"0.9.2-pre.42":{"name":"@adobe/helix-cli","version":"0.9.2-pre.42","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.42","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"523b0858779666ce693e97ec108cc05d2c42af38","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.42.tgz","fileCount":665,"integrity":"sha512-SZlr7H83BN9wKnQhBpdBuohEQdOWCpDhMyxPeYDxMbjYxg7vTMlB7QZqJFFW07BuOPfSaGxLO+u5f5N4RRlUTQ==","signatures":[{"sig":"MEUCIAcZD0S+YorIhSyE9lsrHKTDlAjBPoOqcN9d3EsTI91jAiEAzZNLItziMeAhGjA+Q+NC4LcXiEY4dfoSgACF/xRTMBA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3713860,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcATjUCRA9TVsSAnZWagAAaMwP/0Bs0oi2DPhZ+bptwZfj\nTMPYbmQPDwExGR9fz9lUlnnkLCkllB0NftWcO/T0PDoOMP94k10h2DEXEoCL\n77KVCswCGL94LT4UOJNoBHBj9ZCD3fsbEmYttcxvxp6AaJeF5My86uWiFr8R\nqQIIsUP3Bby2ZpS5g3XjKze91JMDH7/bss9dtBG2OqWQQi2DaGzH48ae70OB\n8X7B6niASWx/yyElVeNjSU4mvnZtV4J+oPDlepUOCLhH4eTgLOGk1Zqd7o9e\nFKbhMkidlDQ5AkflvQ5XCT5wPU2TgbY9QaYsW18BzwItVUbLZJDIJqBqy981\n8OtNjrTJqp0QdsnMFjuhDuMOv90/EOuWOnCtPUZxWJsRz1meGzvkiOCdomO2\nuvHoZQ6XrTOHisp677xKrMCulpPXMRnL4CLjcRkwtsv+8qbHz+ou9MEQxC7P\nVql66H3XK0lx2QzizJ5huDCL+elfc/cdqzznF+OMtzuUNlnT6IUHOcNkGxex\nis6gUtm83mv0hVfrqXj5jJG8jTB31VKryHL0irn0c1NMWsRm5hZmwmguobAH\nTTSTPkbba2CyQVyyt2ixV/yOd/HvCODFEVZL3D2usyKPW4RFfgLOMkppeySZ\n1U0fVihwbLvlLon9bwGoT4SIQnKeXekwtbfuG+jyBfitoIMq3MnpsC7caZPD\n4T04\r\n=KFXZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"7211843cdd45d25d7396fc15877eb43793e8c7b4","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.42_1543583955027_0.5283266357340812","host":"s3://npm-registry-packages"}},"0.9.2-pre.43":{"name":"@adobe/helix-cli","version":"0.9.2-pre.43","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.43","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a781ce3475170b022a847f3e5046b9e863be4e9d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.43.tgz","fileCount":665,"integrity":"sha512-Qd3fqWxyRwrWivmdIeRdVuw+Ckgn2viaV4ZmQUG0SpQbv7LgUedh3CDb2nnUOc/V2kCLBKPWjd7+8xkFU36Qnw==","signatures":[{"sig":"MEUCIQDynbkv4jSnbveOAN2Sizqk10IjZFZ07fQ9ByMNSLNcQwIgPTmvGHKDktqFW+2usQyZFpEzDsd7R+TRzncM+ElrS4M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3714031,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcATnDCRA9TVsSAnZWagAAzHUP/ij6a561KzJRkH9hNyaR\nlLUudZ8qrzu3B5H5SOB98TjouJWY8IybBYGbn+5oOkF14UrL78vhs47MvK9+\nkK42+oVo7x4hMemSmWFocWZT3MUJLjEd4zqXTu/G7Rc0UI3BJbdmTTzPyxU/\nVU0IlTQViKvPLou9KgrhqtLm0V9y+TvPoRtL/2u/mi18D+kvggcCVhaFg2C4\net8VDDYeeQKpq1lEV1K0Jm1KtoPHaP0gxmUHVs6lQmJYZSTf4zjhSHMcOoG1\ndL1pJLOg8ujwC+u6yxiKbjt6Ie3JDd+dGKasLOS7UOWk0SdUwJAns9rS7Ly0\nplEXGBm3z0xVDjiiUqFyXfECLHBtvf1Luge71wkfrcZ/ozpbZCO4dJiciM4T\nIU/pCR77rjfXjDrugnB1XrUJ2YW7mNvj3Aj3L4CogVknsReYeBSA8KhMGFPh\niUrXgKL/Porq2SZphbaRfH7CuMifIY2OBgZmWlfaXHynPY8yEb5sTISo3w5z\n31gcoYRa1+5dmJFoT63YU6FhJ2/j2adZQhv42fXFYeqy7unc+lDdjs7I1MFw\nHH+jp//6D9/cRXIJPNaQNX0OtgyDbZGvLt1KTk+v7yKZ6q6i46wd5hRXc5Tq\ngVTD1b5QNDYcodRwGfILcZhCqghxEwhMIb+/cRSFVtlUeK6bs55zNGRPMFwz\nhpLL\r\n=PGwP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"a3281321dfb6b84eaf7bbc0d49f00b4e7b85725f","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.0.5","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.43_1543584195052_0.8268265981611123","host":"s3://npm-registry-packages"}},"0.9.2-pre.44":{"name":"@adobe/helix-cli","version":"0.9.2-pre.44","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.44","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2f6878f73e4b42682ed661955d9681a0703ced83","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.44.tgz","fileCount":665,"integrity":"sha512-QXYd/3dcjPBIgGU38v71r65iNxfiHdhCVHSv68Q6oeRBf+9r7evbr2tc89CrzdjBF9W94Ta0JjQ4cHrwKiTvjQ==","signatures":[{"sig":"MEQCIAOHvnQ0Xru6FWryZuZADrP9j9N7lfzlePmiDKupOayLAiAOh6BJ6xmA57xI7rUu6H7nBYwHXDen5GYVq7kCsPYhFg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3714091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCnEnCRA9TVsSAnZWagAAuXAP/1FPIEz8Wy8tE+A5KVa0\nAwyXtQFfJNKeZwkS1XU06i2VFRy3Rl0QMKdoeVG1WHvjyTrn+35/f1KvkG+Z\nkZLPtL48baa5uVgmnNczdnc34CEUbpYdmz+kz/eKiT85d6Ac9scskwT4UOcf\ndQI4YKJ2j7sIxfA2XAt7oa3ATT1u7Dg+vfoL6hYAxCDgWnB231xsoQTY4+n/\nLxPhwL3t4yBbpX3glLV7SMe1S7LVd+wC674XXcAQTtAklTQrw4D1WwcNuZNN\nEuFlsXjFbhH3NQDCUmjYaKJismjCqdRPtFnuIeasJxB0pG1lrCDN2ew4GjCK\nI7t7ak0W6Tmi0KdF9IxgXJv8lzgtMC00IQ2bUUv7dUzTwv6v04ikOuZBmfBd\nlaO7rNVB6JhYMonpHaLL2RxOo1/1X0UpoRuy9R2DR1racUQyPy9oDWbL//69\nrhXrE7QyjwhuraJ4trZ8po1DcOq6+eNUa+lPfb2mqa01XlcRqbv/iSHPRAaQ\nLQ6fuW8NWf3Kph7fIwLOaCt8QnQHFUfUH03lS/wGI5BUH4+W2pNUzPgXdtYF\nc+Ct436HvPzml1EIsl9eLRVshkzidL3QDfw5VcfxmZPprBuEOH0YfAMHrV+O\nXDMcWmgRR/5p+D7ijRLij8qHoF0BCoIik63kDOKB74UqrFhogsWEPMGUWTK9\nC174\r\n=hZa1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"db6c8991c2c9b9d06f0bede77e51dcea439e603b","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.44_1544188199125_0.9429478812137535","host":"s3://npm-registry-packages"}},"0.9.2-pre.45":{"name":"@adobe/helix-cli","version":"0.9.2-pre.45","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.45","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"24de4efe157670ec1f0358e8646d41d6a7ad22a5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.45.tgz","fileCount":667,"integrity":"sha512-DQbKVs1nYS1+Vw+eetiDrZzYcwDGxx4RpVab96wdG7XH8UCFn3sIM0uuKct76MG5Le7Z0QMa39THuYI7Ht5tYQ==","signatures":[{"sig":"MEUCIQC9MretucY/n+rHWhniMnCO9rRlIxLKi5vrAy6L/W8HzQIgGGNntwfXnMCHZmWaCWJnHtWeZUtpJ6ULAM+F+AjOULU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3730208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCnMECRA9TVsSAnZWagAAL3QP/jGBDsVEprTQ42YgI1Pe\nOHJXA9bQfcPzvZ1jsTKv+Ec2fgFCb9x3T4SWA3OzOT3D+9AAq16Ie7dKUZ0R\n86+A2vglgVcWrFP+My7/eE1+DwQMozK7TK3iowiEIS7v123twpeVHEVQZgga\njmRPyCOImDesObBWoAorYWV5zl+pJeNgx5xar2w/jPrvExIMiWX7pQx38c3Q\nR20IzouxkZO/HVoPjzLIsr+LwLKuXhXnBc7eNUkjoHK2yAxAuZ234m0c74CH\n3AnoGpIvESoham13u/8grKwUR3jNXKiRDhHNbYOjQNZtrUT1deDyhY/If14u\ngDZ1dTp6P/35EQC7wO9CPpdXR9fMJQgXHVjAt5E1BZYnuhZb6+da9LXg2afF\nZ//5whVREamf77N//i/ywKi8x8ILBqDslJZ+gh7MSZO565Dgtf9UJSTwUXV3\nXc0Ej4cny3nDic6/ecPtvK7q5C+AUyx3pvCg3kychYvl3L75wuWhjo7JLbRO\nUI1cdmzL1Q8pGbSGPLNO8ZWCiXuh8Nk+1EwEt0zfZVTp8U5IWyskMGa9xjvj\nbP7lkLz0o2xecGr4PodS/vNYWzTFnV5qD5EFPlscJ0UBXZBn6/U7WQLGaehL\nGMxnKrocI6HhC/3GQJQaWh3PJetdafgzlz7I7YgbtAhsaTeHRN9WUPJ53TqG\nO/Jq\r\n=c6zG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"12c117d047dda8f97ba66c7d8a0f45e7e20ec7eb","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.45_1544188676118_0.8673215163671357","host":"s3://npm-registry-packages"}},"0.9.2-pre.46":{"name":"@adobe/helix-cli","version":"0.9.2-pre.46","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.9.2-pre.46","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"73ad759dfe118962b5497d7831e76535c7a0ee68","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.9.2-pre.46.tgz","fileCount":667,"integrity":"sha512-936Qn5opY0YHub1J19lpDUqC70QFPEI4eoWAoVXYiyB+fkO6Xby2Rt2xudt6ioM92PGII6KQvpU3kTECI6iTXw==","signatures":[{"sig":"MEYCIQDWzwX6sXT8VzFQ3i3oap1XMXvnJ3nAY86YxkwCPQ7q+QIhAIYj6M3fXDK1PEHBROClmWTdAIVRrNt78GgnKaZyP3Fu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3730209,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCpg5CRA9TVsSAnZWagAAmS0P/25Zpe4YaBLLflzBj/HM\nIUUczlj2p4GGtP3pn+ecBq1NMh93yGpWqytRrw77G2sLyuz6GvYWkfyUjya9\naEfbtFO69Hin9+v3PwfooZh6zcigXa7bSFT8oRGqLX2izGKxlqdUV/NnOE7Z\naib8huh3Z5TKbtt9EgqF5TnU815iuDhxrhOhW01X1kc8oTsjkZi0+aPi6p/K\nLHu87QcOQHBYZuSgra+o6L7MlWmmTjcmGN1fP/VeY+m+0/a15stOttnotLAq\n2xCSxuD357II8sPmBWqnKo02a94eVyRYV/7jUtZ4qupER3wsCaQgAfkt3NJP\nuCtxp32aJDANO1gDB8Rj5S48Mv2tSrIkdh3b6q0HCwi1hRJkFQInL5H4ojOT\nUrzkxFz6JlFSASCTKAmw9xU4Rp5jRTzoMxSjoqi5sotfYU90pQ7t0TicKf91\npxiGiyhCl1bu/DgqlFIq2kyA+HrIef7W/7gp3cfAnaOco0YGsifhXGAfY97I\n+RBKwBleUKbHvucpS5H4kIV2nHECWCx3m2VzF7Z9SEHCj0QkO2D7ke0M4bDN\ny3cOvqxfzq/9m7jryMZKmN/V6rV185LwXX+zxzuUc9iR0In/P81wy9dhKNXq\n9djhPn7Kq56nLbGujADn2+3aia6VxZXSBi6QQvhZCQdAMaPC1uhhfv8L1Esg\nRn81\r\n=8yrk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"de3b22e50657bd6078f36646aa6bc19b73e0eebd","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.9.2-pre.46_1544198200539_0.989977488259387","host":"s3://npm-registry-packages"}},"0.10.0":{"name":"@adobe/helix-cli","version":"0.10.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b6bb29f8b75823ae2d7b5e8cc1770864dbd7ae39","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.0.tgz","fileCount":1193,"integrity":"sha512-z5ORFOZGyrcX84grx7shEQKD5+cuH31FekOUILzvoDVx4yVeO1d534YVClwgUMk0fPHc42sJp7HU2AYQczWc7w==","signatures":[{"sig":"MEUCIA5ks/xSLXPFSAQbfqlksr+LThdWLAGM93r/icI6SXt3AiEA10WRhswD4qEwk/QT8VdHkHdEwJCt+Ctwo2dC/UWCpTw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9796770,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCp6FCRA9TVsSAnZWagAAk0UP/1eg3U/zyMwQvDXrcVgm\nv2GQJzv1NzGhnvPgUTvoSgrEnFA7Jq1zs274TBsVsSfHAcqf85efrH+ils/G\ny8eaXFvlB0fZI8kAon10dKw4esU34e4ur23q0k8jSc0II4XR38aYg0A5kjZJ\n9L9cuzAKlbuD0v4NXyq0AhO1VEQG6Kp/MhKwhR6xTkXjFHjFkooZ2cKZ0wwU\n2xpFM56QytP5u28hVmXNW53WTImm92lGf+5DtaQCt+Usxa1hcfCueTiZe0OD\nOU59SI2CO1aip1sjg1uWWMGAAY0P/ZS4NpBIwslwGUXxqAC+1njUeQcAmeK0\nfkKz6tClSeY04YtB6Mlw4k6mFZmyLvwYJ5ubj5mGJI/CW3q6eeu8iWWz61/Q\nFMAfi9cvxChnnDENoab1PfETyxFySPd6rwoqlykoIhJcjDXte8RSx3U5l0GE\nEq0Z0PIk/u+5In0aHGZjy8QLqZAIIsaH7JDkYzXIT25JJneXvYMKwx5MfNju\nttUMy0ySFISsiRs6W2q5Nj8nT/9z8fxfy8KYwysH67+Wr8mRTrp7QoIZ5Np3\nlxUIl/VNfAefbk4kzU4x6t6Sdpl5q6MjrzGEwk426iECClUf8Cv3eRwW0l1l\nlmMsHeI8Mp3H4n55HSk/Nv/laZuFf8u3JxnJqbkMK4kK+vDIB+NO44EkdsYp\nhgz0\r\n=kNAd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"d0913df8cc83d5f394847f74a707f6bacaebc6fd","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.0_1544199812022_0.07910324810499225","host":"s3://npm-registry-packages"}},"0.10.1-pre.0":{"name":"@adobe/helix-cli","version":"0.10.1-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.1-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"daba4ebaa1b713ff6c3942b8ac262556e5b212fb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.1-pre.0.tgz","fileCount":667,"integrity":"sha512-uG2r7OzHO+ga/IE6Jbu+Y6LINyg2CpjLRdxDfiq4kW/jJD6YpKSgQA7mMCYvhSd3RO/pvCpQmsVoiOqzwfHppw==","signatures":[{"sig":"MEUCICYoEhLM9aSKuyQK9fjVwWmji+nzDQXMBIQcIEh6lHHtAiEA6J6ge+vD72LbIgVma0nkB5VNDaEQwUfOsc4k9b5nwYU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3730196,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCp6dCRA9TVsSAnZWagAAZqAQAIrhAtt/IM1JST+OiQDF\n/X3Ia7W8cyX5HLv1MTPaq3F2bP3LTaPEE/sBI9E8swyMT1+pGGJopwYyYkI1\nImg2xDJBqpMKUyg9LrpX5NIM3Uio/qitvdUFg68Y+fu/MbE3mBkFRvvcnFey\n7gkp0l9gilFT6AfAJ7I+y4Y6VVumOkSjcsVowVZx21NiMALPW7Y68+2di5tr\nAZrUuFgiiPDKMuuEGIJIb/0fsny7XcfijkasxCfFXlHGUP3TnNa71CCoHc85\n3YHOqjj9cWqYgex2GNCFjxU1VbOgiT2IHPqtWkOKfEttCV11VNguV/hoCxWJ\nVMhFmsCgo67HBKtyRDiWZSMDfznQY5YEH/w4SdzFz15o7ArnNfOpMbG3czhs\nJ+curMbYP00u535DIk7N9sbu2jnTtA09rUyzEb1qXemxSeMxyG2NhLKydlRy\nhH5eM5fBKcGUofYgphZ9bIDaJVWgsW/ZtFkUjVniOpUvCwUxrAV/CLo9iP8o\nloEYrXX4WyZH/SrEZCeRxkRIwWeSPJpdl0iMXp2kws/K3aXLFn3fvaH2d8uH\n0lzOObgSiXADLf5IpRhVjeAf5HwgyMfuWv0C755cLBnqlwo1DK92j+Cw05Wa\nK+2VDnZ/suaFSrV7ZZLZIj7TIjjm2/M/FqxyjVAb2ZjoZ9av9B1DEUTu1tJD\ny4p2\r\n=IPqk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"4f8f8b3aae7d9fcf4ac4e9512a4cc19096706870","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.1-pre.0_1544199836792_0.7847997881242139","host":"s3://npm-registry-packages"}},"0.10.1-pre.1":{"name":"@adobe/helix-cli","version":"0.10.1-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.1-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"431a05ce6428113282a6a51ffba71f0c613b65e8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.1-pre.1.tgz","fileCount":667,"integrity":"sha512-ioL9bU+kbVSpYA+5It7eE0zX8Psisk2DlsTj4b4PQdfZz4sFnu2dCfROiV81gxHgcDYGJSzyJjc4zfCePDfqAg==","signatures":[{"sig":"MEUCIGVHoaMv7ralAcjSC5E1nKv/YdZwbf5MPrWSMzTqm8gQAiEA5BcmXlLnhqrUTNf8lqBEiNcomW2CyLiJ0/jjT0yqmX0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3730489,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcDwsFCRA9TVsSAnZWagAAjyAP/R9PFq62HmHsqjHQTUoU\nBnqq4+Gp//Uqa4nY2hlslPeyLB2+BbeZOjvSMPb8SEAsi1cecTQTmzuCnh5m\nWWnSqSU31RNxzDBvQ/5o2WEfTSIm4y90+iFI8RNNOaYjIAOK0YD54/1eVdjZ\nz7ezdt6i51Qu5J6buj3rAOXQQ/X4gz7QBhaEhRQGyDAbX1Yr9tSut7Q+nh5s\nJKu97BJI5zYhvHS8JzBwl3n9/gfDDv9Lak6or7VpEBykZX94AM5FqdAvkijX\nZC0WFdilRYem9i9x5epCIsfdtSfQpjEVD1KaKqODuTU3VqRUVsf8GlKGZK+f\nYHeGyHggIRv54KPy0DsvdsuxIWzkJGm99J/zxZXSjlaNMKlNJWtt2yPDW+sJ\npSjZQgKNv2ETE9TNtcXCUzGSsahme8uzsxcwQYp5LnNr/38ZWye1HpvfxtOv\nX48EvAIIqelJ19BCbnFJ2LaQZop4n8L+ODEkxR/TFXTqkWIGkyVYjPiJ4me3\nSCu7w9jhHQnpT4X1zV7vGpgttyKRoaWA3i5t+LYMO37REJJ7bXiEex8HMBei\nBd9j0OgcAcXEs4uERvJUoovCIAyXhpjxvMDjzeHjzjfirbb0cL1PQhgmnlvA\nppIotsHt6AYB7xdmdlA7idPf2IR9UnDTeu474gfaMtLgLN8FyjERLk8HkOnS\nzzMH\r\n=AP0z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"88b80170d9500f94d937fd8e866bc40cf4d2717a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.1-pre.1_1544489732433_0.520565129841448","host":"s3://npm-registry-packages"}},"0.10.1-pre.2":{"name":"@adobe/helix-cli","version":"0.10.1-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.1-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"222f4fc858d5fb3f5c5222e9b96296a421ab983e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.1-pre.2.tgz","fileCount":667,"integrity":"sha512-hq59VDOC9Zl9wxJC2XEDd1MN/on8k77kbYOIhu/RG2EqFjfgkK+DGQtK1ccekoJuk9Bi7rixqFUU2rldl7t4ZA==","signatures":[{"sig":"MEYCIQD8reRzLJQvQlZpu96H8LRNcpgz0Lt8+X7UPRnIe87bnAIhAKQLJqVSS4mAFt1eVfOtf6AtyeCYgMXYxCxqJeT7P+cT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3730643,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcD/+sCRA9TVsSAnZWagAAkiAP/0kH2WQogRFVJlWwutmW\nyzQYOSWK8GdS4z9R/pgfkxUlxPS0knt2c7sh3VJtqI0YVdVax/C0GZE6fFoC\nIkqONUdCGH8IZc1b8A08UcASfyBGATOgNR7iUY7Bf0l3qPop8DhDm4vzkpEZ\nEAekH8BfTvTprhKcE7mmFYV2dzRSiAsVn6RKTiePhyqqYzBHV13hExrIlERp\nLaTnay44qSh2ZjryqzIhFIyVHBorSsF2DIcsRYeqPX/ghVQF5AOBjc5hkScp\n4+rKxWui3CF/lrwo27iN75IaD5fvsjUOXYRa6+vyV/g5raM3hmC9vPtW4vUN\nupmIvQ1liWeghIEqBsHV1vz2b0WHDbsFKpZwOsVIUQ6nquNo7VlrKk4pwWkp\nERalaf+/+uLgcA3H83t5wU1CWZo3ZeD0lkoAj1NkkRMEgtDQgN88grYq36yO\nT0TdRuWrtr2SLl7r/P656t5iUCM3wvZ3Zl2stCPy2tLxM3Vw7mIbfi1JUaq8\n4O8uBCG9xdSgOzPDa4ggikozj3RN+O2cHPv+iIgqphcL9hPBn7ads14GcRcy\nbKO2ieEF7uW1KOFmIQTX25JbmftRrEny48v/pMMVnK2gtbG1pyNyM5IFqCjK\n6WiZy3HsJBEGN8uvWZH9xszOboEcQaz7mQy1sWWN73F7C0FjlklnaK6trfDo\ngJSk\r\n=vwGX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"af57af30e3d270b16f981ef55ad7b845bcc65abe","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","segfault-handler":"^1.0.1","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.1-pre.2_1544552363987_0.8310195773267519","host":"s3://npm-registry-packages"}},"0.10.1-pre.3":{"name":"@adobe/helix-cli","version":"0.10.1-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.1-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2f653f7a88e6f4df3454b6278ca17f0b7957bbd1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.1-pre.3.tgz","fileCount":667,"integrity":"sha512-kLIi+kCMn0pEplXesmzXah/zshUkOGqWDPmxyftvstCEEyI8BkG8UNDnLo1hxC9T5XfGv2FaZwmHyQzPGUKCjQ==","signatures":[{"sig":"MEUCIQCAzUvfE5aFnHQYt3ZV9/6HRR4GLpTsMivgyy88dCSK3wIgLErn/c3YHJu93ofVlqg9Zfr/oTDnBn3E63/fyI/AbtY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3730646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEAE0CRA9TVsSAnZWagAAh8kQAKCufJWsxZ9KagjMPPvu\nhL/yLLqqbNba6XsokdQhVMknYbCEAevTaHGpBXzk93GoSVKfIVC3yavTmUON\nnnH98ZlWQT2ni5MfY/L+/fKNuDgV+j9IcsiUWxfSNnYf/nKR2YoGlnF30E5f\niBH7MK+fAezFAjyS/dbcuqCmgif9h6Jmq0sYIsqkzieqqRfJYei0igeC7dqn\nz8Kj6+mKY64HuDoyE7N7Tu5w9aaleAiiGBsIlaIR3SNtgVPnKG+9MBRg8rzd\nKQ7euWTAiPXbd+YexSS/D1QMb+TjGEvz/7Q2FIRaFFPnCz6wgLdMLIgvW5kC\n/4v5I9laQkGEvqyTinIwYnoyBKI/f3Su5ewcmo5E5ocHVEyxLQDCKx2A0GFZ\nFzZ8rGAS1XnZTcXxaGJfI19oGc9VbitqCZ6XNJS64Ip44gUXxJbq/dUpX2s4\nhIzHje/pH0uixJ4G1v4am3IwbyJljN2T5GvGnevcjYD2Ni0MSf35OH2p8KBp\nRjlPxEn9JtYGY0L91DdTPjRtBLEyM708fcog5viqNG8K7RAr1vCaLeZCo/JS\nlGo4auvlrL0JcEgeDzODUr70rZSDnwVeS+FrGm6S7MZjzKpMtd4pLUU9XAnF\nRj16w6kodrDZPX/sZyGVdw4l8dnyfTbt1kIc9CE4qELIDAlB2yDgVQcOhib2\n3/SR\r\n=WcQh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"1d25e3043f4fad2fd826816883518d98af3b35b2","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","segfault-handler":"^1.0.1","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.1-pre.3_1544552755837_0.11662225744944066","host":"s3://npm-registry-packages"}},"0.10.3-pre.0":{"name":"@adobe/helix-cli","version":"0.10.3-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.3-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"65c0a4e875019147fa3cf3907af3f359a24aca91","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.3-pre.0.tgz","fileCount":667,"integrity":"sha512-l1AaUjiml9WdQX7ocVQnxODfbOH/egMmbw7/DCDHUb1PqjUdQvU+yqL0I4w4oEXSB7Vn7ACvPolmc9HoahXHog==","signatures":[{"sig":"MEUCIDxOXWgLyV1XXWUW4zAKIci4nXpuIs9CIyLBJxZeWv7LAiEA1mb/e014RrRm2VrmhIIe0wT1G8JZJ7DJgb3b561p3M4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3730635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEAQiCRA9TVsSAnZWagAAOlsP/iiQwtTOAEfNOskZ+dv2\nTl4A217K6ds/m8kcUj0fWvplXiID/bcDQCPW//9HVWa46sKU8fgkQWRUJf7P\nHyiZvbNaHxG1mo0CeQvrCw6aO6tk74NJc6cRX3PmVKZ1xA6QcabV24uqPRBc\ni+oL+4ezTeoxDzKajvrIMsoZ/dz+W0T4tFhP6pvsZAscDGTG2/uVZ1ibptff\nprQ7GVoQ3tH3uwfog/cEQDP+cNkIN1Fr9lNcnYP1BkVWraYdylYbgkMxTGmp\nLWO6TgOvgkVmqmbtWuuspSkWVczquYVpOfz4aSU5jViz3Q1nBxsv/7Wuepbm\nG4VP9F7YuKKScU0YzdKp0w7k1AMK0OmA1eQt5KMfzbJuiQ1kjK+IVHhLJk4f\n602zepsxJIgxLMOZVruCXY2BB/RjADVa/3WpZspmnv3jVTYa57fymVBOgE1t\n+u1SPlnRQry4nhXWXpQs9qRcllTzrmj3leE4bJmzyuynvImgkk6KIIsNIYGy\nvonkfd+ydcTVcnNwyHMeg0f9V5JdUSFI/NUZ7LnzY39h0qFmrSfvTEmfwGsj\nQEzOyrmgAB07R6JEcZWQRQdQQm6nUC1YouCgx37lYmJDpsCT9/NB1W95V2+c\nt40r64lN8TpfkcpnXhiWt4Qv+taZth+2sBh4p+HcjIdm65/vFZ/5f79xtYtD\nxhrF\r\n=IQN2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"6a40f90fb6eea1e75216081174a52b3e8ab1d5a1","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","segfault-handler":"^1.0.1","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.3-pre.0_1544553505111_0.6247016608682807","host":"s3://npm-registry-packages"}},"0.10.2":{"name":"@adobe/helix-cli","version":"0.10.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"03de5d0f8b0957ea9de5eeeee4698dd59b30028b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.2.tgz","fileCount":6390,"integrity":"sha512-Vf6P/Ibv0ITEnkfIzBgwV4XPvr8E2usB1mPIoQMIqh44w6cyI5SpTbwmjv3WWK7Rrc4S7coLxv2Ms3taTxwypw==","signatures":[{"sig":"MEQCIHRTIMCv4C0NyvWgqurL5JR8VtQ00TYf2pLWUIZoMFeQAiB33Fic2xsJeGjiiNHX7rvI6UZ8iFjNk5QC29OHieObig==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70443620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEAdBCRA9TVsSAnZWagAAJnwP/3XY0pCp+lB6ijbZPMzu\nAqVYKhmY+g+szQsar5Vc1t/vUa29txVwfMm4RVEX7ZbS7Sz8Rf81J+W/70ev\neAlVTmqltmJC99IIyt8wSpesuUiRvp3v3HEtXPh4QCqryTpZ/RxNfKGPbEMo\nYUnfQbcgJr8zCyGiOJc2sBHHLQCBpvhUOCrp+JeBnRRTP+NNQqqXLxtfu7NB\nxiqscVKQEv8oa6jzfZ7iFpsPfFY9dgTxhm5nI2bRJJ/EybS/cpUwGJDGwStF\nknyID6GWd1eMRsJpNBXNM+tW3+IzlvNwwMrqfPtMZclNklyHTkrPMmbSEpTL\nsv891R7CEPxjUpMo1xQc1sk59sQvYFgGoE/ngsfm2QBQ9D2jnVyxxjdImZxJ\ndC2xznYw5qx6E4uhq5wRQ4OUdJeyrAX8aUOqcWVdtNR9iIYBdv3BL+Ccj0oc\n8aq9fHvB3UHlraqB8Bxbal5rVG2Fqb+WVv0XGQsg9Bth/t9EiXBDkFZQ7Emp\nHyAov5OP0OGwrWAKPxJDTbNydwpH+H2qVQsEVqU3PfZcm2RSwT7GpzMn+mI4\nrPfAaD2YUpXJ9TJiim6lyFIB/oWLuzTJOJ7fsJDxx51rg0AaDbiQa/8JKPh2\nX/9q3TYRygBZgL4ERORX7UZthhRfAEH8oUwb4wMTAKTlgT2o46PEGqdWzITe\nVfGV\r\n=gmva\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"c82d5bf2df0fc9485873a355d4989738c9ba0ca1","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","segfault-handler":"^1.0.1","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.0","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.2_1544554304076_0.7202469177396065","host":"s3://npm-registry-packages"}},"0.10.3-pre.1":{"name":"@adobe/helix-cli","version":"0.10.3-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.3-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"544349fe7423b2201aa14ac1b0f117a05cd294aa","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.3-pre.1.tgz","fileCount":667,"integrity":"sha512-FSPW4O+MC/zQV1Vgj6ikh7a4S0LKSZoPUf0NRyGr8cf0zOv0N3Nw6rI3nkCg88Fq/mbAcelQx3iklEUbsfxVow==","signatures":[{"sig":"MEUCIQDFPfRpnYe2v7Sor+6LW2QcRqbEtMp0FfFpHADbcqxsBwIgV7b4cwWAPVEeGQeTWVaAG4wgQQlz6VfbAgVXROcdZa0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3730617,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEEBYCRA9TVsSAnZWagAAiaEQAKEQjbRRKfHnAXc2c6d9\ny1miUkIO68KUoCk5XRzuBGNWqLXl6IYIWFMb6d2mcYUS+1Fdf9BBusKZctOE\n1YBiopDUj7qpbXJOpxMKJF+gpH80JNm5jh23J9uvl5PhFpO0KHuznGP+emj5\nkT/Gi22eXX5Q0uFXqDzimbRS97GvWiR5klC1mKAnHKuJqD3OvIxbqbRE2VLO\nR18nJllfRSZdQjroVFDBtY7wKfOpPe7jkJDTWodUQzsQOw3Ob02XFtbTSyVY\n8V2E+t2Ql0O6+OOGLgKdSZqI2cBuB/ed6rQIgLuvnDDD4xsRVD4IdGxnRffG\nODzCb2eVbu52QXFFCOMc6kHm5B5r5eNjvFzDfgD64ChiohYeyQXQWelPCK+g\nk/hfBJ4JajzijW2TdXj0tdxp6ZyXr/A8AhLR7VZq3RonoTMJ+JdzDLf3ngVi\ng6Ep4XeEHlAEwRMq2H51QFJo1ARILkiopJXao8zL5ZnmBiDtpAOBh4mU3Azk\n30b3n0TFmAVt5Lk+RF5/cZ615/eXeS1baZD0tdYE2+6yPGwHFAT+sLw+OYgd\nLELKNR1mBs+SbrRcDaRIx006V0eG6m1c4S5P8q+DIkt3nnUf3SBCmbfR8W1J\nIhhe2+9gpX6kiuQGgCJUvqTZrUWOEzLLOt6cgrykcmIkLJ6YPLR8Ql6Sh+DS\nvu62\r\n=wn4o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"0d4701b10834450315882e1f2d75a45b38224925","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","segfault-handler":"^1.0.1","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.3-pre.1_1544568919249_0.5945182105947295","host":"s3://npm-registry-packages"}},"0.10.3-pre.2":{"name":"@adobe/helix-cli","version":"0.10.3-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.3-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bee7c5100675cf5a67dccbcbc040cb1d6b1b6a7d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.3-pre.2.tgz","fileCount":667,"integrity":"sha512-xd6mU920IToExNLez0RShwWDvQBSE8T2hham+ZdG4NmQNbYVKu5nAVQeU/eLPw89JyRbDFgr5rq+akfQuHTk3A==","signatures":[{"sig":"MEQCIAXpCSgADwOkYZQYr/6MVlgSirfnpkBzeFKdF8m4jouHAiBO7uqD2tax7GG8mjYHHljS0bFQphxg6Wk5RcplFufg0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3730632,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEEccCRA9TVsSAnZWagAAgLQP/3sW/B8igfsfasCqFWao\nSt4w05pLro8AWEUSj08Rmua74t8JRxknHd4FH9W9mGrTbPx7GvVbl6l/4Qbw\n62BpttVN84NRoFPtZP558pq18szBVCffMagylEMP4Dsh59glfrDg8AI55yEb\nBEmtH5isCc7HgoK54cWDownI5gZTSH5CIN7DPO6+4Y9fezn51rsUQdgBHB2k\nmHj5LwwxR7wYGDdUCiy6WabiFZuq8mlaedFUsjfyyjLVuOH8bOt0y23CzukI\npUbhHyveKpoqey0mJJaaUL/oqvqOE2XOUjjarz4LBgUaQ43viiNQquLFkUsj\njxSeP9iq/c0NcmA6MoGsviYEQA88wAgVghEWXmQnMeqyweBoMtJq+FlMF3zo\nsFWQVL05H1B1D1h357wDfUT5Z1cL9PEyzOEIO7C+hyZgtrH+c6ROhg8WdQK3\nrVU/YZsIjyxO9YLXg7z4afUa2c5zxH4TpECyqEcv/3E6Qn4xnbj63IhAUet9\nL4b70XMTapEfxbuqgsdDEIGwMUBRaCnbdXCGTL+WFlOzf3zVV84HQCLOu2Px\neX1ea84UcBCXFIjaLaRB0kXkplh/I+4rYB7o2lir3Ju29gYN0YDec0XnAJOh\nK7rQ4OoH+Xx2DFmaSdVeX+oXtr58c6+GLsVJbf8J1dfXysGjoM2fHXZzktvT\nQ5/X\r\n=AN/k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"84f24791e10b5de41cfafa38cf84affe418ad5ba","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","segfault-handler":"^1.0.1","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.3-pre.2_1544570651922_0.808707704322583","host":"s3://npm-registry-packages"}},"0.10.5-pre.0":{"name":"@adobe/helix-cli","version":"0.10.5-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.5-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d6171326f25266449729e162b88b77711499e38d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.5-pre.0.tgz","fileCount":667,"integrity":"sha512-RdoXS0po0b8aiwv4LFU9/bxQGooTcqd8dPv7HunOHOYlfzMGDvy7o2ycowOWdoK2C+OxlEUXltd1GrobkpbZRw==","signatures":[{"sig":"MEUCIFgV5n3ypWw39k1ukAtZ9hyAo8euKQrVyFwyl6EWwLUPAiEAnVth8zG7mMOKkUkOn2wN5ESXjdn2D9hYz0a8HmWkRqA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3730621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEEisCRA9TVsSAnZWagAAkr0QAJABFom4XzisnLDSKHw3\n47L6HS9E7/epG6RD+xdicqlcdSYgUNbVctoKpZfAf8sfsg7sLFzrrSEEhLbM\npbHMPPmG3QNDw5Xl80Ag84R6MlC6XnL94USokfqBMNMFIGJolCgL6F3577Pr\ng9/x50R0Ofm3Y3JnUncJz0BsF2WQHgW1LYb+dZ8bjUYBJKXYaXQWEGV6lTEv\n1UJUdTbmXZIaa6YumDDQWsnocz6686E8ACqSye79mQQ3l65DcRaIMXl35g9F\neZKQOmMEsnR24vdW5ZU8L4F8878rK7p9YfQD6qw3AjQyL9IuMqvHbCug8v7M\nwpyvaiDXhNlRdChGsCetw2AFp8Sh+a/3842X6w9pnv1RxGtBAh6ZpM6tn0K2\nCPaN4UvwJFpNJj+0c7ufhVMJpP9y1qQYi41/CYhbrnHXwLiCuTh85mwVmX3R\nKHeEJLez+ZQC3wLfJIqvQPs4MFASRBClj0PGx1wHDvGB9wC9jbd3zR3TkcrJ\n5I3ASRkIgPHdt7ZOpImNV9cxBV7GG8mmHNoEZzLMU5zOWWy4eKXsahWXAL0K\nJ9Nc0Aq/wNBExqE6AhNcL/H07jhN3KBN9qvA/RtbVsEvrKjV3Eqr5/oNeXdO\ndw4OC68sbAJtsy0/LA63/axRI2SAgFbG60ibul2+nT5DGPnvOjXcclX/iP0a\nwtOP\r\n=4+8B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"3bcebf0da8c2aaf46b8c373952b03b6b203bcdb6","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","segfault-handler":"^1.0.1","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.5-pre.0_1544571051496_0.9233090701487714","host":"s3://npm-registry-packages"}},"0.10.4":{"name":"@adobe/helix-cli","version":"0.10.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b54f5c616e7653a8712e7d3079d9c3ce352a8f40","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.4.tgz","fileCount":6587,"integrity":"sha512-gAkZOcE3i64+0rGHN5LvglHd7Hv8JbJdFnXDhVrd0NR2NfTpGJCKv9Bf6jlzwr6EuRXTTSeVU9N81ff+zPjyWQ==","signatures":[{"sig":"MEYCIQDgW+Mtxnn+Mh8W9J0qK6cEG+2zMUXw0IiESzr6Kz70qQIhAL/7w6qSjgPBqjJcCYoBEafE/BB04HgS1w1yUs119Hxg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72599685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEEkRCRA9TVsSAnZWagAASpQP/0X1NEEGZhuEAzTGUtXo\n03cOi9+3bQIQ4CjdQJ4lH/JCN9v3OwhhbcknVDHLv6d25CgcjGMijfsgAV/j\nwH6Z1SXmdaX+GK20djS7qamtmyYc3ADRPugYmjQhyU5jbO2lzzR4kiG0Vhjo\nBgbImT4VAg3nJZxEunLuVxOyVQys89ru4ojlPdnC+dxuTlOd//UP46AzBlFz\nd1ZOhwQXN/HeHce7fFFQTK+XgItdUh+PjTmEXHg3MgO35t5W8NhKiRwXTuvN\nmQRsH8IWaAbjs6Uj5M5MX6ew/RB/fdhs5dD3/6Js+3AzLDCDJLD0VEfrC3UY\na26fUscbQOnribAfroqGQBYXVfZ2nIZyCso5+r+JH2rg67a1B8Fl2lBL8Mjh\njGB6dzrfdljYVYgUbJAgr7oxX3wxT9w6D4r55yBQNnMLbbkRPElIB9VNlGkn\nC1fj+sft9gWDFOCQ66F6JGa/TfU2+LEzrUe8975K0vHKMHfaTJYU8XYBvQq8\nmnQW81OFkRwClAbDFTDAYtW4nO/Q6UtCSeLcy2qFi7bvNzmEO4Dv47APE9Yk\nqhPLIUf3EpLSMVFfVla0dMMucl7RGpk3bK+AyvoM3eJqaUhhLDblvX9uOf1D\nb7WEOEMbKT0kPx0tJMmyVC9DxBHyAzB5XlCJXIt3zsiuXxx23RVcHSievMMA\nrWDI\r\n=5JrX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"833735d95bf2a85b86738069a38fb9e359346dfb","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"kptdobe","email":"kptdobe@gmail.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","segfault-handler":"^1.0.1","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.4_1544571152180_0.8804550933732214","host":"s3://npm-registry-packages"}},"0.10.6-pre.0":{"name":"@adobe/helix-cli","version":"0.10.6-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.6-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ee0394375e2a63cfb7a1b278f0077dc90043a6f9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.6-pre.0.tgz","fileCount":667,"integrity":"sha512-JFQXWxZ044/3fjihTChjgwlRLnuYHolMycbVFjiVMLQ98nCz+8WEPviWYiIxCMiS6K/kKDhHIRV3TJ6hPdcSOQ==","signatures":[{"sig":"MEUCIEaMrhdTtNT3afg7Eanvb72MQ6tzsAVKw/e1BTX4HXWdAiEA2vamoftLgDu+yJFsShr/jAoZtI56VW9W0A3OJUsjB1o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3730619,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEEsfCRA9TVsSAnZWagAAQpcQAIAoOtS3AKklLcOTQXTb\npAKjx8apNs0vuvmCHDdN9CYePtlrW8MZMfDuOIibmVo3JHPW3D1YyPkVDfJm\nmwg81wvdcJ9xbo2I3CpXFrBnprw5yYTmhzwUyG3UdKWBGkoIJ9+vyB1yQchQ\nuTIFaLKroAFz8ORNNz6hydHvk50tSXvvXw6QUksxGGfqRlonQENl8CqupQJ/\nkYcGgPnrGU7hJQw6ZMEZvRgS7X21b8NJWmIP7O1LZrl5Fd9W5gRW4UbSeTIK\naPeSp3DQav8qsN0GXB+/6hit77uo/VZbAdq3sA4oAqJNkft9sXmQhOonwbLl\nLF0LVKdCrQ+GnoWFa434m3HZdk1ejw7IuI3RVRD4HJdG7KXJiddMfTXwh9+X\nHdkBpXtkltGjNgT00WyZOPVHhXV8z63M+shLZs7eE4XPwGrpZB9+i03uMqoR\ny6LXIz2JVGKjiHjbkAXw/ueganCFQVJYOBEdGzXaM+HKci1C3beskKzyd8/r\nVol06AhQYA0avt4ECTbOoKjE0t99xprchhctoimVs/w6dgCMr0WkBn9gy7Vl\nSyGKqKLo/DSrw/Wl0+/r/RTElBVhc93/G4rRToY9isfTsPhmi4pjRSWzAW0B\n/WFPLwr5oTIM0iUd687/MmdxsB3MM893leIFhOO6+rnrphCEVMugpIxyBVy2\nKWtd\r\n=GyuF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"36ff66c7139ad884d4b0b2ac381bb833e800a117","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","segfault-handler":"^1.0.1","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.6-pre.0_1544571679000_0.27007877114585344","host":"s3://npm-registry-packages"}},"0.10.5":{"name":"@adobe/helix-cli","version":"0.10.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4b061b8074f3667a73a522fa34758547c812bc91","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.5.tgz","fileCount":7083,"integrity":"sha512-lEBHJjwIBnf4oqmLIh6TAL5FSFaSuOeh8j5JqIU8UUJBE5cN2tGOfDRBc6B2PulwJ/D8m/04BR/sytlYwHls3A==","signatures":[{"sig":"MEUCIGmQhu1sDlJ8s1xisf0yEReBG/ydAZDFrPrJgbBe2YjCAiEAy5DUzRZp0Pgc1xRTscr6l0t7d6TvBf7L9qQrYVxGXyw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78527858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEEtOCRA9TVsSAnZWagAABI8P/RpaSst2jhPgbEjbm2q6\nnb4exQDv7xACJsEC58bZDr8d18gWYv5ffOqkN4HhU1FurFwOV9PS2/nPjlSk\nO/t+dzziDww2tNRquWzsrk1o8Ybgx0YtR97D5CrqiMLgzds5TbND+CfioIuS\no2x7h+24z9W+XivWK2FGsXlcnsigRLH+YZHeXA/yjP/PF1tAFHG2P0hQFV98\naeF0ObRQDPlM/Tt7NAhr7wIY6Oor1uC8kzpaYZR567laQD/JQNyrmA20OKmc\nIzjcrDg1pngshD3MynTCh0WwxqUhjsgdi4PBl2vwwscgKahPZ+25QI3wa1c7\nXuZs0bWPDS00V/0cFRAoz9v5anF76IyuiAoh0JSKc/4vvpGY/yXJRUOh/6cw\nBsMuvNBB7Bt0/Q457uHZG9dFRr0tCH195UxDiK8HBvOoOUhMHjLMJKfhxqRm\nx0fEjpS0SpXvLqOxlUMk1hQAmXAiRI8vmBn/jMDm5QFhXPGBi94ZuKd71Cvw\nw+Ljxwig+lNla41TZ1NIZL+7iGTsupHFTzqhRZ19h+xf4a9ynJwe9WpTMZqV\nQpFXSIsfq3j+GPuLPoSe/32/zDfZ20FrlI5nUX8b4Me+npTeKO8VlZzKX9qP\ntapaazvq7cMk5bNga1wEBq91nMlGt6QEAdsOIk+FecXdINzaxTwcQGfrwQXk\n0qdA\r\n=2riT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"15e8578bc7753e4061ad7ff1a5e7cc6208f457ef","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"kptdobe","email":"kptdobe@gmail.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","segfault-handler":"^1.0.1","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.5_1544571725399_0.34000469152516666","host":"s3://npm-registry-packages"}},"0.10.6-pre.1":{"name":"@adobe/helix-cli","version":"0.10.6-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.6-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b485e12de54a562db0cfc14432084747eb712715","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.6-pre.1.tgz","fileCount":711,"integrity":"sha512-zdP6D2szNOWuSA+00xNE4EkyE95TBMZ9PrboufIZax8Ok0RpFup13cGKFPl3DMV0mwf+qrw7qtXmDek8R39M5Q==","signatures":[{"sig":"MEUCIQCeFSzCLgBMB2QbsdnEU7671jQbZn3XFZkb0+Eo2PN1GgIgfnpSHI2VxO46Xd5DyBtnL6SIJSTN/BDQoQIxY/ODx9E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4236405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEUh4CRA9TVsSAnZWagAAppcP/2k7r0/b16g8cJVZ0hGh\n7zTFBkoBK/3thim48qae6fj4a4tQX12K5ReZ43E6gyDEa5mAmZEU8ISskGzj\ni1MjHcx3RPxt1rPCyPR5Y86uoCD0RzAqUH8WBBV/VebYKOtpZdY74jWChZuS\nFdZJQscWLg9pyGvFRrY2p845mslmOTBmo8STanN6RN9hijl0m7dmNmC8nRzE\n+YxRLIE+9Lk0DjInJ/ekEy4LFj8Sz1xWx5LEP0LRq3DZD5Vpus8K1yUQEH+f\n5SD++yUeAEE3za6bLWQq5+q4oBsE4rpKVO0yRg7ECT7IY+tqTCR1xfpDNcZL\np06Ie38ADZdhebMemWlA0SI8yfYezVISH/6dDZ0fo+Sf59ZcHCAuIQPnwr9W\nh3YmuWstzTZOIM696Y9katl2MhUFafCRKyJ7ay/X/y9wm6VQO0Wnjss0Ly5Z\nd0HN8+1yhsYdtyN+umrTQvqaNWuCgk/sgdAloUINZ5DBqmyjRTgJtHxC35c7\nG4HEErMayabcgmjNByJNVbqvx41Fk7GlCswc2GF8O2+g8FLoK3t4W1QZ/ti3\n3j8aDoArGv9xJ01htcxXZAeEk7dbBWpTyJ9km/bgTlJ6Gns+uVWLg5QOGIQw\n3BQ8H8Kdo39dgeupZJutyxGRdtjcx51jnlJpcKNJuQSOSFOuPqYLjhKr5iM3\nfDfq\r\n=h8Oc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"dd35c3ebd5327fc91bd6e968d6e9a28b5e9dafcd","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"^5.3.0","glob":"^7.1.2","snyk":"^1.111.1","chalk":"^2.4.1","yargs":"^12.0.2","lodash":"^4.17.10","uri-js":"^4.2.2","calibre":"^1.1.1","js-yaml":"^3.12.0","request":"^2.87.0","shelljs":"^0.8.2","webpack":"^4.25.1","winston":"^3.1.0","archiver":"^3.0.0","fs-extra":"^7.0.0","progress":"^2.0.1","klaw-sync":"^6.0.0","openwhisk":"3.18.0","decompress":"^4.2.0","mime-types":"^2.1.20","source-map":"^0.7.3","object-hash":"^1.3.0","triple-beam":"^1.3.0","glob-to-regexp":"^0.4.0","parcel-bundler":"^1.10.0","segfault-handler":"^1.0.1","@adobe/helix-shared":"^0.2.1","junit-report-builder":"^1.3.1","@adobe/helix-pipeline":"^0.9.0","@adobe/helix-simulator":"^2.7.1","request-promise-native":"^1.0.5","@adobe/parcel-plugin-htl":"^2.0.0","@snyk/nodejs-runtime-agent":"^1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"^6.5.3","nyc":"^13.0.1","less":"^3.8.1","uuid":"^3.3.2","mocha":"^5.2.0","sinon":"^6.1.0","unzip":"^0.1.11","eslint":"^5.4.0","replay":"^2.3.0","codecov":"^3.0.2","istanbul":"^1.1.0-alpha.1","eslint-plugin-react":"^7.11.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-header":"^2.0.0","eslint-plugin-import":"^2.14.0","mocha-junit-reporter":"^1.17.0","mocha-parallel-tests":"^2.0.3","eslint-plugin-jsx-a11y":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.6-pre.1_1544636535930_0.0028075718394620086","host":"s3://npm-registry-packages"}},"0.10.6-pre.2":{"name":"@adobe/helix-cli","version":"0.10.6-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.6-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"71985764384eebf741418e91b1c4a5ede650aab2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.6-pre.2.tgz","fileCount":711,"integrity":"sha512-Dm/jM3BGC4FPIrcKpJQaLUw1Q/1HUbZaftOVIgObyHMcLyO04/0q2lss57M1ijlWHNdWIxZzFnjfToAWXfq+ag==","signatures":[{"sig":"MEQCICpZNRUvOkSBCC2jj5EGC+83OeGIMrayFV5KVTkyqaEnAiBvsaHuEERBocDEMpA5V+OC3TOYeKiDkOOTjk9jHpvd7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4235968,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEVUCCRA9TVsSAnZWagAA3TUP/izOEWeVdfecIAkiSBYf\nCdRFZddrLAMNZc6rbMziwQZl08hNMWeP4I0rGL4sFR4s3J2I+yG5K2wi1X71\nknhSHiAzZnb6BF0gQwNSHIbqPMDLwDBb4JHiryxRatktCvi/K89mc3EGRjz4\no5WEPxSDsvW8P0QUuQdtU25lfdHiBCtJ0ScZvSps0jkcbQMourFtFGYIqHEU\n8rplwUzMqgK9aHaYmq9cWL+J8eceru9dk54+uC5Rw4+CsVlWO0YxgsnvEg88\nPAgJv7N8/10CGaoVgW9mpiICYgIeOyQ/7+g1r7W7kQtrJJqTl+uGer4nQoGx\n+1wcg7YiMZkS90Q15KApsvi5HOip/s18CHzQrkcCxfb5G/JLkwXhYGE5JI1q\nyHhsrRruL4lRVtkmHroC7UGsYvL4jCBvSlAiAIcsfy95UMzk6wZv/DY8S4DL\nCXNqQTh/49i3mH+jTsza2eMDY39n5ouHB6DfY+AY9GsiVpI+en6iGaJjHOf3\nEMAQgVY4MG2MCdRM6oVCzMGpL1y3yL46jNWyEecqXd1Tck9irAURfTA0HEN0\nBTUlwIhW7ziENru7eE5mnacDbhBWcEFZHpaGiog3acBp4t5aPWaANe7uWxWa\nOKmBTgc+W+foycaRF6iX6n1GilbyEt4gdABJkNDpTFyoj2AGK/ubaQRxvUmh\nmIOj\r\n=fR0S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"b8c735f65a85c7260b4cf81d013d1b338d9aed8e","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.0","@adobe/helix-simulator":"2.7.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.6-pre.2_1544639745267_0.7007338764306654","host":"s3://npm-registry-packages"}},"0.10.6-pre.3":{"name":"@adobe/helix-cli","version":"0.10.6-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.6-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1ee667698054204a744f6f5e9dfd4e7efab3043b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.6-pre.3.tgz","fileCount":753,"integrity":"sha512-7csCiavPl9OohJYJOoA++QJx7clmwN+fJyXgYT0nTOEYDfQo+UDzQFvRhtBsW8vOmzDokuX31CoB/ZKo6heBuA==","signatures":[{"sig":"MEQCICo+TrDcuovvFZhCmEm+cEfRi2hvlz8Vp7OFXuG05AbsAiAcyUhHVqDebahF169JAcfDDasZVsyTYvryKCPBrFccMw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4540042,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEWDgCRA9TVsSAnZWagAA1N4P/RNKwnaEthi8IhZ0eDJo\nLzALQn1zeGhNuBIly2NY2/tEG0FhUTqVxS5xIbM/AuMw1VkfqaUlIPNQd1tm\ns0TY/twUFh/ezfBnkuJkd5ACExLMvT90KWI+hEuHmRAIMID7zZ4cRD08AchC\nYDoYDzu7rnqwhyRrqYT9C3VB/MxK6+lXTPU2Z5YcC3wUt235SYebXUg9u3pQ\nRfnQkYnoM+o3PXlkDH3Szz5Vkco0gUfKTJeojcc1f2T55KOt/+lghEmtDGvL\n25hLKwe+HraKM2Wj2X/Ar2DKzA5FqdIDOBkfYNO7LoFSpjfd3VyVZdXp0a33\nOBRxq21w+VIbEWRYXZDJvca3xBkUHR+hL3ZSe774s8LR6NvhyjDelPyWnE9F\nw7o+BCKuvV4BbT+4EXP1koH3VChl4hR+LwJPU3fGzGpXtMwAfAWfhTXIrIqk\nR5savHmT+DGmY6nr5R47e09UIOuBBnvZ0cBz2D0ZH/JCF5zigpy+YEJw4jUw\nT5tbpnY8dNSWQBPvjgeqMH1qfbE6rhS6JP8LrUScz/jPUNGheP5WRJqmgzsr\nbDewFebE2Gjw7wnghcg38UBt6DJfc+w+FVXJhaMce3vvZ9DeWlLaaYsASkee\njLCzQzik9Qh9Plc60cSGeVaNVaEFxWvqsNt+C6OpiMxtHD4ZBP8xOMHAvbZA\nzFI7\r\n=xBGV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"74eb91203d31ce99972a7abb2a2c6ab1134273e4","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.0","@adobe/helix-simulator":"2.7.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.6-pre.3_1544642783546_0.060092963176312075","host":"s3://npm-registry-packages"}},"0.10.6-pre.4":{"name":"@adobe/helix-cli","version":"0.10.6-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.6-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1cc993905c0d8564e00498b9373d8d41eb3981b2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.6-pre.4.tgz","fileCount":748,"integrity":"sha512-S45i+s7+j2aoRoU6h7jtqJ9RfpJ5AwiY6OuEEvcQ7UxVmGy0Kml4WJONVcLxYU9jKomXMgmiVNBbsYmOR3tYNg==","signatures":[{"sig":"MEYCIQCRNIbzAsidF7ZCzsnNev+6Q4pxqoxxymFA6PVNx9xtEAIhAPVTc261w37oMIa573SPgsx01nEbP6uDlxv7z40RPl/k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4055216,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEe5wCRA9TVsSAnZWagAAQ6oP/0Dk3EyEKEeDcdDHwhvf\n0p24VVUqbRP/QF4/9lyAVewU/7xxZF2fIfTNl8wW9fbRimUeH/rIjq9IIea/\nZpn2U/XVCRnZGginGRxDfbrJJg8ynlhf3EYrA1UrQlJp0rUZBKI1eZSFXmX3\nCfklzY/fH9qE/ZMmBDE5+2LBAKRqSzK3Scj96N95HF7diasgCEm7lbFGILEA\n8Ib1RxPabhRPT3v1/y+FuIS/0WUcGUBPGTcLq6nDoPx6tqx/6VUJZruXSFyL\naigO08BB7gUPsnRhQU2txA86aKX8vth09jNU7tBdGisP5Mdlp0N3Zwxa+JQn\nd09bQkZJBsPmc/xK9tGkVrRAcG2i+zkzGBwFppgLAG8EGr+7pMosS9/sYugN\nT+mCnwjwJouM1K2DrlR4vmX05roL35/f8cbawveifumDF6od0tmVz1Lg342x\nVUFszB3BzDqIGgRkVJdCGk8ipe/5J0BQ31wy2o5kY3I9AnV7UdGyn7Jpx6AJ\nCpTuJbRPcpwrmwM+w7z3Mm13vBHpBLZSl6NDV/Mb0M3CNTra63Zxm2wBSLsa\nW/UYm4aU677ATyr+DQS6edfh1z3ZzNBjPEs9xwwdsJI3IbJ0/sumVTcOU8hy\n5adiP8Ux+FkCdPFwTnGWGrWV/0MNiLWWiBzdSJbq/LGB+it9dOMGbhy7SxGD\nV312\r\n=FLIb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"577157b016a5f6d9cf75c69e6ffaaee4f2749b30","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.0","@adobe/helix-simulator":"2.7.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.6-pre.4_1544679023439_0.7554832202202133","host":"s3://npm-registry-packages"}},"0.10.6-pre.5":{"name":"@adobe/helix-cli","version":"0.10.6-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.6-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8fafb145615dabef3e5d9db359f7e29b40fcd7c8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.6-pre.5.tgz","fileCount":748,"integrity":"sha512-ExisqrocFV8hf/NNBhR+/05V4DjsKSYXPi1AqRRRR8Rq8fBxBhg9lOyBabxo6nmvGKwFfbr+htUQ7xo2yzMLjQ==","signatures":[{"sig":"MEUCIQC1I+cTkgh5YJdQtOxHtWsnFgGJ7wEwJQGOKgJ6zyMDaQIgTYLhNlaFFYg+Pp0/EEBb/12q7gpN1rjgNEzzAqvwd4Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4055215,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEptOCRA9TVsSAnZWagAA6kkP/2NlOewlBAybJSwDlVCx\n4mjHj/riL+ZykxrUP1vWSE7X17qzv5Q6ReiNprc+4rACknIPuOdwqB8n3rZE\nBJ9RyIfk642z2xUwmszXDKU+eIljGPHcqikbZHCcsXOC/xIdbwi9cR7ZlxjO\nUH4MC7SWo4n8QyHi5EagMye0hO84C6lO3eEeTRipVbgTNJr3bHs+7OuWR1Bh\nH+0dLyKmtVyWT+bv4TRg5VGNLo4Q6ivJLwuOdyaieCDplOq/aGZXwBxg/Sl7\nquu3xyBaM5+R6icZT4pfolzrmWLzRSi3kKohvKMY7NNX4cd2i5mt9tG34oaY\nFaVWuRHZ8Tjr/p/qOoRLQUZOtRaiDwnK3/rT/uco+jQRhJx+fmXpoaXFRIBb\nObZpAtx2X7myZlrUsUpkkM8gru8xtKKREGJmuXP2AVNDirZ/OQ/OKTTgMQl8\nXKxax6Th2sPSnQxv8tS0+/g2Wa9mVLnaI9KH5Hfix/afdZ1lykz/V7F/1pQs\noHj+IrTBAUByc+KsaJ2DvnhlhSrP3DtjweK2pXwAGPdW+QDmnbFLTAmKyeoO\nBsbPaF2dioWhJbIGDB+7txRWDJ0FCdxzNK8DywbOfcxnoceomvo+ORqdlsaI\ng4czS58DyLOetFwUevj5xFseL/sIiZB2+pMKCMuj8lZ6c6ej+gVMAsmfY72A\nJuse\r\n=d/SK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"dc56a6db6b024507b7de079d3862ec76cdd15089","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.6-pre.5_1544723277329_0.9334673136815812","host":"s3://npm-registry-packages"}},"0.10.6-pre.6":{"name":"@adobe/helix-cli","version":"0.10.6-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.6-pre.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"05e0f9902bbfc586d07fcc7ad673cf91372e25ef","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.6-pre.6.tgz","fileCount":748,"integrity":"sha512-xKHH4bsYgT6wooS33jaAflQv+T9x0k5y5iYj+n7OLGwGYFGRwRypxAv4EXTV3iGaMh3TAVy2RfETF6s4toEYcQ==","signatures":[{"sig":"MEUCIQDPuMOt4g6nvyJ90LEXDpmF3mVyl5jcDZVmFdcSbmD1twIgA6g5gRTi4woUyYJ6YYdIU2tAv9ft36bZlXaFTR8wcb4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4055214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEpyNCRA9TVsSAnZWagAAvnsP/3Iw4n5+/Mz4PEXMc7aK\nC9NoPCNfAxRoJWQDGyKiu0VtHhMulQJPM0Yy9BfujPfKenCh3dOAZr7NeaCC\nKlvzwhBRJmoRHjyzA3INsnOH8BdGEfJrlWeydqkXDQWvya1TE+isCmccoX6P\nYAN7BMdSwRsemKJ0AW6PFIKbvWrrDJWLsacMHillhUjTuccM28HLkp16qW15\nadZ48Arkgy7+JEkxqKZoBlr1b2f6AG3jCviT7TP085sVkvEyNIwhz9cvp+Lu\nDFJvv1ylIYxPLV9tgogbOKs4b4ni6mzA8vYxJa3yLgUeeUwOP8ANd+Qd4CBy\n0UXAJgygtCCYwnQLmv5UARgJ1xmfXXSHgVWgQ2kv0d9wPsSoJhTT2hsuAfz4\n/fI2buNn/cFPIfWOe+enfadtSNl1Pzh4Q7WHObu+W1nF9atH8xbcZamJESHZ\n4utOMJVn3tNl7iyniDcG7z1ZixX+VvfLezYw2cfbK+anZuD8Omz/K9B4VpMo\ncAQ6XHBegaec25PEPo/6My5WOBGWbaMf0D9OLcDD8st+T4HyKCbI0ObBf2KY\nyNYMNnjEd4g7Fel4f2hwGHmEnudg0C6+Miz6pXZAFHGinMlV636td5mzyH/d\nBEI2/FB51qFSKFju3hR4sbt2Ogxn8efWn1gqrh9uM4AvBJE+y9v0EYYaa85E\nqRu9\r\n=Lypc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"1033c326efc6d49e193d6a25e28f8fe3c1779a25","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.6-pre.6_1544723597126_0.970272847705363","host":"s3://npm-registry-packages"}},"0.10.6":{"name":"@adobe/helix-cli","version":"0.10.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"61f6f60aa736858f59da7b175ef91493858c47a3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.6.tgz","fileCount":750,"integrity":"sha512-XmH6QIYj8PSxF297+ywshFVilLySGZ5sWMIH6lCLoJDhHFXxRiBQer/BlMARKE2MNhgcy94vt+vt7AIQ8ZOWbQ==","signatures":[{"sig":"MEQCIAvRM8QztHVlWQ/ET6FgjuZ7rF4W/nkqvBV/UJjFGYpoAiAK8qrEA0hdAOTLbqRg8i8gm/oa6OaU/oMoyhjjZWlY9w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4095433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEp2RCRA9TVsSAnZWagAAfr8P/1ljo1IYiPt75g3ZlWsQ\nnWqVZ8WhQOj41WUc7tf99N2u7TfqQKYUVqP5qZp9Kv2AFjLG0hubdv1XXtmi\nQ50/hKlz7zWL9LKQ9rNkmB/yqVqp4iNOXfXNCKtEhDM/uZTHHrUBGMJauTYZ\n+OZD2ePeVrWlmcffaDikGQdp3ww+nudJXqzSsCjOKEiuu3rIW10uNdSARiGb\nlDDeuJVEUxxlnLArQYSIqON8AwFfaldvKK7G21DSEtcPgQUxebFZ+XSyl2W0\naArxvJWorfP7pPbpTx/0UqWCoD1AbsfdzL6ZBqmPvVgX/pp1xGqU0oHQGJ0J\nV9WtZDK++pJzq6z5ZvLHzck+h/pP6MCUE/RQ3H2OVsuWA6veTbHKOegwAL7S\nili0fVSdbGqfMAZ8lcPuqvWsJ0wm94Z29RgrpjdQQwD+FkFn12XvOy66EFy+\nDVsYB89ZpaV+HzA3UOOAxJH7Kd14Pxwu/0nUsb789ncCfjGEDSx23RzpVbAb\n0tMn9LJv8Rsba3D4cRKIb4yu1+DLBkDXZh1PBTIVdpHhcM7DKK8fNEEj3pEQ\nM3I4R3exOr+/LLQ7lnFmHrKuNGZfCa66GoYuipQiQ1IjVTk4chLcjpODxfCS\nsDsoEV93zCarunahkuc9W88+/6z7gimMOAw3ikxoNPlt34mwQJQKrUvwQi03\n5dKo\r\n=AVkz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"e9170fa71b2adedac1c7a5eb80839b6d36a50f73","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.6_1544723856295_0.9601195078752798","host":"s3://npm-registry-packages"}},"0.10.7-pre.0":{"name":"@adobe/helix-cli","version":"0.10.7-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.7-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ce50919d21e17b099956bfaf44f095f2ced977b9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.7-pre.0.tgz","fileCount":748,"integrity":"sha512-AwvkfafAs7ORoz3/0YgCMY0G4wP3wIgj9HAF3KcbdtPRePo7graClGsYvwNoRbhGKe9KhENOQBD3RadfAiN2rg==","signatures":[{"sig":"MEQCICiGmpdwWJSxmJepIB6FlhqSh+CrSnfMAyv4kFVF7XgHAiBDQLoJ2hPMiFi3T4sBKK/exUAkEunYMw7Jzxg41HjtVw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4055195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEp3dCRA9TVsSAnZWagAAq5YQAJBIZtQi/5rgyaF5yCh3\ncAucGOqclsNDVis7AAeWJLj/Mfl2xd7kEhYPNY54PTrc7TLTXOczrfiSTl4X\n4Tgm5dMhF7bu0nbuZjVrbP7rVv6EEa50NRqxPB3EXNj/2eISZMlPYlhMzNTq\nkObJ2NqA2dOtko+KoJYhSY1UHYL4Bq66E/kW32dGAi+hpl4+AT+P4WSeFEdn\n4Xfn0ijq1AAvC1UBoUaGZF2Du7n6BEqMbSbD4DPpt590QbvzOseIt0CJWox9\nL6h5NW1pqj8xk08zNO0wZfzGpFnsdS5+YAo/DH4tfA86yR7v6pnygdDo/K7u\niyySsEGzJbMmLzLoU8QnW+IdUVpleutywoYTEbhuXVHwYRzdIRebE9+Pb3FE\nGtBV8q8M5yx9t/iPpkdO71Xh5H5Gnm3wsUmAqzZewkQfieOkj8a0Dk5vuJXl\n5CgWydKQ1xcf3ZhBxopfp7X4AYaiLzlHKavHwnrkEF8X6a7DFt2SLV4bemPj\n02zt/jXdgAsFndlJg9HKf9wAQAFp8EwEwQJDAlNr89OGCRJ1EsUrEf/U09if\nWe5DMZqok8rJStGDU6WuM/xuCPwPzn+uq/Pt+z2Et2Re4hQ5JkYx5PJfFE/R\nDUoKOpNvZbs8WGIc/fnbIJ80L5vvdurNEM2KSm+t++j8FLdzLwCVQdbggwhU\n9e4i\r\n=NWUa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"ba5b96addfbf3d0a5d66dc0992bb7be37581c6aa","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.7-pre.0_1544723932222_0.02714927031424108","host":"s3://npm-registry-packages"}},"0.10.7-pre.1":{"name":"@adobe/helix-cli","version":"0.10.7-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.7-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b9045c54f782bc88faeee4f35a27dbfe334be650","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.7-pre.1.tgz","fileCount":748,"integrity":"sha512-Z3l6rSBWYtHq4epYoH7C5mFpQ6/JT2rAOgo2K1OUIlelQcgxszMPGPKXUO++Ea+m3rb4WOk203ugQDtguj3gfA==","signatures":[{"sig":"MEQCIEneOOqtPnvLx+b5wVZ4OI+gnzmxMzr0nEH0oKHC7Gc1AiA/kVxoAcAae07q+eFz2KiHWpiptVnEAAb2nlvZsPejpg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4055255,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEsYMCRA9TVsSAnZWagAAAxkP/jKbcAVA8oNKdGr4Ak6r\n3rl/jJXRl5oawtIgGz2B4yrn4rk6KdvxnJf+qBnVD6uwyGrNFE+OrNwKUmve\nVojrqn/sXZFtG/bGJkRRaNFtNqeEc/HNA7XCY6ab8Sec/tMsioAGwdEDmtMP\nTFJm2hZ7TdrtBaWpi5T5x1pj5AHipvBBcSwxCoAYGZF7WUlwc/09sWYJktCO\nL4IQG6iNGw4ghZFzVNqosrIkeJ1YuZkrU2jzXlKFT8nMPFVg5hjUvCSWSl6z\nyUoDT6DTeQJFIUP8RNuwTaoxuzHxKglZ3fwbYN8+Z+RTJakG0Rmi/X6IMuLC\n1oBiEyV04aqsJwCkLu7FefdBBXsB7UfT5bDbwtqrC5BovvMFXoDsXUDAB4fp\nw4b44TRti98m7p1FvD0FahgzqAuNHUk6DXRhpISVBPlAvQrCIwU7LeEVzt6g\n0xob0F14L+LTlcml/3g+Yi6AkIl9T8f4nx+8Zk1tfMnhbYunLxw/ptjKI197\nvOghgtmwoW6FpdI7jYGfZFndgrtLK2C+7vrd98srvPXriRdW2UKdoXUSJaTW\n9ddpjrLsHMZcOQWBdbFjpCJYlIT4EoOrWG30dnNe39us5pGKN/73unLAp3Jv\nuDE16FQNSouN821CjPfV8vMiiUocOnzlFTvYJhWgHn4ByEEECjNLcyJzdSKL\n2si2\r\n=D8gw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"07aca69f5902eae55976e6bc09c8758594faf069","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.7-pre.1_1544734219950_0.6085708227064595","host":"s3://npm-registry-packages"}},"0.10.7-pre.2":{"name":"@adobe/helix-cli","version":"0.10.7-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.7-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8e64d458b6e11ed241792a27366c7bd27af759b9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.7-pre.2.tgz","fileCount":748,"integrity":"sha512-Sdo8r+ZbxKWmGwM0yaqCRfXyirkuH55aY3J5Uhs+42rwZ7q98KhvQ8t6pFbNM/FriQD+itQ4/4llIuftQKmZ4A==","signatures":[{"sig":"MEQCIGvjIUIgDlKa56JqMo/at5gCc7VeRWDOEjr0ZajF6gojAiAQpE5T0nVHqTB1VjN57bUOkR3Fw5liVjTZW773thYHJw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4055259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEuJlCRA9TVsSAnZWagAAS5IP/3fFI06Yprs8EjbEKpkk\nQW6Wvfaswwgo57sY4Hs8fejvNGWUzc5DRim/25tbENAnxx9G0aLxC1wNV27R\nNAdC9HF8HEPJ94OalB8BrhWj7UnHUVwm9Lc5iv3yrhp+lWykncwFa3zcZxVf\nxY9vxAHu2+V+P9UqFqD6KyWfm8fHprvMRv06cqmqXP6powIP0RitGANaqhVj\nHuaVaWzu74Ec3/xCAQhmVkLfGJ5Iqm8GJRnsCSE5vyMqVbN0niRCYLrOLVHR\njUFlHb8KDOR4yDmf5tKymPdrspgq8wUxKocE9ZybZL7DEMhCXGGeBMr/wSiN\nEWn56iqG5ldhiMSyrlKvcWkYDeKIT+CUtYhALcxvNKPpjyVhAtevWlh3UJ9w\nsqGtbERPliMypNO8/vbWJEkJOfo4T230GiI9gewd/VJMfi9UlpN6Y3a7E9uZ\nRImWs3f4PAUvviowU1KYLDiNY3f5tIaHDiS8f/J22Ai/1QIX6jrqEYcITrVG\nwuGbPjUsWLsmRkyE8z1JQ8qwh8Gireyyf9/g6dooEzd/+AJaIbWVAZLoHqIp\nGoTQWttuFzBvPHz+HCtSLpOHM1BT5DN9oWfK3UhoMWcGANxso5mqJ199kvSF\nGygwi+C3vuEgRPhvx0dqeQw9iQZHOSEL0JorWRdMuWySk5Kmqb4Uch7+eZUP\nJXYA\r\n=sE1g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"68285d34ad39b6262341cce4adf24d6332d45ccf","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.7-pre.2_1544741477261_0.7556498531751401","host":"s3://npm-registry-packages"}},"0.10.8-pre.0":{"name":"@adobe/helix-cli","version":"0.10.8-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.8-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"533a1d89657c06fcfcf99247b262d2d123717a18","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.8-pre.0.tgz","fileCount":748,"integrity":"sha512-rR2M2gUzzSASogscQ+AcRW6RO4laZQ6ihTwDRjkrZYCPVHeNQD2+CPZQWToVpIse04npb7JQ934om5PeACdXcA==","signatures":[{"sig":"MEYCIQCdZqic0ZiUSPHM7fFsFokhW5Lgc97BqU5hmnsPFD+PpwIhAOWG59T2xWdKlTP4Z60BrmCMIwdPgZ2lDDggQfNYA5kQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4055210,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEuwACRA9TVsSAnZWagAA7JUP/jI/NhtjkAOylDZGQV4a\nou4/+nMlvJrzkcfeB9dHaXKyZQ3tIVA+4suyhnAObcVl+IpcBlN4J5LAVSx6\nxeZ+mAaBmoAvP3tQbq8Hiu4qS+9Xi7haRdPa9XWP9AMjVT0WHY7X/I/ezj/M\n+h9qETOd/ocUUDoP6OccBFZFsfRN/OhBTtO2GsyPJXPPhnjoK3uCAAsKgiz2\nxKR1gtzd+uh7r9ecGzf0Ix4RSzjyuH/HhtMOrVN8tWwUie2VwuDgJh1f7ape\n6aB7f8KB5gdwCNF2jJIlVjvZh5/fSZz1aHsU2Uz//FKDP3XLbqHn1nplqnWm\n9jF0v+I8i9+NjCClYgL2IVscooRttUs34XuPxdhHHpf8zCI8qV9+TdfRzpAL\nViM6o+4eKxBbJh5bJf+V+WVwdb5MkfAIVpIziHYeDorecRLxnw0TnKFXy0IU\ncOxX1rFIjjbwgOrVvFRMto9jJfv82sODnH0PpWiBOLN1i/bM51O41ayVx/YM\nSQi/mb5vktI0voAtO2TKpSQupthNGJVluSJm77NAGIyhqf6GHXbPsYghAnoH\nEy+yICe4IkcV+asNTFKzWvynBMLig1xGWGoNh6pZnN4G5No0OQWVp69aSBTH\n5AEY96JdJwz8Kax6b/hQV0LpuAkuNfqFa3iI1j/ltGGSMAvM+IeXyK6Qg938\nZF03\r\n=dcmv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"1ded4e248fa5276cab6bee6ab5335fb9881ebf23","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.8-pre.0_1544743935667_0.19386333641857356","host":"s3://npm-registry-packages"}},"0.10.7":{"name":"@adobe/helix-cli","version":"0.10.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bdce0fb9e6d08c9a235cbde32c505439ba95abe0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.7.tgz","fileCount":998,"integrity":"sha512-6qFT3bexZhaaJ+TKW6a+OPsyxvkMdMVhfusMYEmzbry15XQwcbtNXTLWjH+WbwyKiYHCNABdNWN6ExJNEgXRRg==","signatures":[{"sig":"MEYCIQCZI3Ope/7cobFRcxeQYrTq/O93g27KQplK0TQCN7o3GgIhAPFp1+/3K1HzY2rOYKpCrsrwW5CwhFsGMbp1F+W4NyJ5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7059337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEux2CRA9TVsSAnZWagAALNkQAJzwTBySfHIaA46ftbKT\n0iID0SX4ShtzpPE3PjlqvsiIm4x3TfZCEZ9j4ocU7xdS2Kdyw9WBQk739yap\nW48511/nHn2YG/343KV+nR9Rzj4WDqg3fTZ/rZmZ8pmQp3c/CNMguVKxwlkm\n2EcGPLe3pUi3s8F+OA0+YgUqtW1zGtlh8/UVr1MzBHHgLE1qYawMNSflaAW4\npcMnbiBOcsTfCX2eXvQJrdaHuR4Pcq96h6X+scs+SU5LJy1mJE59baIEWKeT\n3jxNe/8xz5/NokcKJHCtjAjC7xDqSehSGv4rVj2BseSvBbsSZjTV3wn5MNBQ\nu6Rs9gCGWLuf5pnlW3WtdHpnTG6DEjZ50vEjNVtl2alYmSVSIhQZ+fnrU2s8\nanZ4ZWyILuPRajDL236GbpM1D5CYukagv62i8fmzeioqjTaMj0vqNVuvDLed\nqpPCK52gQNsPCOgF3C0dLZGZCNg2pZQW4F8DCE1mjSvYap+6o0YKNxylg6X+\nw5KJp6oTXGJ2w9sokJr5fWVsI38MXvnGTDjj2Gq6ps/jlwT0KPKY+PBrJPEe\n6s/usiXUJNbQ8RIcn8CaQR6/1eikrvO/3kq+ZCKQrhqxL9Vau+VyI9BKXavf\n8VJ0RHLMTb9iLr/Mm+6k45IPOxUK1Nt8hBhNl30o95iCOcCOg7G5PqZoOqRu\ntKHC\r\n=FX1S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"b00cef0679a97167b8ff31108a040aeeb4f77589","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.7_1544744053247_0.49992092343134686","host":"s3://npm-registry-packages"}},"0.10.9-pre.0":{"name":"@adobe/helix-cli","version":"0.10.9-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.9-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"207e1e207194fdd82f3bc6d73fb611aea4d0130d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.9-pre.0.tgz","fileCount":748,"integrity":"sha512-E+tec2sZ0ZNEDBex7lgUhHFe8oYgQBlJK+00/GHUokv7wHFKiWAU601E9PdBx4ppmQrowatHI8+4UqG8Y35utg==","signatures":[{"sig":"MEUCIQCBgIJZ5Ht5MzN9QhNo6cq9pbwGiKIfySgjkgZawWtzdwIgasC0GJ4QTbgeyaDOPsIXdh7e2a//YbxjHdB3mM3iLrA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4055186,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEvaLCRA9TVsSAnZWagAAzzQP/3Yqo/O5/ncvSvXlelxg\nlu6nL1NMdutM3pLuIJEo9jfqdPJqLbtwdcDee0H4QseQUdTt7DPviuvSCbK0\nC/5Dt8+275TbEFi7wHvpbN3IXU7GB4NS1Fj6Vyx8ruuVG1br/j2dJpBsbeiV\nY+uCDF957PDrKavL57ni3bZWFruJF+RUyTD5j2YVItJEo0BvVGDkqfrfwAnr\nb5aMxknSymXbRPvjFqpuTZmXs6DoBGPGlXME7Xr7wcPtDUqMl73quA64FOzS\nHfoQuOB2IJvEDMLyC0hxVKmMTSbjhdyxXlsVF/nf1nLcK31sRJU4nnnLyTqG\nm9eXh4vCBAzlmoLst3uXW7ogRmK8pCXAqndphDLfT9aCGDIAfn3659MTkph0\n4CKba6y2zBpV9bE42LTb3iRWpwUPsDGTLClZ3s2e3yqwN0NDPb+l91abX/Dt\nZQTdyAnn3JHENw/LOwLIbVJMU+DP2ta6+Y92q8QgVJUZr3RqumzT5Tm+zh+r\nVRiYkNIE9P9owtJcBmcxzglsozN2W/sTavmcqM+3c6W9Sy0JztrKVHhh/xBn\neQJcdSUD3csl+dhf+tYg972lyodAGee7nw5Ni4CLlJRoSyrrVJm5R+p5W1t6\nzDnx/7xjeRzGZGwksyLfBxesacD9fHAdn072kQzWnRdHQgsYjhTehVXzNhqK\n8bLP\r\n=BdsC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"f3a84f774fbe741c81b094836f4ff841813f49ac","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.3","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.9-pre.0_1544746634546_0.5239892172558986","host":"s3://npm-registry-packages"}},"0.10.8":{"name":"@adobe/helix-cli","version":"0.10.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.8","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b907b8025219c19a29269c8a104f0f0973b4cf3a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.8.tgz","fileCount":13677,"integrity":"sha512-+YVxGrLPKMHnqNGBtBWXnNpwymfvYR9+ky7DUlDIBioI+sAZAwWLEg7fiI1pD+n7LtOkLm8JR6L0eFEeWgz29A==","signatures":[{"sig":"MEQCIF91yqtT/S+kjTH6xweBObsKHI2Ip5pjJ5P5b5CgANoHAiA3UVNpXdLRtgzz2NyxM47eUDqc81SQ7KcPMK14TNCIzQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":156849523,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEvc8CRA9TVsSAnZWagAAwa4P/jrUK19aMopGwGTU17xI\nXRQKKsU6i/byYcZ3UqtNVzaBL748XfvECtWBV1Kn/BH24auqXIMGs/htKXz/\nk61xytehe48Ge3sYJebdnjJXnbTOFKf0HBk75o+DvzKS+DSe3p/qLHEh5YK6\nENgv+0hb5LAhH6nerFY2F7eyNpJqBgw9cZNa5yKAicspXAfhFm445y4ofMlY\nv162khWt0ZGAVN4yuXEl/CNlaEa7WfjtVGB1hyM1mBM+5GT+s3i5vzzC0Brl\na2Q8MSEuf1P+Q9/TNUchtLbCH/TZZ9MA6jGxhHDGWFB5hzMr/xPZxaF5v4id\nUjEO/ZjEigc08734trBgd8ig3M67p9BO+s6sMmzhYdz+qLbbm4caVTVlBstZ\nKAvIy1YfRP+1yd8deflPtRujs9eww1D8jnhaalT1vEEparTxPqxKE9a8rHC3\nCYAs9NJEElIbRlfpZXj5/pWHUlbEiW0p4ML+Pv++ORF8AHQNygWzz6mFLpTb\nBSfVIqp3qlnNK5Uk6iEV8qqaiptlJJuBUciOZw8Ou4fdma5v9R/TxcUiemSe\nRE3UwixNcf20LMcvQY79TgkNX4K0F3dswqlOpO0njkpdQtwliag4VVJ1lKKJ\n3XVSW3lZdhWpZQmN17JC0S9HCNkwr6J71xjD5r3HHH9xC5BT5R8PsyMDx57m\neY0j\r\n=NFQ3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"d990ab5e98563bef6dcdde8c1164d7dfb235a933","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.3","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.8_1544746811805_0.09878801834646467","host":"s3://npm-registry-packages"}},"0.10.9-pre.1":{"name":"@adobe/helix-cli","version":"0.10.9-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.9-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9d09b7a412269b8a7a8e17510b18ffce467dc2b9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.9-pre.1.tgz","fileCount":748,"integrity":"sha512-6K9etpFCYvp0tGfYtdcJa43yIZ0pcvV3qYSwQtUt5Jrs6CZQ3AICNhhTFoNTuIxIhBfNgb41bqITCebsigLuSQ==","signatures":[{"sig":"MEUCIDPXT28sNGSf5BuW+3mdhQVAjNvW3Az7rsSaSRkQvGo/AiEA/HEnMN2C2Jx463Ua6b5tM2HWws3lSnytz3qzF81cARw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4055204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcFEszCRA9TVsSAnZWagAAQfQP/ApujRAZOHmAO3Evercg\narqfZEHgySgVmn2S0NotkCwKzod/QhQaOSGBEV9Z9WWiIG0VpVSbs3s0JKvU\n7YPYjDrbFMaAfYrBcAk1IG+i16X8tqJHvFGaO0CjFVD5WMWOLp1W0W6m/9oe\nbXQTtb6iowM0hmqiLLWC14r4xDj+J80FjWoGZ3I3IWAtJWIT0hK0dBeTFLCA\n/egyaEAd+wdVsiG5thB0WahuK8L6fuYBFsBrE79P9pkHm2TpwY/72bxF+9Q8\n2FiXTTVBD2Wnr8Bu/MlLzUnER/J/Q8npWp3JiifDNCZC2a5NGh3ofb7bmwlZ\niP5MumpynWdVFumyK9JL0B0232wPioQGGTEOlBHIMgvftT13KQn8nenImNgA\noONNYa6B/1WgD+lCglQOvBdiV+05ANLwIf9vuyRKg75NOsm/gkG/a0ZNNEdi\nJqwO82oy5H5txyM8gNLpndLsoxHOWVI47wgju1EJliKWNyZPL1PJiw02OmE9\nlpobeJliFQUxSwQhrcmfoFPGy7rNIwAlRrWK851IF8Sanqde3NmWH+EgweRg\nBT9PiRrdzmC4zK1IpwmCYSRLxeRgQnfWNKoqMeN9sv68gnVVQvlRUGeda4eU\nECMxkb0N7MPy/nQN+MjPWjOwblz+nVS8n88dSa1RSePKqdQ0Z+ogkGp4gkVU\n5wOg\r\n=YBHy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"950eb0506b6e5cd718eb0fdc373b5ae216be9851","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.3","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.9-pre.1_1544833841757_0.23123670197175006","host":"s3://npm-registry-packages"}},"0.10.9-pre.2":{"name":"@adobe/helix-cli","version":"0.10.9-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.9-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e5591912d55b174a20193dab7bfc96fa9c4911e8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.9-pre.2.tgz","fileCount":748,"integrity":"sha512-z7PMVO4jcS8a6aK/8wPY7igex272AGTDvMASOgYa5oPLYJ4zV+bS770TAn/aIrrJ+AZ/N5GqPOZp3jhZ7wHF9Q==","signatures":[{"sig":"MEYCIQDPLZmaL+5lDPH74M2j41cbRvSYR+NA9OAeoIjdKig3TQIhAKEd4aAiwuIe7QFDq2VEDgdyvhRAaCv+C4TRJGwji3vP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4055333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcFE2ECRA9TVsSAnZWagAAW/oP+wR4MSCoySIRyYnepq0e\ntLoUwuh3+WgnceTK8fgz/gvpEoUKYKYwYlBJaSUzTcyhduG5OUuS7YVylS1j\nCMrnqUuGqKJZKs2xG66OMftnbEoV+c5nOhjk3+9dIMoxU+jWWd3E6dnVP8UP\nSk7H6SOb0YGy3wnC+nNX5XOkrCq8SrL9R14PIB6Riiu0XtZQ5kP8XEcM6w9t\npKOiHcnKiNN1Hk/dFTAEVExeKZbCJpcfnyidFM3N1bm+4gCqgOuGRwX4Y/3y\ntzagJZmpQPZ3RvMJwcRA/fdT751h9bme2cA9ugE+iA6LdeM+lCiddB22q1dB\najq4nwJBTvncBJBaJ/skBAwTBuparngzm0RznrnNv3UrzOnak3dnmXy1v/7G\nynqeu8JbGmTCmlZ+OAVeJKh9/6r2uiSy5PG0JWXF4ZzdQPo9FZeZSKxvMdrs\ny2erC1Soe8/gpMF+Z8A6ZG+Ozi/sBq5YigVcSOg0UJRhJ7DWLSocifL97KIW\n6rkQ3OS+WaNvK928XLHI9uzKb6gasjSKNPOjWugXM2gBtHfxxcSLzdSyF5zx\nrsavOgZt1nDrSXTUMCTaErXedd8bgyCzTyVS6fCLMQFzB6QENuI05cGJ7zLB\n1FvpxB+21YNx3A6L7yQVvOySPD5jnsC7MMUPcZUIqGPbgjTvZRFqTFlnW0tD\nGYg9\r\n=rYnG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"cf88e00a099b9ebde2e4eb47ff11feb6d631d300","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.3","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.9-pre.2_1544834436305_0.6664949523870907","host":"s3://npm-registry-packages"}},"0.10.9":{"name":"@adobe/helix-cli","version":"0.10.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.9","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9781b1322adb76b725a157564cd1a998cea6a46c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.9.tgz","fileCount":14373,"integrity":"sha512-9bNzSCvq89NVen6A2g+Xl6jiIWWA+webNZtJrq9S9t+PV+m+1Y87dRdca/1TaZsmW94DEFapbV/0enuEKCkh/g==","signatures":[{"sig":"MEYCIQCIzZ8pypjqLNwCdPs48+Pzx3RB/0jlaaQ/x8O8YbI+8QIhANdMniYyFK57c6LcMCFnm6piKCvfCgCQAhm1HL8TzkrE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":165302560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcFHCLCRA9TVsSAnZWagAAsHkP/iSDDnckGh2/uJehSxTK\nyX9wlcHXPJx63crfi+63PopcUDu8Zd/9seM11s+aBJOu9MBcLhnQvHs5hQrO\nfDlKBdUrzQj9sQj/wzlHd/30A8K/bN5tkawJwEjxXJsaaXd+9T9Bk1xKHQF8\nJ+7/GoMNF8ycPrBtBAaZlnldrtu1MjQpR9AxtnDdhVoZvV98uUk6V0za1zXJ\nFA2qNMujQkLfCPUa8+PLQ551IiBq/qrmjMOkCi8bJ5VPp4xG4nT/m/3qFCxs\nlig115VIGNoMN9f+GDOyofJz8NJzBa3L6dNsuIk+dfSAR/xuSur5w/7YXJdg\nGuvBEPQle3Db3lvF5h9HaHsYLuK8j0j3OMfloQoZL/44NtcnrPWckkls1dtK\n9OdqLS/3BBHv+oXwGYXWeYa4w5j22q0xCEB/EYeI+eHdD3BBA+Y+lg4LkPPZ\nkhAjFB2NDsozQsiKhAx7azHxA9zMCwY5zI3DbNndvzvwz7OhoYEpxl238ioO\nFF/pkCbQNKEU8+GP1xvQInWGeNo292RGWYunxu3qN2+aaTl3FlAvXodIpBma\ndmpSV0+PooJTV1IdgHpzYJVTsaQ5pD+M6hMYCtHMcA/HYyUYO52MU0bmXuhJ\nFKySlTNWfjd4NAnyyuyNeWPxYcQ1WPDeLmWO/ycitIJ94QW91IdhImNHXN59\nv6zk\r\n=LzV7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"7236289839707b1d7fe8e5ceee718bb2db7fe3d7","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.3","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.9_1544843401785_0.8338877064359711","host":"s3://npm-registry-packages"}},"0.10.10":{"name":"@adobe/helix-cli","version":"0.10.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.10","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1dbd3134fa186eab99b1391de76f9d2c1650efe3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.10.tgz","fileCount":14621,"integrity":"sha512-HI3tsFcuwqhAD1sie+BhTLwBQNxPkmpOSk58JfKc1SN6LLTUBqys8ofMICip0NguJkUkgGrGsREjwqhAJs2Okw==","signatures":[{"sig":"MEUCIEseY0Ujaop+VblLCfHxaW3x4B4b0kddZtB+zcwqIF7gAiEA+LunsHg8Mocb7iXUTFJLIclpCQpocnIeM9cxNJZJHdk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":168266626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcFHITCRA9TVsSAnZWagAAehEP/j0U2MaDcW3xHI0jO8UU\ntR4ov+c+1tOagX+kibwbCiKZbhDwQc/Ja9DyW5aKoM72OQU1ELCBjZPFRmZE\nZOLFDwcRDMyxM61t58gYefOLzJCl9FHP7pQbhxR4xr5mgeRwnp+VAcCJOI+j\ncnhVz79U+0nE096dy3R61iCDn0Q9uTKTq2Hp8iPDtI2pOG3i17DNwksYR3Pl\nPnsm26JmdpfOMZZT61b3d8TUzbrJL9fvxASICulpKYzJtEyYeNuqv5l+9oBa\nwIsEgH5fr6rkfgswmRDSiv3rFA0X4BAoJ2Nf4uxorlTbXuqrkf0YmqNOgdki\nZdf5ySMC7LHWHcGMon4FEjC2RqwuWiRBDtUIEZIC04QrwrNPcDK2EYNZVxP/\najhBe7cmhYu99Z2agPJ4RNvX16F+MObwALRI6UPITT04S+ZldLQd5WiSpInO\nqURTxo7rE7p2uX4MYRDZu26ymRzywArJODEXHRGQv1kzDF9jlAIyhaEF1wGP\nsgqX4mRS2LXDvTl8y4cFbJuNEDPuxiOq0YLm1rOZXz4FaCbpxwm7NxYTFfJf\nTLLJyyAGhFvVhVxiqfha8vtsQIwzH19OTF0QY+25oDO4ZWb4oYL7fynNwAby\n9b5BpvdcJLkP8lL3g192tpiW2wEEK69msOyo8jyHkR6vlqD7sIRHP1hOaS5Y\nAG6L\r\n=4Sly\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"76fac345ba5aedfe46aa3217a1b8994f03ce3e9a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.10_1544843794502_0.9782969411324698","host":"s3://npm-registry-packages"}},"0.10.11-pre.0":{"name":"@adobe/helix-cli","version":"0.10.11-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.11-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"316334632975ff0b48c7e5508805f5e01e8706f3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.11-pre.0.tgz","fileCount":748,"integrity":"sha512-5Mdzf3WwFr2/LDYczdi73n78CdcPZuHXXO7HkIPIIsdiChy3jXSmkmTROTcyFbuSFMGb1rj0plkAfszJJL7GWA==","signatures":[{"sig":"MEQCIHM+kUCSy4KAk7ih6bQCjl2uWXDgQxOPtjOHjqy/77hUAiAY85Xe+sEKXHEgdXSIwMbMHovyxv0BXNwf1HOj/uTBbw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4054876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcFHKJCRA9TVsSAnZWagAAX+YQAIi2jzrlAQ4ltGkj+z1u\n8JlnZaNtr50616/dZVkGNfEtbHDmfCuuegm9HNGOAPlB00056wZ6y7DeCBP+\nD2/dx2XSbqaw9AZCa1h/oR+MTLEby0fbkfZtbCSCkzNbl0/CSXOE/3KxTPJo\n1C3eu3GnPK5/uXg76NlGKYX8vZxm6Zlau+NutBKSaKbOuUyaau96iwr+2tZn\nAOUvRf8K/LPFJVFgHL9HJoA7cSFq1yGO10vMoM3FoLma28fC5F+LKj4EyYCr\nOxP557BDTCzgHv9wzljZ3cyz2r13/PEt8oUgrPKTpO0edAVw72UDu1JfQu0s\nwhmV5NJ9hoZ6QC3VvIYZc9+GRwHN5NA2bjnxRJ1AtJz/LnDYvL6SsGGMDhL7\n9PFCvN6TUYb9Ulogypao0IZLmHr4MQ3mU2/BjWXD18wp2HmM78kNC0UIiTQa\nvnIryUmF2Vn810afcrZDNfNXTnGmtuPghDBpw5cSfpKy6J6+3prbeBMJGpKx\nQlXbruGyKvjVzUjtjB8xkhTxyw0f5KVQ9NoVDV5yZtLiJ2h5mtRfCb8Mg2/t\nL2mbTfNJwyxtH+s0xYuiS5TIHT+7qDy5PZwv3HudZWnV/mjLfQBKhZjDoa0s\njWpr5TSMUyXI+FxX1udzYXXVkELXOtfI+Aal1RhXE5ERdM4EGOnUxJQ+N9Y9\n9RyY\r\n=g3pu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"719688eaf9c0d59be1bd92e8bb77767737ca41b1","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.11-pre.0_1544843912381_0.5829055829690266","host":"s3://npm-registry-packages"}},"0.10.11-pre.1":{"name":"@adobe/helix-cli","version":"0.10.11-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.11-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d2fbcb13f2e875fbd16576c050eb6f4de0ead6ac","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.11-pre.1.tgz","fileCount":748,"integrity":"sha512-IuyZLXneqnNW8yWexnBCb3lE8QafR5mCb5fGRiXAimKvqIDrRQSrYBge7Mnx5VZLdm4BBTA6O4Wn9m7/vMOQog==","signatures":[{"sig":"MEYCIQDqXzKiE9QJjDQbUDtDBsH9vIlTX/shVGmS1Y3SbX7/nAIhALhHj/u7ffox+LNTOHn43QhUifmj5DGiPLW7NjE39h2j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4054966,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGPB3CRA9TVsSAnZWagAAAGoP/3WEUskapx481W6Mf+oC\nVUpd58he6NOEAXg/JzrK1Ay2USc5pPGvoXA+G/hssPsmjFSPeqD1ziTxfLGS\njvKTSflKyUUP8eLGR9oJ09hX09OHhNmHoiZ7jYd/liA/ZYoCXSyfCE5ndhbn\n8wtuCIEfWL60FZWlQIv6IaaBEXrYNR1dfDMSGCEB9vgNQ1qV4G5D/oyo75qY\nRH64M5Ykqwoh0D8AljQ94Pw3rFofvXHBdKhunyUr2yQ7DwOacoIgeI+ocg64\nCdBTkNG3wnqP+RrqTu8EOTZBS0cD+VHtzm5qA6k2TyIIgRdfvEBLgRqexO9K\nvDG6tDqhNIfMlqt4sXDQJ8T9u2ufxWSJmZX5wdxr7dodCktrRgLEA/uVse+5\nI72KhtR3O3PWfYW7Kxu53Yz7wnzBdA3coEbEL1CQH1rEP88hG3r8LeXDEq8b\n5RFvCttyHXTN8HUHspsCpRf4oo3K+2QMEWUprosrwHNudKDu3vFUAIllf0Bh\nHLKYGLlXIrlUTVFLx4OKmImiGKw7Xbjnpj624kSN6zEA2CURDNJTICJpAgpH\nY3a2tgBoTk6WACfCNUIXT+UUHrqhZSBNQ9KpnE+0/9GFD0ZuI7tS0BTyyYCP\nDQCIknxQWmoR2yAhMC9/PTPU2xRlGi5PfYfwRbpaUjdgidPJZaXLoePBFvZ6\nuJ38\r\n=WlyG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"385b3624c7ea162fe8e115ef9721e555e3a124d9","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.111.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.11-pre.1_1545138294772_0.5698753307153377","host":"s3://npm-registry-packages"}},"0.10.11-pre.2":{"name":"@adobe/helix-cli","version":"0.10.11-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.11-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"79501c4c7040b193c188b75851ab4f8676a88cf8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.11-pre.2.tgz","fileCount":748,"integrity":"sha512-O8lv9kN9jhDOBNW2+tY5u7Ct/vEFab118mfccAioj8SMDmNp+VilnNYw4W+oEdNny27bI9lpKG8xYk+0bGgF/w==","signatures":[{"sig":"MEUCIHCmzmOijWMa6pncsxirEHdPJyQL0p6yPM165hHiyppgAiEApglN+c++D1zW2TxEPvVS3626ZC8lNXmEXY3fF4B4qpc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4054967,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGP9sCRA9TVsSAnZWagAAB6sQAIH8CIuUk8xP0jz5x21Y\n3eJnhR3LAcZd6HTcRoU0e/FkoUJd5GmDAGLGMerAzxQHNyrb839FYk6CxEFX\nulfaEbBcuSkXjjpCgCZCKaoEJ1OV8MJqInX2HMF3buI4zUDqDxn0eNOlH6/Z\nZCyIy1qBS2h0buieArXVabuN02JL9H1SMrew8TmYXgNiSd7oT5LS6QtUz6Kr\nXNDQiCSeQz8m4HB644PlD1bvQJLvvHx/TkRymSKonMM7VlBPjsjCaU5VZ+BP\n8P0hL7AB/8f2YAHAh9Sk/7GfHOo6l0CvPhfBuSpkzu7a+VB5PX81xiTRD3ro\n//D3KlEX50PbbG2PB43B9jS0keS1uGD0qZKKakBdKDyYPqP/Wq4fbj4P6GLv\n00ir35gjppstfUd6Ejf9zTNTZ27HGU9JqJl3E7aBNrRtnt5hVLX6IreRUOrW\nLu75vqim9bPryeBLuJQFL1CJ8R35PNkE2cplMeyoQAcfwywSd3Sx0CPH4Mo2\nWfmkxfWtbMZIvpaCuGb95NiR5ZJPt92FCRL4zDH7BgPLMBcGM1qyj1rGIAeF\nEEb4DXudEkGWNRcIpFZsMj4XNK3jmhQyKh2C+ekSpnoHG4pBH+lCQz34duiu\nK6dl6ZD6W2BvXjr6vVbCCL9k1df/Nf5/FguGrAr4d4VmikuYOhdpeLP7PQpD\nB5eF\r\n=lpXX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"aac1e779f4bde36ec9734fe06a02d616fdabed05","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.117.2","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.20.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.5.3","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.11-pre.2_1545142123136_0.18255792347801325","host":"s3://npm-registry-packages"}},"0.10.11-pre.3":{"name":"@adobe/helix-cli","version":"0.10.11-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.11-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d716cf7074798c343419233e59da4277d8fe377b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.11-pre.3.tgz","fileCount":748,"integrity":"sha512-XTIB01ZLTipG2DkjNipzkgb0JCKSt8Zs9fB31BRvRbbCoyKMuhyD1DGZ6JTHqkgbcv6KwH/9lfrqIEcl5Vr/dQ==","signatures":[{"sig":"MEQCIGikRZBOCj0/L5iHvlKzi1fXb1s8Iaz6LldI0k/sa9mYAiAX0PLRNfQh9onqwoRXGgFo268jdMomwoOB3MCFUAx7PA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4054968,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGQCjCRA9TVsSAnZWagAAA60QAJzGVWksonMba3Ch7p36\n8Tm4W/77my9efgT9pl2tiPLVidHMY92Noe4U4jozz5j2+0JNh6WOEt21aiNB\n9xTvp5J4k2Um2nyDi7NRM7TqLBbKsxN9ZnWI8Y7qzQpX2jdApdIqqHbvSwp+\nDbpZ9hHTGYWo1v37bPPFROfI8vQBcsx6exqiXjS7gywNC+FMNwQa3DTLmlLC\n9QEhVst93RB2b9B+Lz613fCvI9PcFiUfA8EvsFb7rd49qGXWN32b3u3mzQ8F\nd+YD8u4ozKZckUOX9nfiNWkK9tKS0mAmw8dymmiW/Bcu5N96VhV7f9cPt47n\nNUPK2DSeqdHyfBmlbkOoHade9GEtabUtobVBGef1SiHMGIgR/qZ23uwX37Bi\nYd9lP3mPqyvLcuiIw13LkcpNFmmtVeF/iQCn8aGGJfsNIEh56JOofPeEBQWg\n1wSVE8xYPbRVtRBflqvUc53utcBCNuhBOBBKrDex3g5tuprmGqnnKHOLo2q2\nRoxw+zjiuyNqP07R7fo69p+QdUF/EME99jMIzz1wbhVg1s2UPlnkEKk1ce5y\npRxm8ST2m4dbJlCYab4/G9JZPNtenrvL65Artz+jsxsJ2pEHwOJQ2cVyU8cs\nSroT4b8dfRL39i6AHwaMumCHl8Y6D/1Ml2/+PDkw+B+XWmZP55ktBH3KbirN\nHQMx\r\n=LUBy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"087e5423bef9a19e6ff852555ecac508e4319399","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.117.2","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","unzip":"0.1.11","eslint":"5.4.0","replay":"2.3.0","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.11-pre.3_1545142435090_0.42750827093567234","host":"s3://npm-registry-packages"}},"0.10.11-pre.4":{"name":"@adobe/helix-cli","version":"0.10.11-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.11-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0d01d3374fd992b17abfe5b1d183766ac1a8602f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.11-pre.4.tgz","fileCount":792,"integrity":"sha512-ppP4q9cM2yPpCCPafiRG4BGiqPCTsgQPc91z/IHAm4xeYLBN016ljbJyr7TaF2kc2U58/oGdTJiIr6Q03uPYyw==","signatures":[{"sig":"MEYCIQCiBaMmvq5KY3YtOd2hszkjUIRUgyG2rVsTM3hK2pXVrwIhAMHL+tAbrAoBdfVP2CpDkgk+4lglExBhObC2YjJul8t6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4091386,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGQUzCRA9TVsSAnZWagAAMSUP/1/ZK8Ob+kv2lHDb2tY5\nq9UVeKFbjS/ORNmZiv3VYivXACNPTt12T5+tUQRmDynidQCldBa2kAGJmu8S\nAHcLDZw0tcf6wtSPk4fsV9DPGbr9kIw7+orU53wYCy/PhPgU8gZLr5FVB7c8\ncBD19ze62M30fehVFdX184Bc8Nt7wDZ/63AlkdSx3Fo1EwmXtaJ1Llzxy+Mr\nBkYzYfcX5SE4CoIsNHjj8BGGL/nbN61H33qJjSxJ/1y/x1spf3wgd/5QEdzJ\nMF7yNBHcDmrCIjmOAMNZ/U0Iqml8U98ylGzOWDx5ZHmvOm0chYxCPZRSl76w\nSM1eFD6vBNGeItwl4CbhnXwYfF7CsROHqBK+O3sDE0XbW/ugtF+mjqfFT3Zl\nngbt1gFETv/r2ZaeQ/Dd/URNRE2Z2Mp+Y8ey9XoCdsA/U6YEbYU/fmk5qPJX\n74Thl1mCsoZcUGr7OUEUJb8LBZP5tDVurZx8bKdbhnVcqaY+qdz0Q0RZ6Y2J\nw65zb8BioZP4bFGz3Ww5sgJOGTVdUbV6wQB/51WeEjp/SIJsRVnzwjIiCT3p\n8A91vZAqgSV8ooyRH8BNoY+kBK+HOG3lylGDFawrH5+ra8Slvzx+7+cpk7dx\nf84FdSJDgS/0lA+V6ZKq/o7kVyMyRogiY+o1NLIEgOJW7t9tR8JQb4RbfFYE\nK24m\r\n=VZgy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"1b73ee0250bcc181af31b8aab780971542432dc1","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.117.2","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.11-pre.4_1545143603156_0.5869611668732235","host":"s3://npm-registry-packages"}},"0.10.11-pre.5":{"name":"@adobe/helix-cli","version":"0.10.11-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.11-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b335665f808ebfcf763b17032928c39af13e91d9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.11-pre.5.tgz","fileCount":792,"integrity":"sha512-P3aoeyvPFCdypbMqJqSMcV6cjA9FjoJ0vYGvl5DFc7VtH7RJGKLkbLsJen6DEkq/K/2tKofCfm9pWUTSAqWzJQ==","signatures":[{"sig":"MEUCIQCkNW9wfHm6VKaXYb7mG8r47GLLxuKEe5+chrOu8agHdAIgPyw2RZl7Rtr8+OpNy8H3r6/PjUNnaTiIh0x9gYmK7rY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4091728,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGQZWCRA9TVsSAnZWagAAceQP/1OVf27cgtJ+8z4QWuK+\nvKBCfqjp3mkeBCUJ5Wrldmzb020iGZYsb0o5l1qGW0eg9liQZflZni7vqjbp\nKfq96ttPoOZZyGNmMaZn1VJ5ShZLPV9hfS1YAd0YwvlgLObReoEqMDygvg6g\nuQrvgc7K8p1tsmxT8A0r3ooEiyeqyS0pjb7A8+gs4vUlE2F1CiRAVsDSxHW2\n+sbJbEbMmN+GqtE8LyCLM2Y56N+3EgvfUElPeiPtpDutPK85G8OT81QSbdVd\n6cC/VrC+B4049mhkDvRTwqZDUELEXFJlztwOoLuynCXTlrzBWCB2ckqaNd03\n8lOO0vVHmJi/rKVVCki2JQvT3dj7Dloe6Y02mSWL3MJv5s0xxEDA7P4eMI5O\n2fc4SVEXk5V4l8BZpkxV/3kiveo/U/7cleaTibS2GAbGF7f9E737vkTnUqav\nOjCkDX523NnEQJVOuyj4p/ndVyHjNhWpTzX2LYrQ3pDH2EGKBFqjM/R3lDO8\nAKMjpdbYp3yKNr3NE3HHeW/RLjDJqXbpDC4c3CSdF9hfx6m3fd2656z7RZaB\nUBUUhla4WlDMDb4Myt9JKCht3Yo22l2m+sMcXdHA2Rqlsw9H0Qb+GBtFA8Jt\ngVLRfBVXO465D7AO4FphngbQQW6XQCcRU8buTLfX+FofC2tAAnpJnU14wRdC\nqyAh\r\n=0CN6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"551c86a7aebea6e6933f70df044edc021b5443bc","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.117.2","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.11-pre.5_1545143893831_0.44660003480529253","host":"s3://npm-registry-packages"}},"0.10.11-pre.6":{"name":"@adobe/helix-cli","version":"0.10.11-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.11-pre.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6d2f903f91e0da2bb2e881e9b111f2f38a335533","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.11-pre.6.tgz","fileCount":792,"integrity":"sha512-9ZWCgPcHt0zyDZkzr2q/6bgUBaznC8tiIc0OqzsB7bfNdMYGPEPLvgO/o6ijl++gUEYCq6Y3lViBJoBUB5MBNg==","signatures":[{"sig":"MEQCIBdO17Rdnaylli5fcccPtxM/Dxdneti+A5YPn8u+TFdbAiBwjSoas1ToS46XQnLppdNbfobLq3ciGBZ3fg72b7/t6g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4091850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGRqECRA9TVsSAnZWagAANsoP/2b3yO5DqTRxZBvo2k+e\n2HlalG1exJ2FgECjc90LbQU+VIbLjhatrAQRYEfm8MropTdAcE82+niu3KXO\nSfY/7s5hKGHBcup8vh7TMnrO9Jr0KN9/XrQiXwwhUhrtxjDiA4NWDNzDAw9Y\neKPqtzUIynGqGPBMf+b37NdZbkkKRy5QOdfrnRJ2LfWux6CceYsnug8kHeXr\nPi2mOA6xGsZWn7kIaHlfkZD+Hv/lYG7G0/7h1SmVtGRx7AjsZbwa5swRPjkQ\n+WxfC7JZ3TzSC4ZwCoFNBiqHnmeta9gFzk8bHabaqqjeEdMnK0jdFbXb+O5b\nqsh5VGLW1isqaByRilsWbr+SPLKlXlg1PJaR2UELEj4tMg9XlPisbCX75oLo\nxA47DW0J3ky7S1gRuvrL15XtaeuW8ScScaqQ5serDO2j/oWSlL++ZpGUh32g\nWQ5RHIKFvezro0nQqPquTnCKsGM7bZxTgHCQjkG4YULstk7TTxzbMGqR0SMY\nlNtg/fq3FhSQGaPPJccH8LxKu+5XLNoI3U9YX8UYvt07NhbNLwP5fPI0OFNs\noUfIDp34mV+Fw6b05uf7pNwBFr3FBxCSStNwO8A+gsRP+fqdXMar2FN/cZPx\nTZ+OfRjlZvr3DXXdGQGe9budNfM13zBmSIexN3I56hLkr8tOTc+dK0nKKDCd\nKfK4\r\n=3fyB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"84d7a70398180da6f5be78902247781f1bc79e09","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.117.2","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.11-pre.6_1545149059633_0.8006186764373762","host":"s3://npm-registry-packages"}},"0.10.11-pre.7":{"name":"@adobe/helix-cli","version":"0.10.11-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.11-pre.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"19c4f84602cfbd255288a921d1ec4bff35ad811b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.11-pre.7.tgz","fileCount":74,"integrity":"sha512-P1t00goG3F1WLwXNFuo8bvRT1s7GLKzWBFovd/868hE5HG3APLJPtDNyJIPGeFdTkiJEEwEF4Sx2OUsqhtZvbw==","signatures":[{"sig":"MEUCIQDX9oIs7vlD5LRBii3c9gTKxVfR4OWfuZy1MFh/gRW28AIgXz+TYOEQi8C3HK7X3RNN4kOOnQb/khgj2wL+vNeaDNw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391660,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGS/sCRA9TVsSAnZWagAAYHAQAItVhmqABqZpBWdelDzk\nQdHGCCziE3csDCPX4K8/kvPLuJO8gHwXg6rllv2Dfp1LGZK8VFOKc0idlhA9\njp09o6lP6mNEtWM01C/LjnO5lcOrotNTSDkWwjFwhaAfuIo9l8Pow0wcJZgt\nzlLkV9mEFpSEBXSAX6xRJ46H0Gk78A0yZaiSrexTnJuiFHwzsioJ5gIrnHVo\n30RDwmhAJGSHFi+s1MwiVINaV7zzHnT9+zrYEreLc8r1Xus0S7vpU+2qdOV9\n4PJ7zJ7To7psplIdbZzWMOm/63+AYfse32HGY2L6eFirItw8oWnz/GBS/Gwc\nB7J8S6LmfPWr02OnkODWxzT8fdCiZFqIyD702KWHGtFGC/29ghnXL6HdW/Qe\nUXdyztHPWiG1pkPVPgdtCpcmMxPLAiDwzsADjbFFVmrBmRGt65aSCkta5M6I\nbe7OOkAS91c7efPvU+iVK1KiLbtDHf9lkbpT5pq+BRyiqd080GhSi+HHEBMO\n/JPrkcn1vljeBwCrL9OYoc5T14M+NKUmsQnYEKglOm9uiaMB6VO7t+eyYspX\ns3eSD/h7+f//Feq04pqgg+T4wajdcNi3cHsQxHmefIr8AX5AGA7KdT4NaQFf\nhg9cxBVBHwtvFXDknrSdhZnVy4cxrhHKNPokWHunWsDP91yWofhab3g/6RDy\nH/K8\r\n=Ivyl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"85692fa6cb5e0e321a5b80c84f4b2609adc37273","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.117.2","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.11-pre.7_1545154539582_0.14649417090855543","host":"s3://npm-registry-packages"}},"0.10.12-pre.0":{"name":"@adobe/helix-cli","version":"0.10.12-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.12-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"91ab3119a775ace82aa8a370dba37e5caaf7233a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.12-pre.0.tgz","fileCount":74,"integrity":"sha512-juiL3PiWsJ3wDZ21/5LaGFYTWc0IrBMJv737MVD3H5Tu/LBpFcaZumbp6ODsGCp9L4zlTcGlXz62Q+3l0rTHQA==","signatures":[{"sig":"MEUCIH5h6Qr3xRua//t//qRR+oTjZzrtB24BOBt0o7q1HZyqAiEAwuNdvhb3SbZ1SKO7pZR8D5KTzypqwzruBZyagNVp2u0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391660,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGTDVCRA9TVsSAnZWagAAp4AQAJwpRIAcPKJ0lDYDL0x/\nn2DdE2TqLhY74fhtADnAcHr/BGM14Q8WdJf5lv7xjVSBgTooDtDWJJoXaXn/\nc1nORfYpOquh4QPlXKw/j6zveZgStvEbYdHdt7+pMYb8HlPZTnW8N5Mq8j52\nvvN1h1qFAb8jXLEhKOZzuseWFC5lUzoBS/vyoT2IIUZs4ytAhIJooUTMRiXM\nYeQsTMcJaxvDEZXYRDRFunkere59H04DrfhXBsVA2h4zOBUzuu3pt9P/ioCq\n5sjiZarIIk3j+ttGrk8TN5A9gOSMf5H258K6wefmAE1AORve8wm0dOHULjyE\ns763/08tqNRG85H6B/x4UDNwe/s6hJBVIi34zycb/sLWdT4UwbjY9LLp+pBG\nTUZCxnfQvamc4Sg6E0QmANxnKuYdX1dLOw4NuWrK6kR39ew4EI1u1fr91Rnk\nXlxkmkuqrtvctPXRE4jADqzlrLLai4UAqHfoKLUsCAEB5F+tULhuWR+6dH3a\n+PaXuAcDbJXYvYOEL1B5hJeP57CUml5UntwKrijQhrej894TpAboNfCE9wDB\nlRfMbvtWq5n50Z3LFN6AK3n2IwRiHuBIKAtqHFkL6YnCWzouLn3bgN8WlLOl\nuLJZQ2Kl7xXHRMLS1Tm5ftz7LdE7rWPnkg/bl/Gi8Uyazr4a9MUpPdAbjJzB\nuTX3\r\n=Jhgr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"566a64d5a6dd0aa495503d51f6e0164ba817f69b","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.117.2","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.12-pre.0_1545154772401_0.7123101293864926","host":"s3://npm-registry-packages"}},"0.10.11":{"name":"@adobe/helix-cli","version":"0.10.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.11","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b4c265984fffefc8a1e0683c21a4c9c497c0a8e0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.11.tgz","fileCount":74,"integrity":"sha512-em9Ozf6y0LcVQo9f3Nn1+oj49LknqjuybI3dpyIYKuj6pSvXPvqQiyqlBC+YFCQUCwvH2oR4vWy3/zNgO/eNZw==","signatures":[{"sig":"MEUCIQD4xHV1yrUSBT3bUl9Q8xQcUHLNwzC6d1fdlLs/Rqer+gIgddwza+OIbKU3mXx8WLuSUbq8YqMeIb6VjH+1K5y2LM0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGTJgCRA9TVsSAnZWagAAv1AP/2U4UZMvQxv89faaKv6g\nysaorz9sgSwq8HIUTmFXp8detYcHhg0StE2i9QQz6YfLu1bUbVu2jb8GO4GT\n77gVme3rmU0FlImQaFtvMMXi9+LQGF7veGKLEt/DFpY0a+GoezRAEX9lPSMz\nGTM9cXyXgua3T15nH2ZBkaZsqgs4NDFTm0NHmKWO+JJ4aS2At27cXSETLzrz\nsjb9zLi/zSci5Pffshnf6Ec760wodqbf7eMCup8ptgzUM4GaUrjmo8nqAM1g\nsuwDeuhJVgL8Xo1GSLFmprBwrEo85VSATs0lGrtibOfxMcoFU/6MIPisiqEt\nUf+fbUYTF8uVzlx7RQW1ein/ouVKV3MrrP184DPSbe9U0aQjJ8vEtP7xrh/x\nMCK9fOBmPAugZdfzMnN6JEZ05qmsIupUxYH6iEo+wFfIMsyhJFJMDZ8RmC8Q\nssPCeQnIDUKg+v/iQ0AYTllx+QHRqcZyS/o5/7F+lN6d/S+wPElbraeHtByY\nZxMzRE2mXwnHoQuTioqlzjDiZMoROP/ukuui27Ikfwqfexgek3v1+3mLTrXl\ngKRVHHpkz+U5YC9V3Hg72ap1Gahm3pd3XFUxNrpQbScAk4lcJfhSX6kvhrKX\n4Vwq2q1p5BQz55w6ptL6Jwm22Q9/pKPEfmOY6doQwv3WW6Mb0YLVbLw3vLxo\njjBZ\r\n=U8Np\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"b85e6478cf697db9115b1d5729c00f97243dcc25","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.117.2","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.11_1545155167067_0.9907955622299702","host":"s3://npm-registry-packages"}},"0.10.12-pre.1":{"name":"@adobe/helix-cli","version":"0.10.12-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.12-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0efe5c31e12cbd0487dd51d93025000f3472c8a3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.12-pre.1.tgz","fileCount":74,"integrity":"sha512-JbWerJ1jBXytoPG47YRSGZlBjfe0Mz688EhKbmWSZ+BS0rLKPPwe169u+Eg2bxLphMfm+EwDIHqRwjYO+XIXcg==","signatures":[{"sig":"MEQCIDzR0Ou23D/1D6bMNwV92qYu6cI8ysn8ldrY0deDn752AiBY/+NZq8NlqbWs70H78WtvDghX1idYrTt0SK3jptLBOQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391660,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGUv8CRA9TVsSAnZWagAAuNgP/jZnwDoOw4SXsUWL1dvd\nbW1cwhpHux5R8cdHApL6job1tJzRPUzjroKD0EdiHw8gbSCOyae2/lFK7E2M\nXLUuKnrhqHTp2W8UXKgQYK5UA+a2mtBg4EqQj75v/EWiGmy01/ktyKf3uGsV\nhMZqPt+HgBQf97frls8Nnv3Gunm6x6yyJviEywbMwqFDXVPc7Z8ofqtryxw3\nAvHmWogyroBVfL+u2o2cDVfT+GNkgMlCcRIPap8BMtB+eJwzxdBAsequWu/U\nVsvBL6kIHzGfSlWr8cozjic0xOvezvRB7DvzZCEysXv//6KjBv062aSQsAGu\nG8sMUZmfVeV+xBkcYQ533c8A+iJgnesTjwzr2/emToVQAu3j7aR/y2Mtz22y\neMQDWrP+JSDgAmc45bp6PpGTJvN11+QFygBtZIxpdSyDUtHl1U8v2SVDF7p4\nGz3Uwy5QghWZfjXE+JUSevlumgNFwAp6RihDCk8vshH1Xz+Hv2ExaqQdWxxu\nbb5TmSA8NcfFQK5omhhlivwG8iF/x8DadGI4xTreYBy/GNd8YdaBmifKSOOV\n74ex27iYEQZfma1SWY8QJTx5jBXqzMVbrGvnxPTVCodgm3U4Ena+fvsN93V2\n0c6zwFMDtPVRqSjdO0okChxvZkSpsMoRsOAW3/g+nHfQB/jqdHRmWsrKuAmr\nWous\r\n=3tji\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"4fa330d40ede5324ee41ae7e6a7b71289b36238a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.0","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.25.1","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.12-pre.1_1545161723511_0.7414663802592834","host":"s3://npm-registry-packages"}},"0.10.12-pre.2":{"name":"@adobe/helix-cli","version":"0.10.12-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.12-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0aab776407f177563eefdaf50ab55c104bfa2a41","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.12-pre.2.tgz","fileCount":74,"integrity":"sha512-vgSgwb96QfzA+flDiLadfrMr3TD44Gkpj2QfbkT6xaDttkOY/PcP/CbiseunhDDaoYNsT5oQ1VNv71/YEg/5BQ==","signatures":[{"sig":"MEQCICeCl+yDFd64gLP81fCqbaygoFqtH1wMPKQx/QTSJ8REAiBprUKxO2htYEo6qCjCw/QBoYGbBw2EAON+AXlK2OZTgQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391660,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGqWlCRA9TVsSAnZWagAAmLAQAIHp9nnz1FCCo1qiLGls\n4mJFET3K1220N5dR9Dsl3XcGCMvRmSBgz7YcCqHBlpDQYRcWpXrcuJGB93qT\nlb1PLXdeKL7sgdLoouo6oSsheMmUPs3dga0bsnkaUiSeijxyAcoyAQc68bTw\nGsGoFd8iNo+EoTxgDmeZ2bJazbKiu4RZ3EKBuh2M5l3YFmtrPirUw92Mjn9J\n88v8o1BndwyNjxN85IpV0BfL0EugNlz2KMf8hnp0eGUACcFRaYxdzB9yf2SL\ne0H0KavvlNCsPWuA5F/2as7Vw5bElx/5cZqhlv3GSpQG+dG3EDYtQ1iB4jyo\n1waYIxQlLXHjrF1Jr/PN6KrAKp1hbicvgOTIXY5d5i7CWRkEH6vJxf9N+UMz\nSp2c+77Yi/Uxm5w90LOmTPdExx3xTheNFX7b5yIGfYHZeH2s5ijLFBxR92LZ\nuJwtWeVc/KW8406jAUy+eoFVP6VSbay5xXCErtMkOODtiIScaHuizUpZMGYa\nuK7hI13o7OhnFafzTvgqVC0Kmfe4Uf2cJ9CfTgaHzu82uGQos66WL+GYjgUA\nkpIIPDmL1j2i8hJhLx3u5LtQ+xBJhkrL5EDHuDCygeX6lsYGw+yP/vrFYX7z\naXp9BJw5loBNHFvO2GaGXuuphnA10E/68mOtsxknDUqASL35ilRmxMVMDv3G\nnqKh\r\n=0Phg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"eceb290c81f85cf3ecf859fc373919b82667eb8a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.0","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.9.2","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.12-pre.2_1545250213142_0.6552448375292546","host":"s3://npm-registry-packages"}},"0.10.12-pre.3":{"name":"@adobe/helix-cli","version":"0.10.12-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.12-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"55744eea2821574215c2155a70ff6966dd163140","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.12-pre.3.tgz","fileCount":74,"integrity":"sha512-4OZpFTJvZ9iTELPSmMByjbsvZkkLP1VDt8yjnS68uAx8xV1U8qmWTO3asCkciU1f6/RleFwNGkh7R68Ha+CY1A==","signatures":[{"sig":"MEYCIQDBBxnz5kI+vy/YYwDtol/K2vyeLJ6GhVkwFgwR22cWjQIhAOyRz1Zuwu7j2/5JizZmrKKHSiJ9nrNDIeMrQvWHElYq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG1UFCRA9TVsSAnZWagAA/A0QAJPmjTPLWqNi8j4dC9sG\n9JLCnNf6kX36D4J/fsz4GvbE51Fawu4v3uxcUYzPYZqgQXi/1jzT5KUCgmVn\ni/RiCi/NA6QLqRfqzJY5tzoaaHwixIxt+PI35gcsVrrVIu170JZdFz53tINs\nJORVXSH5o8+1U22KtmSluapeK3TGxbyPDDPnoBeW9zF8jvUJpaVTIajquNoC\nf9tzB7I+dDeeuoxykmg3oqpKPcS0CoENE6gAWcKUHY/joUJrS0/ivAMbUv6j\nIKaaHDvWHd/l8tMZdkid2RX6tz0B7X/A5PFrhcJIubIu51CPWNUN5+7yQyyH\nERuG0Y3nW115ZZGsMIqK8xpFzV9q5YXkM6rCzFWfUGWSlpA5YGEVnPNLoZxd\nS4uQEkWDUcchPirkaXUeUj2aNt71kn3xywj9gQ4O16zyOU5LRYG3Xk5PQD5o\nO49bFk3bKJfuipNhM3/6fFRfg8b2bdErmmek8iq9V5DSDuoo5f1nV8+HiPRd\nGsBY4mRT7Pw+FLraqozT+9iDBdTDwuGxvHEDVmoEBHyoFFWKdO4lCq1/hriz\nldXP3ilIS/r94AMU/bk62QRoKjNfPZsqjWz7ma4N2APf7Ea10Wx6IfT2hgO1\nlH3WMbDxvYpfha3yw9mA/Yl5+6bhtTYowioxiCqGqfUhws3J18JFoMioZo/q\nrgi+\r\n=3x9J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"a8203a0ede169ae0a27338eea2d73c54d5e89b10","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.0","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.0","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.12-pre.3_1545295109010_0.6921105000985506","host":"s3://npm-registry-packages"}},"0.10.12-pre.4":{"name":"@adobe/helix-cli","version":"0.10.12-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.12-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5df5f505854794640da43120ec9ae31c5d5750e8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.12-pre.4.tgz","fileCount":74,"integrity":"sha512-6StUamgQMp3dctU+SG7kcvWd9om/W2Kg0KUmOmQzjZRqDHaQT/UFsZmfJNNVtXBZBVsp+UPh75TiI0cAqeyAyw==","signatures":[{"sig":"MEQCICsspFNNW+57A5gAlZHmjWWU1NLe3BL6XxcSBvXr1nPQAiANK/0LWnZa2Qb9f9rLScdhYDfi173gitwzHAj/PKKmyA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG3ctCRA9TVsSAnZWagAAQEcP/3ZujI+3TYB8F6uTIAhG\nazmw1GRCl+8NrfbQP/IRPlOXXBducmUo8uBR8hOsLHzkvJHTOSElQQ85O4Q0\n9rhMlkoE1+mBa1jfwHcqWP86jWVi9IMvv8cvkYmafY+Sipm4yZGs2XOMea55\nQ6bfalOhsPRx2b5IwPkP2jEXSTBRzYAS7TASEhB5z7l6GSM/Pfzdo3LI/ckj\nfDPMkarwsJxmqX4Pe7BagaheVueiocvDaJRzF+4mGrsL2wACRexn81w7UIjg\noxMWJ2lF9e15gGOjje4esIzKpg5FZecxa7Ay3MyXziYdFh2WJJnS1AVyy3i9\nU0GducrYGyg3YojmXnRnV3TVC/DirzhGF2yD8tlcmNjXb7ZjQVoEb/MUshtK\nUqhtFH6h/LLZCitbQecUa460Yyw5Ci5PWAk+i3zubm7S9ZZowKYAUhlGpztU\nshEQp00lUkDTMDsWA+xF8Pp4G6MIhyC3+3q6a5HEqTCrANBSYH+FNX8mg7DT\nRMQMnjvVY9xl9LLR79WasWCWP4SKe5l15lkHDyxoejXMv9oACsgiCDBmszlO\nE7O9lOWCnaALZXZABBW/+ZnA1bwjYBqinv/JiTq/RASt8fSYjoy91U5r4WqE\nqrBAuNbnocHwLkR7LTQK3TIsFWawQgqfV0dRvjp3JnHeIAef/tQ0NFsNR3sq\n2cyF\r\n=Rtgd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"1dfcc1687aa8dc5c1381277ba066bba0514133d1","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.0","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.12-pre.4_1545303853040_0.7732982987133394","host":"s3://npm-registry-packages"}},"0.10.12-pre.5":{"name":"@adobe/helix-cli","version":"0.10.12-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.12-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8df74a63c6fba98f9ddd19e5db58488f75f49650","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.12-pre.5.tgz","fileCount":74,"integrity":"sha512-AECldWIr8i44zl2eMhaeBTIHaFfYwcA2zvYmH7WC8DctxfxdvUj/8PAe45NK4cq+JbEOZz4S1EczpJiYZbSAhA==","signatures":[{"sig":"MEUCIFV6GYzwszpaFDn8NEIal2UU+wBSgH/xyN4BF//8fkq7AiEAuNkcTkoN5AF0pCqOfMzYj9J0/ey0d/bHAYz8QTH+kUs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG3jBCRA9TVsSAnZWagAAbZwP/1Qp3yR/cs4B8/utOzoa\nqq0ETaRweMmTzMzGS7HbnlMrCU1gXHg8F9tJwv6CObkl+ri9GwC3cVfGC+fK\nTyaNtpA8LDqziHGrLo70st+MTwrb3qL9TfGoe0HR4caRuRv3amo0sZlG7L6W\n9pQ2OcFzXQAOuDgcCw1sA/vguwAbFVwC0WSO+Z61Fudeln2SOjU2E37f8KkQ\ny4oyiSzxn4MnHWPXo+876cjE/0hIUSD/9PoiEcCWCumkpK5IzRis/cQtkUkI\naM/2UUHpdJTKLJbMsBvR7KNKBIKM+CdUE9de2GDPukK+Pf8YrDRVL7tLHozJ\nDpEhSl+6GroIRzqmvuwKdM5IfNP/2cos07Rkr9K+MO7Apchz5rQlvb5Y88dk\nac3m5vqGD4pOSpXknvtQvnJ8jjiQ2SKtL3BZj9Eq3pAwl89CKambOEYz+TTV\nuXI2FvPLoF3F1wk0LUhB1467wq0E1m+219+RZxbBatrfHQwn6Uj1AOVSwps4\nr0bjHytdCrtm6O8ybFbVtP2EndHZy8TNf1bchmflzPcXvEUz2ISEMJgXhFIH\ntE9kF3tLtNDGJkTlOongcc78lZM1uJzxBV8aVwDz7R0o9N3cz3VS55LKQUSv\nGbWZhBi168TNlyhaALaIYB2PJf5a8HtqfdZoxm4bX7zpbA/n6Um7OsCKvWCS\nqx43\r\n=0a9s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"63f34e18a312bcb23acb1fea2d79e8795d3c2e9b","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.0","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.12-pre.5_1545304257254_0.5044317512109002","host":"s3://npm-registry-packages"}},"0.10.12":{"name":"@adobe/helix-cli","version":"0.10.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.12","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2a00dfab864ccd8ab64e5097e3b98764861502e4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.12.tgz","fileCount":74,"integrity":"sha512-6ad/chtjykVjZu/kDvy6rXMpaPlFFCp0duaIe4JtQRAdZOZfSZ2XnzLkpG7nvv9H8Swtan6vZoH5QQP7TdgKfA==","signatures":[{"sig":"MEUCIHQku4L7+TpGSNsJrMCOw+gHM3fxqXqbuMWmaDueJKU2AiEAyNRD8cZTmOGurUZAwuv46vjd8W01CgE/yBVmuMq7Iis=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391655,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG3qwCRA9TVsSAnZWagAAKEIP/A9Lym/mmKl1OcYhiJCO\nuGqWDYOLTTs2Fe0aIpTcOFL7HsvQiFu21oR/9L7hudaRq2PQq6YWFXX+IU+g\nivpEWhQQ/fel5JTSQHOWSXEE1mbn5TVUCxYgH/zyosURaOd/g9Dri9crruPB\n45HYcwoU2Z3L3o4q977mtcuyvjIHgLz8ZzJWok7iKmedL3QptCc3rNZZ18Hq\njYlBb60Ol2foruL1wvQB8EXCsu3VowC5YukE+vAKyafxB0ljjamL+eAqMPXk\n2XK3stKm2b9GDk2FlDlQMdmQcU5MjzyV+K880MfDKY5jOlUYpWJIdh2Rj8gN\nHxe2a5W9Qq2GiMfRi/XZU/W56HwBs7m4X/SoQPCsqD4pSIbovKi+i3+ouF6C\nOJernFqy76F/vDNRI4+ZjAEEEhQNur54GdFojoKfzdebcjyZuMJ79t1yvyPD\nNpOpSy1VJSSXW3XEYXPfjDXVRTanbwja8Z1sXOB3e3omTybv0bbfSoe8GHPD\nLCpINuYyX04jr2lO1zWuIhpEsrdSHnvLtBemgyB+NDKnR4akhe+UjNLDyiUc\nsyoaPu7pLnad2aqWNnFnc3VlFPy5LoaVySrbHfhXkLil40FNsDo539luzUwQ\nG0RYPXE8eTDOdNzCZlZmvuirtPcVPOxLKysW+4jrFR1ESrJ2XYd62mEWmnfg\ndXBd\r\n=rgVX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"45b3e01755b7f5d1c57551657c5c4d89739e879a","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"5.6.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.11.3","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.0","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.12_1545304751319_0.9531612088838772","host":"s3://npm-registry-packages"}},"0.10.13-pre.0":{"name":"@adobe/helix-cli","version":"0.10.13-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.13-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bf6170c476b544ac1819973b32a125c3bd8b4aef","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.13-pre.0.tgz","fileCount":74,"integrity":"sha512-0IOqVnI8ZOBZiQaF4NqIbdifaRA/EOh218PzZ45c1xVyA5sma3v60ZiXcy+ieTsFhhjR92X6WXy4r/frLCG/eg==","signatures":[{"sig":"MEUCIEVZ2DShQbPjvte7Dzb+tgkQERagbKLsNoShva4B4wPHAiEA7TK96uyklXygsUvApoCS0FXanouD0s1fCgcpP8PcizE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG3taCRA9TVsSAnZWagAA3TcQAJEY6DijQZSGisGZdiDU\n3spZ9cfOPHvlo5mzp1J6Ioug/nJkrIeq8wu0RzYJ700ysXHYD++3dCtzH8wb\nJbOHQKYdJIMkhPUASeZi00AFm8vnAWQ3DHHz7oKVuVnq9K8cUyivsPl1V8n9\nZyr3Xpc03tCs3rbz1sSvpihjWHC4eufNeIHGK2m2vuMS/cQRBYdQTqoXjqEc\n29GNLORJPn/csQLAqoOIEvPKFIO0pUK75CWqc8e7E6tKEPtkVHdBBEKzz9BC\nLOZL/K0gFBl28CZatOR7MnqHyOzHozG15271eZ/2LrM3ZgUI56Z02v4DdGUs\na5gyWx0aJGCG+WfvJXmV1uhRQzxjIRsvYN26/7Scy/PNQ6/FtddXsVI3wnna\nWytDMYARmTwxdH82en+u3QRWz0K1blrYn/JcRCTNcD5woBTQ5hXcdxw4ykX5\niDTHkgPkn+hxzSf2UXCSHy1iKBrYRWC5cXEomIF5BTaNebcbxzvvOJ1ZlTrS\nYXYuMa2f3Lkefntm4fua6/5FdAjWDNyLmR9MbYyOHAuyKdrkFUpH/tg4Y7Cl\nU3FxyBRcdJl4obxw8YWDcfRoBtLeGL16E8b7FyWdDCktJodv8AQvmj8pH9lW\nqM6BTq5CqmZxM89zy6UDODnX/BxsIqhEIbXyJln5NtzRP6PlxiDzDrUfGqSZ\nFRaz\r\n=KGEs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"d188cade4d03829713fc3af3b3ce1d17b9af57b9","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.0","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","segfault-handler":"1.0.1","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.13-pre.0_1545304921586_0.4776192277829032","host":"s3://npm-registry-packages"}},"0.10.13-pre.1":{"name":"@adobe/helix-cli","version":"0.10.13-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.13-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3c74425606e88ff9ad304e813991dde505455b8f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.13-pre.1.tgz","fileCount":74,"integrity":"sha512-8NW/+bwrX+CVKzKZ6/R8UvNO24Rf8DuOD1YQuYb36Tuf2AdN3RRto+sK5HzpV06eeWsOPjYhPIWiBjaC10MieA==","signatures":[{"sig":"MEUCIQCEbpH7W6EntiZH8Wo9hC6JQiiRFici5IcQKsnNLAz0YwIgfOBGWRFYneO6wKQZZqBW0Vw+zuxxcT6RlZ0qwRo21k4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG4wPCRA9TVsSAnZWagAAiIoP/1lttxDeAWqzDklhaw3n\nSM7PIZJb+S4BcMQPOu+dzimbtHD0RTkKPDeyideeEyXrFGKAhy2z9JjdHiiF\nsziRdBbweSiIXSFoId34jvBIu3pbZKHkYdsXFpl88DfP9cKoVSjgtt892eT2\nKWjT3Uxan9FgpmxJ03oGjH9zWhN79vwhq3NLu86Kkn+Muz3Xmgi6CbijJ+BV\n/afObj/Lk0cFd4k2mEZMBuihR8/bSOD1ypPnJ/F4jRaO1VFkjCESzCXMLpMq\n1oAvD6pJz1kkMOLC06EQ2I6w/puVVuFI7tHppd3I/MmGORcgnXL6fMwN+0pY\naacoRbZPpd5uZkQH2LDGNTMHBSWYKknZYM7OHySxIzYZCiN+ZuVwWvpZUrKe\n85HGMf8Szn+y7vnZcGlyf/o2gD5/5QbILVTZxaBivDSBae9O+W17aplEdMFI\nfobgrSEOlabhcOl8ogehU7ERn1o6pJFdS3NtTiQDzUkxjgpye/oMsiqLELNg\nDSA6O3EOV33ib6NZ6Tp88bGfuW9qN1D6G24Sgg8aJ7f5pYqcZPQAaTNbWNIa\nKKHktKHOAZExrpGk2ZpXIbo5nruDxz3/ZTYRn/hD4HT0XMvfwJivL5D3co8o\ny+qvWdldsZ4MhlF6ec0MTJD8SW1UoKO0BqMvoE/r5YDXnmXWr1Qvttd3uT1a\nSR2l\r\n=Iu01\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"1ce7c3c6ab162eeae24cd3153dd39d58851576a4","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.0","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.13-pre.1_1545309197994_0.3264099863088199","host":"s3://npm-registry-packages"}},"0.10.14-pre.0":{"name":"@adobe/helix-cli","version":"0.10.14-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.14-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"204d5eb01e2836d5e9355a2af7cbd8076a3476de","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.14-pre.0.tgz","fileCount":74,"integrity":"sha512-/b943/qEm05qCV5KyIcIsiB1IsGe/BXI0DOF52xdrXNzZQ4AJ3GIB37UmYn6JrVZ2vYavGoPRriAYxZQIAjEyQ==","signatures":[{"sig":"MEUCIBEk2H4Ybv/bLS4oc1Qz8RXt69NfJ2BTiIV6nfPa6oIxAiEA8a/jzNOF04K72sWGmTSD7cXvoepJxx1E+8O9ID8Onhs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG4zeCRA9TVsSAnZWagAAJnYP/AwUu6s7kX6N2NAmhR0d\nRpoPl2hkOp4JNL7c0UO+Q+Yf8WctkwPCeHeYxlK5yl3gIShUNne3/+774SOj\nU0CIMMs3fmqnqdOT06nSGNYRmFvhKQel74AN5Jdt2mjZerywAXHC1X2rYQkE\nB6uehFtkle0oF2YP1yHcfQG7PuMpF2LQkXgSeWg/BJWaqVN9PuTeCGcWuU00\nEmcAipi4nAUaIZWzLaq9KOJba5nNC4s8bFCzrTMVRUV5JYTyLBfmens3upDl\nFBWvDXniG+DCJvUlhjz8d27NXVzUXv4yzBUEppfocyYI+mgt0iSXL/06/n3l\nNd1dGxJQYYcUOqq80GO3ri62B63hNGFsrHE2xPhVpzywi3M0cFiEf102ov/9\nvcUvrxHjGM7G1CbTKa7NmjP66qd+0fUlRfMqxEKrTckfB90PaOeYJubXpUhq\nGr01VYMPMvahoWFEfN0RONU/gpCLMmhu7+MV5piPzAUtipQjU5z0RTGqVCxr\nhfWFFau+58n8S9nrYMPZaO+8EUvu3aT3Ofsa/zQFcMnz8cHJKEoGjVEhOZqw\nc4+CFuEmwVfyM9Zy5X+sga2ovORM/zkTKUxIuyyDW7eUsoX/GE7DKkUOQq5L\nm8HmEhEZiDo6AgprhTg50TtqPIvsQDt+Eb/PxQ+OojrM+A8iYeMU3dmNRtVy\nSq8l\r\n=fHyb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"fe21e8773788fbdc52c3be12a003722a7f51422e","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.0","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.14-pre.0_1545309406273_0.5455216560629332","host":"s3://npm-registry-packages"}},"0.10.15-pre.0":{"name":"@adobe/helix-cli","version":"0.10.15-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.15-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a23bb884d7114426c3fcc0cef0276f5d5a884f51","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.15-pre.0.tgz","fileCount":74,"integrity":"sha512-/j/kQtKaIgg2Xk33h4QA9zmTX/57C2H042K9lENC+q89Bik3/54TNQudRXjlTDETgdm0mEGtqtqKMBbt+KAHnA==","signatures":[{"sig":"MEUCIBHmlKZXo1EA4psX8pgmMTEMdiJ2eowkEvSsa2rMA7h8AiEAq1nPH6O+NSQ4JNrJ+JIFHx76aSD3OKtNFhPD+ql8ymc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG5CtCRA9TVsSAnZWagAAmxoQAIvhKbtjnlCmWGcFYdJm\n6twdkfzg697AK9Z56aONm0TRiMf0McPSGnxLRN+mpKmSHBvtkUykHDfI7sed\nM+Uki9GwhTnXG3IwARWGLYTqn5Rt0FHr+sCJH/HjBbDV2idSAEEiflVJWorp\n3KQ8GK9mXfBgzdXqcGO0+Etp5YAS0uvRyqChwH3ZLNl6PsXhsQex/8/By8Ul\n7baiWsbAQTQ3SZpoIZhnHmXP1qV/JP+msNWKDoREw2HrvMqmRg35sH5pzUDi\nN+obHCTs5/0GZkQFkpNBH01kbKnGUocPUnhBEYJoGlvY9nvR1SHwCcpynEOO\nQl4BLGre/fYeuJznShqFKHnfy2C0GXmI2T85t5ki9RABfPZ/rrgENUnmf1q5\nwFkzvmgLfVxi7siPKoKtBheyzDtKgwf9XSFR30RC+sOoVHFM1qJKqnfKcVny\n324tGj0jUaxmOuPyqcL6M7lnnSzH6UV4jF3BxthT4AMmChn2gWmlZ7j+JLXw\nOdslKy1NfmF3Dtglu2f0GGHpPpj86TXa3DiHOrfWC2DFVF02rnkEl2woGun5\n88TQn4FI6lJAzntNMUinFDbc8w7g9mMF9U/ZkS28MlpE+RKf7kvt6hhWelOL\nuT5eUJ8gXrMfxWKfTbx7hC3N2u5P5UUq5BJyovS0L0187t3Dd71dURANqVts\nowEH\r\n=0/hG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"5eb0f06974197fb3f0fc02059f646b55432394f0","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.0","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.15-pre.0_1545310380516_0.5922847644728271","host":"s3://npm-registry-packages"}},"0.10.14":{"name":"@adobe/helix-cli","version":"0.10.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.14","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"aaa9cdace5d5b7c625881a447a2c8bf978b24c36","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.14.tgz","fileCount":74,"integrity":"sha512-Fqom3jzDP0srPvEAjMoXvgHAzEPPdJSFwwNCDKEIwNc8o314zoaYNVHPEEENgMw2zseKt8a/mDyijXc0Q4Kt9w==","signatures":[{"sig":"MEUCIQDQPlh5CaX/UjBR3ZHJhFhoJ5ylGOAjKT4Xj0RiFmycGwIgEWeM1aR1SrZsUyb1Gmwr1UO7Y1yLkFAwgXNzCB5cAFI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391500,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG6cSCRA9TVsSAnZWagAAPhIP/2fVTGdt5k5ah8Y59vZ7\ni3gLWRqA65bnbPudGUFsj/6gW8zLh2jFptH9tjEFbJw98CBwqhO4PA52PTXJ\n3Ks/oesb4mEqlbIMKfAMCbRt5SHVszsfIw6FCy6/PAZqkOpH+DmrVJ9lAI2E\n9J953anhLhLzy6p9OqDPnvJ0+3LUkDOnbulxPLls4g8QOFj1t6lw1PWC4RNB\nSWLFgKIZJE75D58K1AspyHtN5fTwY3nItQ/GUx3xf/HcoxYKjwD9mngAsJ4F\niJ+vuybtvx3MMsYWn/xN14VLIgZt2glP9TjeZ/bHdMjqjHwHg3sjiP0bsNT1\nLXR8oSU93k2B4T5B2Y77eneKicwDwfhHITkYJsFoOaP/Qv5x8msZYlw6ZP8q\nTMvNevM7WxZJNlSUX+PyJGwhQIxW4f0+bCGKpNT7rFN5A56oDKmsdqkfqc7u\nnRhcHWiWBuj76Ef89J6gVYxDUuBeY4R21UK5iSQYMSmSYZ0q6jt079j5Ps2p\nuJxj9ZiJgeJ53Roj7xsW5zXWsS+90BmoP8Yc6gkILhTMOScJ7JjJjb8feUpN\nMo2Cg36TJuReM1cSNrP+m4M58J7e0KeiHeqx0TyUsU2IeUFA44r8VOOgUF+B\ni52k1uq9fGQ+423W+PKXs30WlPgkqVZkhelkmx+igWws8BAtQJRVLH+zZmIy\nGCtO\r\n=TG93\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"12fd2627618f424348c26c0f5aa97997f6b8f38d","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.0","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.4","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.14_1545316114004_0.925849190254312","host":"s3://npm-registry-packages"}},"0.10.15":{"name":"@adobe/helix-cli","version":"0.10.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.15","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"21645743c5654affae2be5da5c4d2d010d2e3b67","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.15.tgz","fileCount":74,"integrity":"sha512-HOHTBXuY/rNjznFdXQsK4kNHZ5oo34l+9FozmD3m6pALiAqfoPfJEm7j/BlFjTueojS7PInkoVdUM933CZBSzg==","signatures":[{"sig":"MEUCIQC3e1R3J+rh6zzw3zOKIYfmCB7fjL2dHHikBIByhckkHAIgdzxeE3Uhb3zafTLO//hir73c+xXS94DK+uKcwdRuMsk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391498,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG6n4CRA9TVsSAnZWagAAE2YP/3ucyXhadMuEOdlR+WKI\nTLN1TDusUdcTyOuvuQ65r9+slZt0lnXrPzDHbY4ByX3Ys65efL4Vn3H8PzG1\n0e6vj7Y3kwreF6zlPcayAwoD7zLU2C7eIUT+jqFPI+CThy1NCDAHoEx7HGe8\nrQlnL5LPtgQkQjwNznEsIKBSTl5rkoV+8PXsu5yAYHQXpM3WF7mVSKOUJk+c\n2oE9pjeiKlhh7CvLm4ntYf1OKRlvEMt/ZQw3EAf4X/aTzhHyJw4yZFZ9747l\n1/aW/9+ylMtjCV2hOwKfv86uZxKyvG9Q2uyG0BBGEakAt0C3hrB0SPbHw2XP\nprKKerg1TsaUw61bTbT26zNJAP7qkWvoDKHnZ1qA/uV/nFFvS+rKtKYgBSAJ\nRoKLs6b9yfuVgcXGH3dwiCtoYIhBf3+sSKoYFzy6qhtooFjX/NGzN45y1/va\nPHrVB99TE4+7isnGcO5PKgooZQdEhMBoRURbRaSz7iUTamfJRwd7E06Vgwar\n0Qy9+on1RkZNtl1NMHmc9HjrSGsiQ1jYGUlwAJX6gc9uvZQAABJavdGTIgTS\nWISO6FVgrrQDFq0yPE2tXp0YRr7MfnWKoQG1z9Ppp3Q6w6UwJv6PaR0x0OXC\nUByh51/ZHWi/yZTNGIM1iNyqmVPaPRqEq+qkZMdBxNUamq3WFqfkpP78H8WP\nAXN7\r\n=jRZn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"22b3a153ae0019e228999422ab072a886b3a7375","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"kptdobe","email":"kptdobe@gmail.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.0","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.15_1545316854907_0.23017748868479648","host":"s3://npm-registry-packages"}},"0.10.16-pre.0":{"name":"@adobe/helix-cli","version":"0.10.16-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.16-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"cfb4f8759ae1d9447adc81f6f88c7536418b47a8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.16-pre.0.tgz","fileCount":74,"integrity":"sha512-q3JFZpaq/NRTq+/qWfsIgbZdapNtYTSdN1KmIRAJUleYRdu5sHg28fEtpBBOHwejlwg4F5C29dlk92cVjw+7gA==","signatures":[{"sig":"MEUCIFUO5IjtkTODIrPDukzF+P6nClDHpyepo0hEkxrXod/jAiEA0TRp4JU1XSARDiTeXgpx3nwijhqU1NCE8LTTBp6TOtw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG6p4CRA9TVsSAnZWagAAYI0P/RtLKY0AslgvslNblAZZ\n80+vTV4z/d0QOpIbTC9Jwoq+PBiLtpq4fgZ1iEKYSXe4nYJ9hu/rxPFQPvm6\ng0VrzY9FX3NcvKOWDgWsQxzIINGYC/FjXViQqbZYYwCDFfAKfZsr/2YnOypR\nIat4C0n4gi0Or1ol/1/m6cr7LKzDU+CMU/6w7Y7LNcqsdHNUR+GT61zwRJl+\nwnzr881QtGT8rkNkTHGEQZWjP66VYYqKANFBo8WJcCZGAjfXxmwB5E2Gn2gz\nkgaCjebB1mcsAgl97cltAHCvv7qu6FIwq5z02ayVHBCva2FYUbqhAOBNnMM2\npHRX7yTeX5WrQGjBZ5V/3HAqHZ+CPHAS95iJQvuCNYJqJ8XFZgf/v1BWDAia\nPcuNbXE8fMyG0HEAZAfmK043hJU9NIZAfh4nP2AXTVhKjDboctxrLr1PSbnK\nRS6C0znr7tWBPhcx2ttDJmfE3eTb2KaZmsrpAnsIYjxc9JCo9P61OZOA1n7Y\nT8Yuy3fGTRZLw2WMncmU8Y/lLmF50nWfJY0FeDFum+0PcX0RemG82A7xbzhJ\nADkxWNlRSkaOctaQfxNqpmMLYok2GjD1th9vqedpZ18y5s5OArbx6i06Arqa\nWfqh5y9GKrzabTWNElm8WZQp3VRblhO85x9LIFVIUIGLtwKgZ7MScUEbYTnP\nu+N7\r\n=NqL5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"aeb0d793ead3e1e1a332b75f95779a0915cbb405","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.0","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.16-pre.0_1545316983976_0.8092496909420368","host":"s3://npm-registry-packages"}},"0.10.16-pre.1":{"name":"@adobe/helix-cli","version":"0.10.16-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.16-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"64c98283ae045e5c1785559510d21031f978b926","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.16-pre.1.tgz","fileCount":74,"integrity":"sha512-7l6JP1HeB+iLts1TID+W1JH9Hfe8dwUAUGDiMSjvRrdJ85GK22lO/ZeUm+cmxU6te7JlhcclbUdwaLsOAos9sw==","signatures":[{"sig":"MEUCIBRhTjhbF0j2RSGPvVwjtpb4QcR+PWPfGrl8YxKmYnFrAiEAslpzXnx3JW2FIBwpauhktMRu7RtNHoY+YahrjlMQyjA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":391506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG692CRA9TVsSAnZWagAAIHMP/RT/5Csk22nmpnV+5v1v\nJxY3wg2zdgd+sIAo4Ak2bVCdop4IQkmgQkI6PCZ7C1Y0LSwqG0nWLWKplsXb\nbeNBLvCIhZAMlTIz6dblccNzW2L0aY9tbL0dz+o1mBH5FVwHkBf26SHrxQDR\n62zqt/cQwL4xa//u3BuLi/uVgWH6UHgw8a/E8/dXuYmDH8uyfSpUCfyFYkCm\nWg6yf0QJnNCqnHx0d+pr4u2k7mF1dz9nN3rjXx8TOVmalW49tqIgYwQQktPT\nI+uO+HwMInl6qCMgktLkwNDaZjSaifARwTgnLAliCDI7U8XT9KUqEHhNo2vT\nKP4yliZJY3BcIbRYvv5SiJhyMAy5DVWuGB1sm72J6CRzN74JCaixC2MljyXS\nd091PEfRgAG5z0SNNhhhPYdCC5EfbWw1XySHUsFqKEEsTAOCqJhxeNq3D0fk\nyJRJybUlEltKWi9gvHEUIlwGGxh5wKc0F/yBYcRjdpadSb0TjfH3HpWO/77B\n/uNS5IAIsvnWeJlSc3MCjMqEG6A/LtlcAcKLC82ffUeA0aYXoI1w+rQ7v0tE\nhUZ7IUcsS6GInAlP6/JPmGjrPcAXOeM8tL6p159swbhsWHzqodIKGh9e6dih\nozLblnGbSUfbm0OwXYtrdcF5WlwvvvqKHyQcabKiwQlrIUQPCovfYnSGL0jF\nrODh\r\n=eHRx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"97d2f69458dfa243e29eb7eb4454248dbc339e4d","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.0","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.16-pre.1_1545318261532_0.3310949863127013","host":"s3://npm-registry-packages"}},"0.10.16-pre.2":{"name":"@adobe/helix-cli","version":"0.10.16-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.16-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"15fe2c530a33d4414cb1042d4f59dc93ebfd365d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.16-pre.2.tgz","fileCount":68,"integrity":"sha512-xvG1M5H5d5ACZB2VxEviHUOb3LvzQPK8fHmWgZp1rVXOCd/4UlP5KxZpSDRjko9eTpPsJ2EWo3s6udTpxV84iQ==","signatures":[{"sig":"MEUCIQDn7sGH84qIS11+4vBRDtOyDVezyqvtox1NZEm4vKoBcgIgYF4g6IMb1xfG5brXaqDDt0F0tQ8FAcXGq5LU5TUQhIA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":383357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG7gbCRA9TVsSAnZWagAAWGwQAJYZuXuaT5NMaCFcpPXw\nKUDZ7Ji2Bqde5vQ/TGTf3FkYe9U5uuwwvUXxj+gI8R+VXakPioSqx7SdYzqM\nAIswwkXwY76UxGtVeHQFiAkdBuAc7sAAVcNDbcIKDUTgXArr+JSJqjJkKHJO\nkckkXrLptujbqqDuC2Rpy1zf/v0Ws8kWmUcYxt6S/EJHO2CA7VK7DI1os2TG\nzHTuBNpypBGwn8xKC/WJbvMTplMTg0i+FvK3G+fL2EqoPFKjYgP99POhGbYp\n0x2Izieh4lYd0l3AarLT+HdOOnzUh9qIu3tJelqW6xvbI8qDj1NObQyhBIab\nMDQoJqI57lTdM5UGzdrvXx14XCKTfz53ZT+Gil2oQOBC0wJqbZ7xzh25iaF+\nHlsxshPILHKWVM4OizWPtv2QnH/ZOrHdwZui7ZqZbWali0C04pAizoC2CuZv\nBOQJcBHt10BWim+SMI0y0q3quBOGg50K7aNi+rR9d9mJkhm5oQhX8TILzfbb\nJvUIU5Khj8c52aNKjI/tIg0xyeIORsrGYlEQFRJZy2o+Iu8WF7S6MVyt5mnY\nY6gwXrN4br/+EbCyHMzaoLfx2hWPxGCVOPTlAVGDWQWeAQR6sIfQ1pI8olPV\n4qmXN1skgczAhgLRGmDiNnJUqo9llvt77on4dTU+/yZUxqnZ8owIGAqnPOvN\ntMmN\r\n=Y9Uq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"d4c3e6fd786961360659e8302227d8fbe6b94ddb","scripts":{"lint":"eslint .","test":"nyc mocha --exit","junit":"mocha --exit -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.118.1","chalk":"2.4.1","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.0","winston":"3.1.0","archiver":"3.0.0","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","node-watch":"0.5.9","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.28.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.3.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.11.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.16-pre.2_1545320475154_0.4802503441483359","host":"s3://npm-registry-packages"}},"0.10.16":{"name":"@adobe/helix-cli","version":"0.10.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.16","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bcfa75356c749adf48336bb5786b1cbc5491c2a7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.16.tgz","fileCount":82,"integrity":"sha512-nvD5Jt1VEaCJRfiFlcAIw+vMzA81CvBoeKFnuxdrUon7BwjXoc39IWfDooOxNugv5Kkcx+JGONF4AzhZPI5yxg==","signatures":[{"sig":"MEUCIQCCYlcgSaXuwg6FDimYmnLTowefv1JO8dDLMJfIqk9xnwIgDfYRVl5LM04Ydh1qJMijyj6qP2YlUkkX0Uv6jy+auUg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":455558,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcMxmNCRA9TVsSAnZWagAAFXEP+gPokTmjHAkWGgzX80mV\nNErTSvDzSBxtRRbGIDhAFsnxpIFN1efLo7gWv3xyZBA9xAYm9W6Zf/FOy5u3\nenzH/fzxEp+cOirJmP1w1PJa0KAwA6RaWThBCX+TeQUEr+ROi7tOby9l9VvU\nqFa2y3xuBsI1v292nTTrgdARfvcj4ZkRGAVWpaZxNoO1VOSXDKUZKLQbQ+NV\ngvhnXsG4c2RVAak/GPf+DI0JcaU7S6HMSzaIkyi7+RsTv21RP6DKIKs+bKwE\nbzAW2nw3PZqsKpi6I0maFmHUpNHwAHfL1hZn5ABqNf51f0mq8ys7C9hTF29Y\nt0NN5AjeNgkfXLlfURRPURSZrpQZndW8VyRk8rvg7jYESvSuj/RFImuxShsV\nZrV2dbo9MW1ausBuXUHvw/GEmAtLFgB3+dLjZbftuXMoCX2185yhWVOqChlp\n94JEwM0lIEop5ElsBOtxtbNd8Vzw/uBYXtnu/WE8P26Iedz8eD8TyyagNmqZ\nmPhPf8fq+JCxS5bYlp+aEncvKV/euiv8Du1Cr9PP+6CiS1zgS86CTIeJ9TG5\nTXiURs4z5fVGcZIGW3kjpGPF5wvwT3aQVksz6eDPIIec6lsWgPx7Enz2TUb5\ngI0VG5B9nSL/pPcEKingVBxDZ8zZqLfEZ95cBMwv3tRmH5kh4mzCZI/H9TgC\ndh4R\r\n=7fht\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"1b444463c9f7e79c8f96e33adb6f6f5fecc26e61","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.120.1","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.1","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.16_1546852748085_0.39153379830510304","host":"s3://npm-registry-packages"}},"0.10.17-pre.0":{"name":"@adobe/helix-cli","version":"0.10.17-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0e8bba15cae380b8936f19139f20e9d634f1dd01","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.0.tgz","fileCount":68,"integrity":"sha512-mdFb0IdX/0KjkO353KaLpbYdofUT2/LcziwmrwKllcaU+a5P8uJdgjg1yftGJhMKfz/Arngj8hBYCQsz1z6O2Q==","signatures":[{"sig":"MEUCIDFXhYXl+OUdhbWi9NzKgvcFc94rixKRpjT6ABLbTqbdAiEA75ndT/+JPogZN8Odm9xmBKcCVm0mYJ/faL9+25FjUj4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":382882,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcMxoLCRA9TVsSAnZWagAA2lcP/0gghl6BbY1xXLqCz1hm\nlIai5Ntzm2z2IDBmxK14xB3XgytGUAiTOsDw4+e3/lqpeluCA1ENCGoAsOIr\nyx2Bb3TDcw48jUIVMZNc5mJABW0y12n43S9BW6LlS+i52sqvvX3KvJ9c691C\n0qq2fPrvymtKbl5MNEiwCfz0KixzM4r6Ayqb9rz7NrFx2GImXpc+4vzNqQKm\nQPvJEIGjUTgZWvT8DJwFPEUFYExlxAEIOc+2lI26yXiyHM7d9tqG6kqdFjcv\nWU0lZBv7jJ8eWHWFgSNcKkDZfI7xAaAxrixgTal9oH6U05VGibsybsYK6f2r\nDhz2gNj1fd/jpg84vlirEaq0SU7jxSdbduHKRhhI20YTxZenyOfRHfWZtjdW\nXC7mNFOLmUoLuS+OzudjrYHE1p+WoxF3LRC+zcAoN/f7wYnm5qPwBxD9o6i7\nIlgDzOgLTBeNbq8TZ3hN+wXcv4hjHF/TkTd5AD/rMfj/7tGT5eaRwLwuXhr3\nHplXIxx7QUh4F51N0D7Kkpku0Bm4T+MJEJKgHYXxx80vykwYssVKThTHtqWF\nbtX+gvlkCBsrhioS3NJ3Ew3g1ekAIGr3AP+ohTVTksNkxrI02JphiAhXzuai\nkmDtLs6YxX3QjqIlJrhhTpiZzGmIalyy97u3Yk6pUrJAJmrCnsbA7EfTUSln\nCjYj\r\n=A6yw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"b2539462972e5976d7d821d155665c585456352e","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.120.1","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.1","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.29.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.0_1546852874030_0.3822295796809214","host":"s3://npm-registry-packages"}},"0.10.17-pre.1":{"name":"@adobe/helix-cli","version":"0.10.17-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8eb55989611bdee703141f121b7d70c51698e363","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.1.tgz","fileCount":68,"integrity":"sha512-1dcq1lDRdSogACup9SvH7+GvmPDbxazLW8dueEjWkXgZyabtByeH1d76CX+1Te029rIP2GI8pvtQx1LOsvH8NA==","signatures":[{"sig":"MEUCIAkfiwn2OOI2BBSPhHF862nAc1txflDwA9JI9AxSDIReAiEAgC0rkdYTPq2nNm2Jd9NiMXJfwg0qVGdFFIkBDl+N9As=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":382882,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcM/WzCRA9TVsSAnZWagAAidIP/2drTIWqb6MjdJ6lKKD+\nVxcIsK+AkrmvcdMkbrKYga7kbEtrHyMnxNwdD6WHAy26mHWQX9A/0bP1OUad\nlnJgKVAFvwew7L1PiydcF/00GDVErk7qKzkwYNs0rWMRkMv53klv3IrswDi2\nAIVAIlOVNzdbQUnRz8B2Wo3pNzbyuboYXPDzVYQTp8F51liLO0ctNBeN4Nsu\nudEUpXtc4+rNPFt3YDybZG81hJhUFrE9RQtg+iUyUZ2OFKQwLEWh3eim59Tl\nVwfplZKTLVBphg72mTmsWuD7KTRcDZgMYk8YyxRE5EPVSvK9CgBPR6cVBf0Z\nm6gTChHYljKmWUDRwMkWIzxy3e+Fzb/DFyowXRpUruPwpEzCiWyBGZReec1V\nU0GZOKwPogazXbpMRsQUZxnjtLdyYFIxTtjsFnj8ydCXPiamoSN+GgxN8siH\n8v7o5f1Q7M92vs2ASTonlidAfyi5PQHOjx3t10+5CX4/6c0OrgXdUo8VJ/BF\ngj7Vr0qRvPeoB3uKBFE9zd8R5Rw6gdNPqTZyePbmQxlJYOHjWSgSJkZoppvl\nvUM7SVPI3zQ9xTyLQcPSWea1OYzTzYa7qyteiBMRWkwwL/ymeHTaZGhwT4CI\nFwE43kFUhnCKvgK2+mRIP03euxKsXnTgJeA+cQz0c9cA5I6XI89mzCjcQcBT\n2oJv\r\n=iEjR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"8e490369536297d49b614b742c318856db4bc5fc","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.120.1","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.1","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.32.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.1_1546909107111_0.4236202921062029","host":"s3://npm-registry-packages"}},"0.10.17-pre.2":{"name":"@adobe/helix-cli","version":"0.10.17-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7b055f0cde06c6c022519654b3cd46047ab2f206","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.2.tgz","fileCount":68,"integrity":"sha512-Ih8Q/ijUpj7XE6f4bg8z9L7oof2kHj9Ots8eBgGwX/6jvZW6WMR/XCcwC1IwqbZ2UX0aqIy0GSupV3zv31TGbQ==","signatures":[{"sig":"MEQCIHmntrlrRU4E7RXtzTsZQMZoXANXz2CyaDPCFX07zS9zAiAqtodvTVN7nOQp9zjEUxoVPMI7hyIix1pd3hH6JeKouQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":382882,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNGnPCRA9TVsSAnZWagAAvJgQAIqv4v15MvMkXV529+P4\n7tRQUaQxHBm6Yb/j8XujbMkXU9mrsUMhZJ0Q5eU6Dn5RQrQSDIp6Y91zt9dM\nF8el7AVzuJCKKuAe13wp68PvpTsxTSfEb3HX4MxoMblUW/UAaGr8RSVwDKY0\ntZwWvWTN0304GkL3nmyfvmGkxpMqz66o1yIWkywj6cnXu2ruPvO9WCYzIMng\nj+36ynu9SlWM/I4K8BhcFa1VYGLyMV16z/Wc88mGZ4yUy7tcwBT1LOVE5Wac\ne0piAlVgs+JkosGd+kYpJ2WgWUlIOKU12M1UqX56oMMRluU6n2EJnxk7rPDn\n4KFz/vjaEqzbSLdFfp8ReptU97sQtRbE0T9QJTTM+Cu5Ltj199Vt1r+e5SwE\nbA0/+f4yMvoWIuQYz86dUps2KHsiFAHSAkNjci6fPRDav4m3qOTwUU1KPIE3\ne5ZjaPzH3eH2O8Tbkx60ozPuC9LC4i8dZoItUtSyN3Wr2konqV+fIRT1ooNk\nJ/lhoL4DLO9hhAYEvO0VHWhJ6kmYmAal42/+FI0kJtZCb7TacM1KuXnIIBLx\nWXY8rtiEDSxXo0LO5+Z5IFd8VWQ9MMFWBfuOfCqI9kryx2c221f6DXC/NaLi\n10eyRKKikYBcBos/8mwvnssQQdi+waA7Z2qUY3i8+BT3OITLkiLamaQtoO3i\n6VuD\r\n=8U6m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"8ad5e2b3bc44cd627c23951c5453a870f5f731db","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.120.1","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.1","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.32.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.2_1546938831228_0.31500984749296146","host":"s3://npm-registry-packages"}},"0.10.17-pre.3":{"name":"@adobe/helix-cli","version":"0.10.17-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"59988d5254d82bf317accd5e5d0c499c7dfa95ba","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.3.tgz","fileCount":68,"integrity":"sha512-FY9BnUdyHG2PIenonI7GoCqk5MnYqbS7mTZHK1TrfYgyfqMMhQGR8GLZla1+d2AsGDVaojufcgXNv/tzyn2Eig==","signatures":[{"sig":"MEUCIQCOIzOPbfUAR5ZHiihjIYE4/IpY4tnPe1FZpqcWn+GRpgIgGerji+6acsKwbt29D+dTLbcGE1hamHK9BsLbQnqhXMY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":382882,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNJ/QCRA9TVsSAnZWagAA0PoP+wXOHR7HE7N6dkqAwsdG\nUSmlozLxqv95pD31wPeJomDW0T34Wq4UaM/K5sx1/EPqlf8aI8CGP2p4Zx45\nyWF8TwByU/eEXXRDdnnED7Bdh6LdigkfQqh7lICuyRyIvlWKNWD5nYmavIav\nBF28FU5ilwvAHIKeIeynrcoNrIiM+Pgx++xcXzk88g5C7ST2Mh4NwGhua3GX\nWD0tT07nqKnIys63vadL2RznTrPLym0eRwkL7gH8UGJeuMz8kZuk8W7AYLCv\nKegyClrsxBWGXBuDyIQHGr2BIkw2dXzjoab2wP1EwfxIiYrf9PQCCX7aZdxb\neptI813wldGUVUqdWrcglf3xZimB4Vbwpb5w4Kg0zpE2konMLPNpulqtjrEI\nOBnDnh7a1q+ymPCOHLisly69HJyuOjvZW3nZpC45+hcYd+fvbnMuMo0JwULg\n9OaoJkIhRuNnrAfkRKA47PimyKyi46rH91oKNXGY24sMaH5jpSt0/RiM27Bf\nPlkHI1rLxs91I2iqSOPaxOXRYWn2oRUOP528szw5Ox4FJJAyHh9Iv12d1D7R\njLgtCYVWuDuTF40NdGQs3TwtCkTkT6eWbQStlPsjDCgq/Fk8mhU8QfzHv+K7\nFSuJJj7htAJSrgGomcS3UbcYonXy7NnLb2BXvgMdZByzdbCu5NquOw4FSXI3\n5ZpC\r\n=pdlN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"013b16008f79119a10cdc6a2f3abc4a5e7691541","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.121.0","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.1","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.32.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.3_1546952655841_0.7972587295142433","host":"s3://npm-registry-packages"}},"0.10.17-pre.4":{"name":"@adobe/helix-cli","version":"0.10.17-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"74f27464d6eff12ecb3595a4b08cddcdf1ad0817","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.4.tgz","fileCount":68,"integrity":"sha512-+mCZ3t03v53AVIZ66ypxK8OpIN9Jo+P2tBs2gGS9r4EHxvV0wjyezfJBAef9fXS+Xd0PiHDbHBMV4HLtxiQQvQ==","signatures":[{"sig":"MEUCIQCTCNr3HLlgnnjKCVMSpPy/cQS7Grfjuf12gyN0Bg1BPgIgASPBXmP7rHZIUNFYmba7Q3S1gJVx7r35FCH9YmtVnlY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":383087,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNNTwCRA9TVsSAnZWagAA7BsP/3T8pxfZs4vAkl+7en2i\n2vAR4MZJ6Ja3NxXUhqkZXmdbzMWIU5CDVHLlhMZdHzFr+0BEH0deZ9X+QNgj\nMo7U0QWncfM36rNpnBQmgVw2RSCaXpUcjJmgWUnXYJEIvMD/L7VdFJuA8PVU\npmBOYwKvWI6/+bPqIsDV5FZlu0OIfZGE7ZEcygQAGpDaSBLmRvMcdV2QlkMu\nXAa20/Spb1bx2t1HJZpcVElJK7vQXJ1sFKjmM1QtHrdkTxn3vd0Hh73PnU4V\n8pQd1QM+92nuCR7ZlyInGY4yPTKgkPOAcfgIczYarqF4nLJEvXMxJhm73qk8\n56+ip+zYtpuqIWIBisd9oH/kljg2Xzgwy1LPbFF9Bo5tvb0Dk4NdgVifIO5J\nQLoyT8BsjH63uDuuy9h/ZfwaxmJtpTqinvVqU6+36jl+qKHuaO6aqQN38L8I\nkCa9q+2wbKbV3/z3rDJ7NxrVd0S6vGHx1AEI/AubZe08IQG+19tor+ExjlKa\n9UJIgYW0DVQRPJx7+o//DBHMWat5yWMR89/XA/9waI0lSuccL8ruVido4oWR\naS9eiCFU2iramJzJ4aM3uoX/Ycciyk2VOeZ5JWYpqGSjUEEpLAf+SIygtOW5\nXgctLboYM81TKgiaCkZ8oGJa05GZJf6+bBLsZ6Lvimdmp1soZXxaGlGB2niP\neh0C\r\n=qdMN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"dc46bc654fdd00f7e0a717c1be7c7884b400238d","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.121.0","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.1","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.32.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.4_1546966255671_0.27158052490898066","host":"s3://npm-registry-packages"}},"0.10.17-pre.5":{"name":"@adobe/helix-cli","version":"0.10.17-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2853930a8d489f772e8f79c1c6201da04325aaec","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.5.tgz","fileCount":68,"integrity":"sha512-G82hLLqePeBGAgDjP6ohkfpm01yjCJhDFX2v/RpEM6TSm6xlgRlJePPz3NkpVVogIGAjZrCwh8SCGRD20SWGDg==","signatures":[{"sig":"MEUCIEN04fk1KkPwCnPNqZ+UgcUxn7odLd7ADMug3qKIt6uHAiEA97rYqBucjwnSGXnLQ/OVSUEZQadBn8O+KNNlGN8lDOE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":383087,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNTjNCRA9TVsSAnZWagAAHS0P/jndEpSBozIVACnWiMic\nihHJyto2QdKRg2QiwbcCShKnOWdZfreVyoi+vITfW5ZVBVGKcemoOjiFpkXo\nnyte8blR4fr7aWxrITER977njNY0Gl6Of9EfVWnHfLaBS3NSRZw33RiW/89a\nKxOlHPaypJXx53qkOSR7bz0tnnu0cSZkR+yC/yXdK4r2db+0GktUJGN13+Yl\nX3OBRnkzI9I1Dk1xVlUkVvohE5rLuswIbv0PC8QFqpcuZAwdyvg0ED/oXEPC\nR+rZxYD+aMVO8cFA1IX8zKSwG4N4FRQXYEwGPVEsAJw87oRgYdbirOznlKYD\nK0nydbYxAJ+cM/82YGnzTybUX27D/EiSKfbK/TgAWZ8BpFhVmRT/8ZnD1uRz\n8YXDfWIYW2g6i0wza0G9VCSUdS1uUT+PCpebuWbtqDOxIt8xs9gslRC2gx9t\nobAzT8L94S90avMPLZMtbmwRb80oH2BOKSEfJgOqK7OV7rKnELpmpvylQ1VI\n0/wTeTB1VhtVDkxDr4MFJsuapTuWAGQgTo9gjwor98uNFUR3tTAarj23XQsH\nUUwjncF+4lichTXz1BB8DzB9kxO+nESKO3lFW19p4AyOka/MSNn26MMN7OFZ\nb8vv0+uxobBtxZaFea7O4PnLk6Xxz4WQ8vMslp53m1W9G7BJbEGRktKiQ92+\nhqnm\r\n=s8j6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n\nOptions:\n  --version  Show version number                                       [boolean]\n  --help     Show help                                                 [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n  \n[==================================================]  0.0s\n✅  deployment completed\n\n\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"f3439fa03f22fafdea3631c6c0da0ba8ef76501a","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.121.1","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.1","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.32.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.5_1546991821054_0.7597082295159396","host":"s3://npm-registry-packages"}},"0.10.17-pre.6":{"name":"@adobe/helix-cli","version":"0.10.17-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bf674ce11a8d791eb9877343ff52c0a69b52b61e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.6.tgz","fileCount":70,"integrity":"sha512-FOIAO6ixTFZSSM2zDBEr0kI2C9lVUrtYEitcqPrsTbkNHQGQqJ1gqlaGKuNc/QUvsxxKzZ8uEQPnwOg/aTY54A==","signatures":[{"sig":"MEUCIQCkfCAug5sy0IKLKShrVLn3frMZchBJ/i7ynDsuznWCNgIgTQ9rB1aEGcVqVXTgiTOk++G6B05DzPoy0lEB7r9ngr8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":389695,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNUbkCRA9TVsSAnZWagAAsaUQAJUQ00DavNbhOzOT5fY1\nrRS+a6VGZkHm/MOgCk4enX8BP2mFvmPLWsE8ypVuqEKCVgL6fRyQM2wX3Qch\n+4k1flSbRhgqwLaDctsiEdd+HjAO4J6cons5lNS6pAI4xlpTWkPU1zmbQTr8\n0D2MnWhKUy7mkDieeb4jceVFq4D9zyCYxQdrYfA0W1uGdvcSXGmcVY2sIq9g\nyXW51KQM3mklXO+deFK1SayM0+0Wl8h7B+wP9pDl4YD0HH5xyymqwm1IlUaw\no1rOoqzR7mysVLzyeKZuaveA9boMeFdKWAKHC7DLVKISuHs8evR/XbxyUyGJ\nh48hxqrwxFsZN8YzEgYFqEeNU5mxlW3EKvCd1bIcR0mo1vePON+Q+I4w67q+\nq94d5JWHZ4PnV6p18jMREwrgbiyZ8Tr8Jkd3suW1h70CJ+plGjzJjvPMohr0\nmMLkDHwmRVHPW5JDQDYC7r2nFigDHhCEG2zmytKSW1y5zEusRe4LjUZUY8AX\ntgzhlUn7gVOTgSin95JgNvqodox6wf6nAt9qxY1x6vC0pCeyHTvFJv/AlPwG\nn4XatvgCXqSLKr/8pKy1uFnLUbXFFfHyjsYRrgae40oRFmIAUNd6rose/F09\n7S8HD/jj5VBd0jTWZIYEZOqPvNhMLkgOg9yLbFXV3Bkmdk93cGc5NqqClkfQ\nHO7i\r\n=oCaB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the _code_ repository below the defined `staticRoot`. The default\nis `/`, so any file in the _code_ repository can be delivered. For better separation of content\nand _security_, it is advisable to create a distinct `webroot` or `docroot` (see below)\n\nStatic content is served from the code repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\n#### Keeping Your Repository Clean\n\nAlthough you can just put static content, e.g. an `index.html` loader for your SPA into the root \nof your repository, this tends to litter the repository with many small files. To keep things clean, create for example a directory `docroot` in the repository and move your \nstatic files there. Then the `staticRoot` can be set in the root of the config:\n\n```bash\n# defines the default static root relative to the static repository\nstaticRoot: /docroot\n``` \n\nor individually using the `path` property in the _static_ definition of a strain:\n\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      path: /docroot\n```\n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `docroot`. None of this will be visible in the URL, so that no visitor will ever see \n_docroot_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/docroot/favico.ico`.\n\n#### Securing Static Content\n\nBecause the code repository may contain sensitive information, static content is protected using a \nhard-coded blacklist. This blacklist includes `package.json`, `src`, and every hidden file or \ndirectory (starting with `.`).\n\nIn `helix-config.yaml`, additional white- and blacklists may be specified using the `allow` and `deny` \nproperties underneath `static`. Each `allow` or `deny` is a list of glob expressions such as `\"*.js\"`. \nYAML requires you to put quotes around the glob expression.\n\nExamples of a whitelist and blacklist configuration may look like this:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n      allow:\n        - \"/dist/*\"\n        - \"/static/*\"\n      deny:\n        - \"*.htl\"\n```\n\nIf a blacklist is specified, every path matching any of the patterns in the blacklist will be rejected. \nIf a whitelist is specified, only paths matching patterns on the whitelist will be accepted.\n\nA blacklist can block items that have been allowed by the whitelist, but not vice versa.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    static:\n      deny:\n        - \"*.md\"\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"8ba14287d99aa0a59f9299b9be91a7da8bab412e","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.121.1","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.1","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.2.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.32.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.6_1546995427619_0.3052584220636869","host":"s3://npm-registry-packages"}},"0.10.17-pre.7":{"name":"@adobe/helix-cli","version":"0.10.17-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"84e57cc8556248eb145c30cbc8b0986955bb30eb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.7.tgz","fileCount":70,"integrity":"sha512-xNHWqeSRoXHWNMK0uBG7rMZKD025Ya927qbgWbxcCONoqCYpeta7oMCq6PYEVWSNDrlWLnyu1FcT8kbRYP2aZg==","signatures":[{"sig":"MEQCID0wXyd2Y0027KWa2Tn2x6ER5dbvmAjxvgqYczzULN5JAiAST09aWLGc/fREBKWN4/DJgGUzkdQt7Kw9F/QBeKqhUw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNbB4CRA9TVsSAnZWagAAY9wQAJkN7ZQTm9ZwFCe0zXJN\nWBZfvVeU9AkN4XjlCGQhrWrmPvhPEmZtaL+g+wsdNFKMUgzfPDXyvCllCXDz\nkvsbOCQQx4hHnhAvmKN9TNI3/D6h+ff8XKgS56w8wcUTQnVoVIHaLh0801n6\nLe+NW72+fMR3WcBRHmNJ1Z5NccdiV5F8VXMUJBZ+/qi+gGFtI54dQpHpHRUS\nk/Ye+mteiWLCvwJ32tE7GM13Mtsf/uohyz4BGky/nfq/vESryIfYuouOdNzM\nlA2oUdRXirs00cOpaMSsD3+EEi6wun73JCjmVyp34oYg1XpnWFV+4yR0d/zq\nIqE4YKbPH/p2GlcKuI4zNC8RyI2iwB4TxIv97eeA5Tm3L1HCVFcj0H5Hr2NB\n9tQPwnHg50vDoNhth0K/IgngrIumVIj3b2CyY7Fz9BM84l/4v4CAZkZ68yB+\nx5i95/XFQAu1BpIpGJ+uBb8m0Y+4IZdSWx/Z5uWWstk3yVGbLSEUWkgzgurQ\nMIoCI5Yy/GrmBxNSYhYuzYCTXXKhLHGNS1AaZj6qawUOBKWP7CyZm54XgvkH\n98CTFtlWZXrJdjWAZ1g9Eu93VLsyPgkESqNO+NfUVnGpzCDs7lvkAgsVTFut\nTkDhpuFrRSwccpbaVYpf/Fq3gUqz43cTLHJNPqzWO3r7PZowLNgagM6rOfHM\nJz/a\r\n=4kuW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/git-github-com-adobe-helix-cli-git--dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/git-github-com-trieloff-helix-demo-git--dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/https---github-com-adobe-helix-helpx-git--master--\n    directoryIndex: README.html\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"b94616481e7553bf79ecf2ea8a755f24ab6ebc8e","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.121.1","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.1","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.3.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.32.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.7_1547022454910_0.7159353941786508","host":"s3://npm-registry-packages"}},"0.10.17-pre.8":{"name":"@adobe/helix-cli","version":"0.10.17-pre.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.8","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c87325291aa29e04d3f7325eb8d5355cef702036","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.8.tgz","fileCount":70,"integrity":"sha512-hkw0Vev9oXiXmnSh0AspUydVy5nXzKpzgN2VhwQWlgFZoj76aHVaJMoF5nJFk0eDHA/FehX+3ibtuSFXCSwkFQ==","signatures":[{"sig":"MEUCIQCdTV/tLLsmMboFgCbsm/el01x09y9XcXHEGwEOZG2cCgIgFRSbGkxtt76NO+liRCvC1nDkUsJG/LS7MoiI8VyUokQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387360,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNdrPCRA9TVsSAnZWagAA3gYQAIgQDBFW5SXJtckHHMdc\ngm7Dwd0vHN8Ndj+9NiPt9EesUsogZCJJoBHyV1f6dzCpx6EQAkwo62KhHmKV\nsx3jcVW9c49GATKmm4ohjA8G4aPTUOtPgnK0EWGlF1DcDcT1DJYitxPyxtMq\nNc/xhavGjBvwtlqFVOZfco5IZuhsFIQwWrDq2jiF3Th9rafa5QDR0lAs7jV2\nMRCsWPHQXWjlWh2VbKshBNNXPkO3aHSPmglt45egBGTpqn1hQs+e8cpLKP2C\nkuBaEE+gN2OBz3MQW2CqvRHCrEgFGV8CnsSlzTTTkB2H6Tz+NmQZC76FXd3y\n0MmDKvzcpzF2iMaVPdyD2Eq/u89/VygUyvUdm06dj2oZ76V3c1s6QQe13lQ9\nA2+q7695s96tolhwc+0Mz5sBAARF/ZNaU7nep2fLWrW9/HCTi5EdNgBCxNK8\nVg7JySdwjnjBQvJ/IUysxLM7QD9tPCCA9knbY/Pi2kKhEN4LhYLrPV+mfDit\nhsl8pRWdNjau2CfGkP9ZKMYhZ7eWW2TYr3sMJyERrHqQjHFtXxh38dc6mCxi\n7GYnqtXUkRW1g8+W95NYVHeP4xfyIaLYRmu/kvMYYP+N7p22tK0qNKmQ1dHX\nU/wmGR1Dxb/pv5fAHiDpTMnfQ1U07k0MP4HM7Qsb6GWLFgKd4MAJR9K849AC\nFyJ7\r\n=3eqe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/github-com-adobe-helix-helpx--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-trieloff-helix-demo--master-dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    directoryIndex: README.html\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"e1f07c7fe11e6713781aef149a7c49167f1a438b","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.121.1","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.1","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.3.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.32.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.8_1547033294732_0.9946831496885604","host":"s3://npm-registry-packages"}},"0.10.17-pre.9":{"name":"@adobe/helix-cli","version":"0.10.17-pre.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.9","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"aab66cce0305ae148ab64ae25b2e312d77fde0f3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.9.tgz","fileCount":70,"integrity":"sha512-wP2Map/7HQLWWT34ijCBLvXkNjNux8MPLYuePph0aYl8byXrUCJtKrITKcydxtyVt9okxuGHbrqaHALosCXANw==","signatures":[{"sig":"MEYCIQD2DdZEzpuqqfSwaRnAwXRXd7e+MpM5urRwgaayZp8RMQIhALvUCBxoYSUrPPRIZ8Vqx0QTAvfG86jtETwR50oR7pyQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387360,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcN2C6CRA9TVsSAnZWagAACLkP/jnFcV5nel3dewREH6NV\n5NPx3/zcP7FGKALM3xlcImfMrGe4+jGD8Fxl6F4Ms/8PKZOr1aVIuaq0NoZk\nvSX4ndXxL5X9j910FwHxUWnno4hRbzRJ1QMqAqhpf4aNv9YkafmdsAwmhhVL\nRpMx6t8+gXSfQY6RinHg6pmcFLGu/dDP0dUQvsyaeFLIaRCj1Nxs6XrzqW5h\nX4uCT+b7aJeJOqByo4V+5ujPn4ohnh5gwgye1nfjwekYBfVLdbGKoxMCWkgo\naV2ZcUV7fLNhuzk1Aq39eAbzqk/8vRu1OZv1Ow6OVEVdUQ3xDNOEEfAg2k8J\ngqgHmpr7Xa+X1zpoD3gG4Y1XcyGRmOlNRlIhrZB/JfcK8ttWG5KU+eYbWQ7s\nFjcQEVuYpaZfJBqcD3M0pVAtQT3olCmjgN3nkZBt+Jcxp4pT9PeEsTLkIh6r\nbn7nMUmlDwCo0cS2/uUcQlSiux18oKcbRHu93Qywaqe11gcVwR11Hf+zrE+y\nPw0CUoTdW4pt/62V3GIS3TftbsqDa7KsppWeyLzwT6ebqgrVrZjuTeiNXQ8O\nL/dfMBWjMhPxTwfk/W2OyKJo8WfoDw2bo2TbWdW40L4I+bsuGDZJAIevSoj2\nUgoJBiAegTAmvI5Mn31sKbnsSsWC4knXhdI0xc1RFgCpJjOcKaPWWd091LB9\n+jRb\r\n=WNbP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/github-com-adobe-helix-helpx--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-trieloff-helix-demo--master-dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    directoryIndex: README.html\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"6a869831c541a8ef650190ff166ca3f18789256d","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.121.1","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.1","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.3.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.33.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.9_1547133113312_0.0131466866413108","host":"s3://npm-registry-packages"}},"0.10.17-pre.10":{"name":"@adobe/helix-cli","version":"0.10.17-pre.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.10","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"201cea425e60fc8031765eee498c3b3c0d1c1052","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.10.tgz","fileCount":70,"integrity":"sha512-IZg4wzSbvLZOK4htr91hzOCUzlDP5aeZhFtKehuNnHRQ4uzsQXCEm2lxbJfKA/TWkInD11ElTdgeRQ4djsCpvg==","signatures":[{"sig":"MEYCIQDvRs+yJdNq307gcmKc4hmsAvu0DPF4iCsp6Q2v3sOH8AIhAOIvzmkAD+f7eNRC5U3JGPHPdCSORrvQJ+5T1vu7OICC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387361,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcN+RMCRA9TVsSAnZWagAAfpQP/1EfvX+W+G8RhaU2p+vs\n8vkzkhrWc28qd5wSLoNqBTV2jThRGRLjEpiFJp2aNm6HSS6kdNfBDsLaoFQW\n/biSR4NfXtei7mUdm7A5rCYufXJFAIAgxMTzxhrO3433spO5lsCINwC3+WRq\nANT13WfCPDAQ38lVQDn4HbpfNqva3mDkEMCQPzfYXg1MM6ClUSUK3zG5zuYk\nsCgcmORslHaPLBQtdIZQK1DYdndGqyLvHLvi2mff6PXW/5IY4DIITWAp4J9U\nmpPbBQ4qBDgxH380g6dAQ049tJjQHo4RBMh/HmM62K1qicz2tIIjMaVM59f1\nsxIuTJzPLTh5xrlfadHrb9LzzQlCKrDJ48JO8UTj9fN6TX8S1nafamUeXguY\n5RNEWBOzbmq+gYE7927GA3ywFeHZEmr7W44sJOi7QjHf+wbB9/LQ785IDuT2\nXMJo8jB/ovnyYtJyW2NLcXN4UvFILJ1foMKyoo+eq2gJulsVJA48MqPhhsTL\n0icge9ZyS1puCA8jTsxUDe7DCqQ0gBgjkr3eDxq2+16tSejrryoHSqsGi74J\nZ1otnttbAvwxv0E8mvZ5ARd7HDB5ezpCPmkDBAaMTE7QC8fVUgYiNmy38zcw\nD5GagvMXdGpa2jJob8WQpijeixxweJ8CCNyuZpv7bMvmuU0ElyE78KOBBzsD\nTlUA\r\n=/Rob\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/github-com-adobe-helix-helpx--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-trieloff-helix-demo--master-dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    directoryIndex: README.html\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"5435022477a6aaf5a27ec05771a4926dc72ac31e","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.121.1","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.3.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.33.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.10_1547166794783_0.6328998111705613","host":"s3://npm-registry-packages"}},"0.10.17-pre.11":{"name":"@adobe/helix-cli","version":"0.10.17-pre.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.11","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"eab10eb4784676d89d9f65e3ed59083b3d78b82b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.11.tgz","fileCount":70,"integrity":"sha512-+LiXhrvtK027i+vFY4vOUHNfK/AS7fhKcj4gO2nETzYzRPITT8Y8Wtrnfn9+O6QGdUvq8Ftjmz9xojYCPRSuGw==","signatures":[{"sig":"MEUCIQD8HxXpjAOKOtVGIvyU1KPgMnnX3VkSzV4VDDwbpZJSYQIgbropUdwDSVAnqnfavMGuX5yOMOqG4ut/62N19A2Cs/o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387361,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcN+lkCRA9TVsSAnZWagAA1HkP/2oP7CexFhe5K7GBIuC8\nb1KW+n/w2MOwlaoyNEJ+5/dmskAalbJV2EyBISHxNACgHyt4t57V2kFmDSg2\nD/iocT8R5ZvWN6aqY4TuT4Bb6mnhlLXAApqbnAq9DTloiX97i20UEA3n0rsW\nz5WfT6Q3hgMJX+D06lMdpPRIUZRftBIkkyv6sO7YbRXwap5crWYCsTsqIyNl\nCwQZjl0nrpn6n65f3gCvjD2gRNsT10anCqvQ5ge8tYfQ/OpqB6HcTnTnuq8h\nirsb4GAzCH/XYwfYqZrVdhsCUJV378T6+IpO5uBo1veLIo4tB8oPUcYEMtwK\n7fyLzYoiHxKLeir2bT3kAJOG4FtTRLp7aPN/Gw8Jf0Moqa+Xs9B/A3oriGp1\nqi5Oo4KIGoGx1k0jxw4kVW6thpbSM9KC+Ea1mj+Si1b85jNmNG7kZvQCd9MM\nNtNDDgdZah/GMbJdRHA1ENgcWURrqRR7xZJ5mgeCndUd+VJtfgahS4dBEHp6\nmI+QAInMsoM+rps08kiK1yGPh0rYdkVnwnQ0C9QQts4fspHtcWx6MzUUid89\nuybMEfBs8id7z9WqvmXdWtt3dbAciTDPGSw8wiDd90h54OXhiZbeiKjBjvxi\nwLulpeSQjlScL6IDz37xdIpDs2n/zV+DMZceh5rri0I8XFCoFj4Gaae1jab6\nTUq4\r\n=4ROn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/github-com-adobe-helix-helpx--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-trieloff-helix-demo--master-dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    directoryIndex: README.html\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"69b1e7fec019fdf92d6a6a0af9ac854ac7dee1ff","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.3.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.33.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.11_1547168099351_0.7932817793155114","host":"s3://npm-registry-packages"}},"0.10.17-pre.12":{"name":"@adobe/helix-cli","version":"0.10.17-pre.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.12","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5c611548f69c6301d5b97113784ee9676c2e6bdb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.12.tgz","fileCount":70,"integrity":"sha512-f+eDeykfshXhNYxyoW7TNfPMVQgswXJpX7cEjWAPsginDXoKkmecDnPllLdRYhDIfUyrThxRTGIk+2C8sRF2+g==","signatures":[{"sig":"MEYCIQDYAVvMGBilaZYwGrB3SlZNAXTuuqYhPKRri8CKx/T6xQIhALtBLE8TOQm3jwFfiHLEb445HfO8psq+u5gHWZVoXNX7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOBroCRA9TVsSAnZWagAAhBEP/1ZrpUPr6xlXkZcZOO/T\nFDxqv7nx5aQaxFulglz+afyKtzQwyGEVwgcMvkRW8Eam9SsRw4rl9Ago3rw7\nN7Cm69IgRV0oyBWjlgN/8NPBta92osGRHJCrM2rTRoWyA98y02Vpj/nzWU8T\naRs7RVEcwXu+znaisqcP01z9VZeyBDulpGYXVg3BAk22ii7CGlC1lGkvubHE\n2W0v76QZvzkFYep72nJ/WpEsYFOhTR6vCgNTBSyBIpiTHVwXVl7S3zX8DO4q\nSV1NZJUWgn2sUkkh8+gJgRJHX6DKFfHt1O9nP/l44ydeA5QKmJfj8r+xK2OV\nMdDH1K0iwnA/gv9FZ97Cor5bssZBMKEjM3dwcD6XWn6lODx3cadhvl2E9LSH\n8iiqdk4yPpmlr4pF2c4RNUaD3RTlQjjZyAMu5vt7cTmnVf1TE2j5PpeOUI48\n5CL2IwOSYQFqA4We6r2dhn41IC8ORRb1uD21zVS+NU9dHp0iGA3MAyq6OuAd\n/NXdtv5WtFQ/j4xt0IY42Y3qZeXHHG1nyI2w6vVJT3YqeKL091eOmLJD2Fku\nHGo4vabkMbQmC7A89Q0oQOFgEF+GiRe4O2RJtA7SdHSNjVo3yWEm8aLRwmIg\nX0UV+Oo3szHhnNRbeeYw/81iTI/xnqi6JO2SyndDkKvE5aKIWSvXKNAwCygl\n0zdm\r\n=+emV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/github-com-adobe-helix-helpx--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-trieloff-helix-demo--master-dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    directoryIndex: README.html\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"bfbde5f1a427f3d33aa58b6f6d3f6d6f1fbe1f0c","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.3.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.33.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.6.2","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.12_1547180775503_0.05983795813439485","host":"s3://npm-registry-packages"}},"0.10.17-pre.13":{"name":"@adobe/helix-cli","version":"0.10.17-pre.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.13","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2c76d2d6bcf1a7badd5fb341f8a71ebc53ff6b55","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.13.tgz","fileCount":70,"integrity":"sha512-odrcDa58G/Xh6vqjdJUH1I7FyZ3vsiICE36tM1iYkM0WNc7+83xxkqPR0Xx33IpfLl6EZ1iY8k3qXfwgHqmW9g==","signatures":[{"sig":"MEUCIBsqQRhGsFxmYinZrCPOiNEWGYrS7RoAgCjV2ZJx/Zj3AiEAt/5TnLdcw/Wj8Asa7fmklFvIp68TwQpI3jis5mWjbVk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPD/uCRA9TVsSAnZWagAA2+YQAKA7R3jXc8xY5Uf39Bae\nPvjVJCgrLQnN/P37OTwTGKCug+YBuMFFdo1jL2wL6MUKludGj6+Dhqn7XTbh\nL1jtcdFJYweqYuUQ+e2eiTgER5P/+3ogzevMS87+6WmTIoeWGg+I6Chl0oI1\nYwbG9+CNhy1XWZprp3iOZbsxwK31lYZTUzsPOwFqxxdFn3o+0dGfx69cAr3x\nDCnUXPX9BpErIYUKG3ELZr7NGQQt61d77rtXr4UOKA8JKSryEAwweITJQO1T\nyvbB+2XhhRGLuMcHeXONPfORbl8peJt+Q3awmCg54weDvFuDPJIjsy9q3Q+1\nW6ZMmEoI4/s7/rnpERIuarQ9YD+D859+mHDR7n9iJpKI4Oo50yggNQg6u98m\nvcbGUlNKUYp4fVwhk7tJrhwLn4we6rNOL0T7ievsWS3VWdqy/CNqQyZT2T81\n822cCftTBBOFfIRieoka44xnSIe05CfgWucJOhdz1Y01faRvOKe7Q1pF0FZF\nw1IIn1/SiHtxVIYZpoRFtHy1n0amcvqH8FPnJbtRgIC70hhZ67P/c1nNxgCk\nP6NVF2WIbDqyNqIWbymQWAYfiG5xYHMJGCP8sJOwARE3UWzHMf3B93MdE/n5\nRIPLSWYyaeZZ/qN8dYoH+iJxqjTTDQ7W7DsmWDSwCpCaKtis4DF71ceeMZcB\nadtD\r\n=7wln\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/github-com-adobe-helix-helpx--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-trieloff-helix-demo--master-dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    directoryIndex: README.html\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"bfd98515e09e06a1db4b0426af3b220e76917b61","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.3.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.5","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.33.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.13_1547452398110_0.5845099736194306","host":"s3://npm-registry-packages"}},"0.10.17-pre.14":{"name":"@adobe/helix-cli","version":"0.10.17-pre.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17-pre.14","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"46498a2f376616e68246d6b5141f077b36a4dc47","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17-pre.14.tgz","fileCount":70,"integrity":"sha512-f5Oy0u6eBv9FglsW2Cur8JSl3t3HzXLlZANMNkp7X3R/xGtWxnx/5t07ShAIS6U15sz/C3Lw4essPjINGkJ0hw==","signatures":[{"sig":"MEUCIAYkjd2MZidEzAHa9dVrao1wP7FadtA2sW9dSQiAw9DpAiEA9xWNm91HOfn9GedWDWBlkuSTWosGpDY56WMxMp+awTo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPLu/CRA9TVsSAnZWagAAAV4P/jN8tGJmAV7k/Gxc9oNj\nwB1OfXArOV7fkCo2va4NaF52A+H1pu3P6CPsbdkKMkaYj6qzFLO7QH5QQUSL\nhMMDbtNTRehuy2AklT488mo178RPVMKouFpfFKfmnmJi5ZDSrzMTHnYvJRzh\nrK8+iStZn0AOEF9g1cmX3mUAZ0WoDZnpMXfAKAHHRyJioMRRgBLtGls1g/VH\nOMvEInRMnmq1vMlGWb8q9RF36K1okRQXvzhBFomhl6GUwyFiO2DKByPhdtF3\npgUP0vxWtOE1NU3AAE67KV3RoW48xLfJXQ8Mez3s3bqSMY+w+VGsOIfp4F1p\n9DXzIwFpypt5qcuO6ldOPCIaiv+jqySL9SvCzx/UIwyAxkVUn/xCzMo/TRgk\nqmShACCmhEQotBCFcqA1EqEl2EqREFs52IWfDx74hh0sbF5KG6tI+45ayvOS\n2oNApev1YiwG47UMJX60+O0TCABWCvseSbd/GO/8HMrAyMl7dqJuK7e0fYRu\n5HNulS7ztQTt28tt34O9DVn4sJQweRzJm+ZqayHxgbe9TRdUoAU0lZj0Rmtc\nModDamRH3Q3K5IXpsngW8Yp5pnaes2kvzCwmZMx7jvaWW1y4Aedh4lm8Zs0S\n4N+iYpXu29bgK4JYJ/wpLsybSMzZg/+tDO4SVb1bHHf5jC0I99s6VrbSvW+s\nVMqv\r\n=DjmC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/github-com-adobe-helix-helpx--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-trieloff-helix-demo--master-dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    directoryIndex: README.html\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"3d2c58570b8b42caf7a7b02f6dbb9d6870c4daa6","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.3.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.6","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.33.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17-pre.14_1547484095069_0.3739344501217494","host":"s3://npm-registry-packages"}},"0.10.17":{"name":"@adobe/helix-cli","version":"0.10.17","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.17","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8f7083bea6e3b3abea65a4a95f943c69f0331e6b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.17.tgz","fileCount":70,"integrity":"sha512-fVYwozZKUQervKyR53L/ww/h2zyrejHg+giKXhssdxjiO07m3LwmMTGK2Y3EtNVbKMMqX66AMKfaFQJnwsVo7Q==","signatures":[{"sig":"MEUCIQCr8N1NLfdngFEEjv7hlb4JwqRsHF+Six6jFx+y+VZjPgIgaB9xVa11DK1+aIedwKiq7E+IrakNwNBUvbY8idC9uA8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPLy4CRA9TVsSAnZWagAAliYQAJVh92NoM6W9uHB7yB31\nX2uQz0cRrXqoTT48j/CrT9KEVQtM4rRCV9XIcPr9PIScdic093FYAZAlPVds\n3+GZmgWXelA4KLXRokcFX1obNR4878XJhC6o49PNrPsSXskePTUg0pupDxzp\n5qgBQ+UIRF9oaPI1M9jewfDoBWdPhyX7TJKBTxK8DSJClpE0oMQpAOUmv0QH\n1/H50D8pj60GkDQy1EdAay4k66SAYQFNYbQb/LXPlbJ48yRfEWY+idd/AgmJ\nP7UTJNcOp63TgQngwq/DfF3jcaZ3KfYExUAdW8qSJaAhoqg6Z11BgCZBhxTh\nLC6exk7CS0YBxhr4JIiWbl00aipLQW+ud/9tWGUTiUF6tI1D1Fg0Yov/2lLG\ng0Li2HrgCq3hUsQZRviHzh9j/VEX9KDedD1WaS6kvW8TpIhPojhz6/lgDTyE\nUGkLGVDADE+efIMH5mmUuuNfIYvNGjB+Kd6J8w6EOdrd1PUlyGU5W0anIAuZ\nVRiI6ukRTLZ/NQgo6oaeChXLTFWQuHQy7ebOpVgcipuD0v8iGHy0Sr/qEPhL\nP+E7QFd0LS3CIqeq0/NbktvgRG9bRYwHw6vcutgjfzjdE5fsqVKQZTwAMaro\nC/1VAernKv3opgIPugMONpj8murDI4o61z/LkfcK2xDCiiKboBrG/xgbi7qy\nLU5n\r\n=dx8D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"20e2a37c26efb6b65c74e5af27fdf0c8e4a99733","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.3.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.6","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.17_1547484343943_0.6407853355049176","host":"s3://npm-registry-packages"}},"0.10.18-pre.0":{"name":"@adobe/helix-cli","version":"0.10.18-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.18-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a7ab72abdb434069f7e707c466d459b49e5cc0f0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.18-pre.0.tgz","fileCount":70,"integrity":"sha512-+1AK6MgUmTgLEWqIp67g8199D9Vc9cIWdAaBKBPpIdMAMwQ34RARyvtLBu5oVA2TqLQd50E4RTvoniCfPMNkBQ==","signatures":[{"sig":"MEUCIQD3p9d77qbUlinJwyvNjc8KqscU4FoJy3yckUc1H2Zh4AIgBazysM1kcSW03dOZxaBLHJwKGVs5eZW4DXKXG7JYmtU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPL1TCRA9TVsSAnZWagAAFmUP/2l2aE+9qtWxJiL/i3ti\n8ZJOTGSU82/a93NIRdZBIbkB6kA0ElJwScC61K/yBBnaO4V2YkGoPn5xciVo\nHmqC5iUFEBBOPM9nxtbfoGtC9X4EifZ3+88iE2ebvSLp/s493lOWcwU2zv1F\nz1AvL7gQ4GNmjsFdFD/nNa/1fMaTfr6NDcSrJuM1fFnkvp/iX6fkCX6Z0QdA\n1y4viifWHD+7CFJA3c1qU1vsonWes596lslX+4afyoOary3Ze3IGUdJaWyYm\nzOAA3Squ9ApTTy+8zTt/u6dG1Cu8ENKdZSw13sDzjTW+rYVuNP6psQG8qW2x\noqLBYnIi8OrCuSqVpWB/BfoXShIQ2g+UOJiAgT7TexiEEUAz1/KdKptkiJFz\nMgG/6V0H7YGNoxoKOO40cEFQgpWIFNPCB1ArXc8kNiP9aYlKgW4fE2fA5zKw\nvUC7W87qBmAWDTPXWwvrx/fFKruGNnYSNPldItEYLO2BCxEkOIpZ1DtknHHQ\nc5BOHqqUptf/lh/ZaxZFcFU7hL16VMZ1ILfTy77FpCI2Th8jkxh7DFe+wirg\n5n9fY7JA75n23eYYE8v+ljM34Vjl99afjt0IWFtd90NZgyQbgZlEcbc39L7L\naVsM1XKF5XnBjnlR46uvwb9GfwU9Y2Cut7K1MPwfUKIK4Kuq/uLwj37pd79r\nVxgc\r\n=N7+C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/github-com-adobe-helix-helpx--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-trieloff-helix-demo--master-dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    directoryIndex: README.html\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"d54b4481a549d6bd32df9ec17578bec85cf223de","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.3.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.6","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.33.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.18-pre.0_1547484498831_0.35402050540513796","host":"s3://npm-registry-packages"}},"0.10.18-pre.1":{"name":"@adobe/helix-cli","version":"0.10.18-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.18-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d5a7d772d399c5e57528c2b0c6156dd7ced9c914","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.18-pre.1.tgz","fileCount":70,"integrity":"sha512-NIqezq85D66FoS8BpyIwAw+DuZ4j0Itz8/5jDOnlwsSOgexdUfJu884FDv3mdohUuxNhAFut66sGpYX9uX6LVg==","signatures":[{"sig":"MEQCIDhYJXqz3590I+XYOvVHfSkzQh+NThqF1cBMGGYAo8yjAiBo2xTZ1TOH308pS0Qnn3oUQIImlT6b6I83QiKqpQfafg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPcpLCRA9TVsSAnZWagAAkmcP/2jz7OdF15GrFko9u6/H\n08p/ZxQ4/MtSkU8oTa3l1NWZRWIs/4WRllfVDNbGITxriwgtpPKpnlx21mOb\noGs0tGlSf2M+68A77t1ig2obwQWH7mKq4VCON5CPvFF9CGpOnFBLkysX+BkN\n55D70JbGTkNlmK5qMXgIsAaQRHayIwhjrK66Ls6zjjDIvfHdPZEF6p1LU9KF\nfnL0E/ghDkNTr6N+sdalNXaMSYMtYvPepGRNcLrmMOqqoz4rjiDUF4ld0K9V\nLVY+ZDr30+mA2lG3pEiDrmPqSnSuaKc3cMRxAZ9ngzToI2jlJ+X05/L+Itm6\n9sKpti12XpRPO799k4Xn/dAmasrcotjngI0D8Py7Vw+a/+NWd6hxzRC0YpVv\nprGYRxUuE/d04P/MzDb2Gq/3c5UPz4XfskKy52qSQI7x8hvokVkwDsX7fzpi\nlpLmSib+TyZK3+9dO306+XJQ8hVmE1YjgBuHvBwO7n6ZFNOLXcnDbKhD+KJL\nQsE+JhRXVIrZ2iZk7m8DRVXyRiazs3CGVYMjj9MxMBafY+e939rJ1/e6aqh1\nsAaWpMlv/n/RggxnpVLSHyw9I+V2/LJNq/z9zK4k2N945wt0UI8MMiQavTPn\nuFjJw+vG0xpHq9F7ySdsWrZmrj0ALgGAN1hQrC9uyZmZYgbxXVf1SYHpdDCg\ncfqD\r\n=ITBQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/github-com-adobe-helix-helpx--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-trieloff-helix-demo--master-dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    directoryIndex: README.html\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"8bedc08522918f7f09af8a00907b854d6e67adce","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.3.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.6","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.0","@snyk/nodejs-runtime-agent":"1.34.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.18-pre.1_1547553354468_0.0029447328383853666","host":"s3://npm-registry-packages"}},"0.10.18-pre.2":{"name":"@adobe/helix-cli","version":"0.10.18-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.18-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"cca2f1caf206198c6654eb8a678c687747d01613","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.18-pre.2.tgz","fileCount":70,"integrity":"sha512-sGhZ3+PzKc3gXMy9ZipfHJt6zmubtrq1AsZytNBFj5zGUBUFlsFvOnOfv9S5BNnmrmQtB0sIW80RWvdbNF8oDQ==","signatures":[{"sig":"MEQCIDR4+6dRWeNQSFKo94eTzx5+2VdUcD/TEXWXn1OQve+oAiBqGGk/B4Dk9m3dFFGmrslFirKJIU7hkCugbdk3K/L4yQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQAueCRA9TVsSAnZWagAAwYgP/Rs8IkU7wipR5wRNSWw+\n6ue93ZYww0/5nZH458jnetQ0+04NYkKc4aZbqWh41blcy/9cw4jMrSO4XkKm\n6pFjcwKy8auG6K1ZOJDO9u6bVou7nWDhjGFvrGUmaoqYIeofNjd1t3AGX6IC\nlLDXXispStS30XeSf5aVuGNRHoYsXJy54ymvrsr2udvho+m81iuJxKLZMwqd\nda/9Aam3j7kViK5lLBJL/bYu0LeygwCCgqVelbbarusAruRKrTYtjxT9Bn/2\nsfxFAYQf9wjs4NuBjawL2zoMS/EBZnIZDdXi18GwzCeCRzEaQs1nFuQz7nkj\nHKtTGUn5ehdMa7ZPPqLmuUasXZRaDuVHsZvahMZMGX8E8+siSuZMJqRXMCrd\nJZgYCGCE6aFn0ilsskbEr5jgiKALI1jqCDQXrkmScjvpGUho5bc+qFCRzlWx\n0cLCNFKbqIGXeuOGJCs6yBuSbyWDKNds90lQiN6s6LxYPYN9L1beJj3sPFMw\nMG0/Plt4Nl7nnZEKDq3D46qg+3yxZJREo0esn2RvIkE2Gha7qiUIsCiA4zs3\n41mcB9WuOY3KgkTYlbj1VrF6+yP62e6pVHprnCHk0wz/khBlzE29oJKIVli4\nVPsgil/Eo4GINUVwahXYWtfugGGJuVxkOOLFnANkV8pxbs9NMH3c6AvmaHy2\nbx24\r\n=w3/E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/github-com-adobe-helix-helpx--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-trieloff-helix-demo--master-dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    directoryIndex: README.html\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"6f81bd13668df24db68203c732cf00220b3ca972","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.3.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.6","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.34.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.2","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.18-pre.2_1547701149661_0.6930596364683921","host":"s3://npm-registry-packages"}},"0.10.18-pre.3":{"name":"@adobe/helix-cli","version":"0.10.18-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.18-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"acef792bb6f5d5097554a4424217914287ccdda0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.18-pre.3.tgz","fileCount":70,"integrity":"sha512-QMO6snb2CrhTUlaQJrAgrFi7H0X207dg2SMfGXv/YmA17TFKUY3dgx3q3iR+94S3HlKUf/2yOvPZbgTyNN6pNw==","signatures":[{"sig":"MEYCIQDFuR7FHju6HWFFMRqCBHgO8NzDLXsouevMa/mTUxigvQIhAM7wiGF5E4w0ZI+gHUWzMTVAIX6SUkxdH12lDZwycGao","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQGJbCRA9TVsSAnZWagAAvQUP/3nWJKoChxIwFk7A2EbU\nsxoBPQ9ZWdpHMHhv1YoFC2DxOqIDxtF/0HKCBtvbm7XtlmN8uDDq9SftkX1b\nr7zO+f9MtZFYkiNJtptOYirlIw4ry/BDnzcOp8n8+o+ncCYQPr3eyMus8UO1\nFVHKlZh5lLar0T0Ghb6JmevA7lhrwNpAK3vp7efQYGeuhQzoDa0bWrlpWgOV\nBifxKz5HB7p4WrlfL6rspUWynqhDDglnSU+nHtnb5ca4xIWsIHVorHfzCC0B\ngKTw4wKtbihG6IIRhxNgkJ3Snikhnd0jxmNu6pKDCmRExXbLopGXWRvpA2h6\n2aeUWTjYUR+NL+5Ab2nG3CIGWrr/q7pPOrINgmFWSRD5C++PjSAY8NXApcv7\nBJ9mY9ZvC5xIZUG70nN3nfKracVROHV+P0iFjnKNLuOHbp5YUGatazA+Gv3D\nBtvwADbZWx5r0YpBv+mNaAqX+W1lJOwdqnO00mzhUThnWRevX3m3Vb2PUPin\nksz9ATFHzfs6pxVQ5OOjWLlZaBuSnZB57NL32qZq9aI/ZTt24hvMYg+j5143\nx79fS5uKjYivAuqGu0MT54324ybDOHzzvokgpH3gPr8KO0AMHvr9+E1475oC\nFi1Sj3zPUU5yk2fgb46mXUyDXuT2kmdGCMSdemNacyj8C5X2g+mbuTwJFiru\nlqKB\r\n=6iQV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/github-com-adobe-helix-helpx--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-trieloff-helix-demo--master-dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    directoryIndex: README.html\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"4ead50b2dacc84c337269f7ac4a2b1d723fa5a03","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.3.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.6","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.34.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.18-pre.3_1547723354408_0.7789829839963442","host":"s3://npm-registry-packages"}},"0.10.18-pre.4":{"name":"@adobe/helix-cli","version":"0.10.18-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.18-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b619b5afa3c8af158c462661179a2e0d79dd491d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.18-pre.4.tgz","fileCount":70,"integrity":"sha512-HGiQeoDsT6/lfuojwd1p2xHfzy/51jvvKxZ9aZNPn7sNS2s34OTIqb316aAKi3uqlKAUtKV9rdO1yhtmi/y7Cg==","signatures":[{"sig":"MEYCIQD3XkEhDticp1LlGe//MiddZcfZBEjvYETGHoi7t22UowIhAIYjd4l3tzZaib4HAhxi0VVJlHTmzBJqjzcaeNI5UDdA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQYlwCRA9TVsSAnZWagAAW1EP/A/lTFC3OdvI9R+pXJiI\naJAjzP3uemm4wUCZ/689v4GiGnYtgxCsf3mANG2sEho3qHR1FkpiOz2oJXNO\nc9VAEIE/dB0/cnao3qgVQ8LXuwOzsXMsQc4xBXuT8CEN/k5YfVIERj1MhiUM\nbHkyjQd53OLbDIlmhSPTp+VI7IKnXRtnmGSUxW6NjWf1fGC9HoGx6Od2zbQD\nBBN92Xm6cP6/9SugoG81gfB8NIYKhNn76Vry7VgNpHfixGWvmvLGJRMUkmU1\nnjpfXjOe1fqD3Wo5EsMaMwaYVyoCCr2GwZ1+o/07x8Dg2hjWwRxfXjvuWEJ4\n4TEQAvDzMuJzUtN+U7NRGUOnWoCZIy6P5fYuBeCU9LTfMMBz1TCQXxiokywb\n9he9RyVk1J6MB0nxM0A4ZjV/uEQyPQB/wJGgl9QWrv9cAmE/ILPqhh3R2ieH\nD6FPutRkWwNvNXWTWgOzqFqVkixhk838I1yXBH09fWrYSY6NiTqmxJdUVuYH\nHDVB0Jjgvshr4mAtSmakPAIdNmNoOUKxKCQtXZyLFtRS1lrjbmFRH321ceLf\nEJNEZSWGGCsWPH1/ly/4i63SuWsGbtE9BqBNQcbIG6qm//CVYe6P/RO8SJyS\n+lMbDwoIRjG2ExuQ7d5YKjlyEAVqS3JQPf5dQUlbfbICabL+OYJkCRMpIKxr\ns0DD\r\n=jIza\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```bash\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n                                                               [aliases: strain]\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```bash\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```bash\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```bash\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Test functions\n\n```bash\n# In <my-cool-project>\n$ hlx test\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```bash\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perfom a one-shot deployment like this:\n\n```bash\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```bash\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    params:\n      - foo\n      - bar\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: /hlx/default/github-com-adobe-helix-cli--master-dirty--\n    directoryIndex: README.html\n    content:\n      repo: helix-cli\n      ref: master\n      owner: adobe\n```\n\nalternatively you can also the it as default, in the root section of the config. eg:\n\n```yaml\n# defines the directory index file\ndirectoryIndex: readme.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project. By default, whatever \nremote `origin` repository is set at the time of running `hlx publish` is used, but this can be \noverridden in the configuration file:\n\n```yaml\nstrains:\n  default:\n    static:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    url: https://www.primordialsoup.life\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n\n  develop:\n    url: https://dev.primordialsoup.life/develop/\n    code: /trieloff/default/github-com-adobe-helix-helpx--develop--\n    content:\n      repo: reactor-user-docs\n      ref: master\n      owner: Adobe-Marketing-Cloud\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-trieloff-helix-demo--master-dirty--\n    content: https://github.com/trieloff/helix-demo.git\n    static: https://github.com/trieloff/helix-demo.git\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: /trieloff/default/github-com-adobe-helix-helpx--master--\n    directoryIndex: README.html\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"81bdec37001d3f5ffdeda28c2dafa5d82533a005","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","klaw-sync":"6.0.0","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.3.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.7.6","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","uuid":"3.3.2","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.18-pre.4_1547798896008_0.7581026923287753","host":"s3://npm-registry-packages"}},"0.10.18-pre.5":{"name":"@adobe/helix-cli","version":"0.10.18-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.10.18-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"25e3e46529c95f9dda692473f20322c6b8492b57","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.10.18-pre.5.tgz","fileCount":72,"integrity":"sha512-Uk5KWO91I+8lARy9NS4r9NGXvIRH9nIUGcbQfRar+uCeLgaJRaeLdVclIiejCoD75cXFJLzwpjyKYRbbr8QjuQ==","signatures":[{"sig":"MEUCIQDmJW5xCTCJ1KeWJKPkvNOq0Pox+YL8xZvW+nB1oPy0WQIgOncd++X0BFxiUu0/Sz2mdZzCH0p+ayBQ3IIFeUDrefw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":389356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRmEyCRA9TVsSAnZWagAAJ9cQAJfzt4qUiIPjOAWL31Tf\nNHCC6WD0Z4H51VlMRIeoBriBf7KUOX5jR7ParG5Gf98p9Le0sn+jqZ6NZpYw\n/a3cEP5gshcvqx4KxVXPnZBQUB2ly9z7a1JdfGi1K6zIcteJIbv6DL7Otmj3\nqlcnb2ZzObmpJaPYhH6cYWMRdhZFa7pyupLFIF4+JKmNM5jGX4RWN9t5Bpcv\niVrODWEoYjeHukXpCDD/Z19WUrn4c03Txx8M3KdDKXyiIsoJmust/WlBFEvy\nvejck/7CZPvJ4zB6tVrNr5oWH8ERlpTONQ372mLdpT0w8FSUH9LJZ75fFc0J\nnYRPXTbmlb2IsrNpkU8y4xj/aamuqDctkoKaG2jn3Iq7F0XV6W/P0V0iazXF\nD8PGV9hG4bztooimiXPPyiSxAtAhtRf6TqfDt4wJwPf70AX9pZ6xe4Q7doy0\n7/C62sTSFRMvVg1PYLYGDwN2s41pwtfO5KWoCxng04ygXa4RVqYhB2m6ZbsM\n7DtqlUqACU/UcWASs18YA4z7JUKseYjKuCdSO4/YxXEYDG9s2wav003yTa1Y\nQe4QIJmS13ob5qcObx1qEdnspaYVSc/NQjjnhOCidQ6wYya+P+AI9M0D/g+Q\nwL3g5QKDtNaXS5284Oh52nmvJS6esAnwzdvOxluLlwlQQfn96LcveqKvglfV\n+zva\r\n=Ip8B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"8b27ff1267783cf63c682ded289c5bce3da85697","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.4.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.8.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.10.18-pre.5_1548116273764_0.020461661743302884","host":"s3://npm-registry-packages"}},"0.11.0":{"name":"@adobe/helix-cli","version":"0.11.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.11.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0dfbb3d9dd50240623d92400d56978c6341fa75f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.11.0.tgz","fileCount":86,"integrity":"sha512-sDtaLeLZ0TyXHKpARQ4/gmQcbmtjSmKLlU+OY9PVyiZeAJS4sr8xZBM8C+9LKF9Q2o5VfAwsxFEFPpPs4+cXFQ==","signatures":[{"sig":"MEQCIHI737+anEFTz9GwqYOg5w3nNvI38rAYcjFpz6RKfUybAiAuuxcwFnsDF9lvvqYF1huDqGNv4L1dx+oueeOXBJhWaw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":471448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRnTkCRA9TVsSAnZWagAAKdMP/2jNhCZNxjnorRE/wZrl\nZ7XErC43cWkis/Z+UuPwmsWveflmVuCfoLh6bq7FTn5JmaF2k2vt2gKLSH5i\nONQSYcyZTINdFsteIQnHc9L5ICG/WT/JONFdEeEXxehtGvInk5vsKioNHUKi\nJXHGgXgnYq13lTKdilpP4CBLUoK4bz94q4JKmLuMzAEWD5UIV+RPQFHfy40O\nyllstr9H5w5SVRLoOrxJmwucT4e/w/Xcnm6m4D1jnsNeWhtt4gDsM4350YUr\n1zG7wvMycVVzz5trBU/uG9l2OTOP0kqHw6qOukesEFf2FHWHQ4ESg2hIea0k\nbekYeQ/R71Tpf6+mpCrf2u8yGLMVNbRjclcpu0I3XRIWq7iA1s2Q9H7pXsbF\nAO+KLsQC+KhSGO6Ypq+WO3g/w6bfhoav+Yg8LI3mq2TY0VVAc2iUzq2nieTf\nKs25oR5+mSs+9BNZzW5IQoeaJEtx/W0XUabY6C7u9BxgYlulPI/Ny6bUrd+y\nUQvPAiGp5Nbp8I8POxLoK9U51qYMYUgtpnyiRHrhLS2aY+tCrZqCjza9hhE1\nicvFkLowFHTlTz8OW7k53JtPOzDVhMLUbC5kIGVePf6WLMiTzAniH6fttKYn\nIH0BpU1VF3XNSRGMVH7FwTrOebSufDe0tR6BNUPHmodGdqRSWclFDntXXScs\nJWC9\r\n=pIhr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"3f51a5772c5150683d24b95799c7b7b43df6659a","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.4.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.8.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.11.0_1548121315670_0.31533631779391746","host":"s3://npm-registry-packages"}},"0.11.1-pre.0":{"name":"@adobe/helix-cli","version":"0.11.1-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.11.1-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"29f9ce6d6aa6387ced6630a3da3f95f65c019f4a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.11.1-pre.0.tgz","fileCount":72,"integrity":"sha512-T7Vrfcb0wz6twf7UBJXR6+I+PjC/iFeLHK2cNXJ9Bkwv+wK9yf8t2uNbpCH2pQf7yBnO8oaTHToCjRE9QHFafg==","signatures":[{"sig":"MEQCIAVjN7sF0iObOQwguJCCFukn8++WfEG8x/fjO00ISAI1AiA8BQri5D7oulcMXsvEHbk9sbO5w+F45DKk9KlhU9KPuQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":389355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRnWpCRA9TVsSAnZWagAAYYwP/iAWPo/7mBuXpZ9SkviP\nV/aTIbttqFNRgMTU60UL4S1PjgrwBPjZIfc8C+VRsSRj37nIpehp2Hcr20e8\nUrOlehtWN2oZD8Piwfw1MNWHMiQ5ctxjzPLNFUjnNuAZ5j6QUiGiQOg9EJOK\nj86Mu7i9BhTVaqhgXcQSiYVgozj5ARPyCu3WMv6ICyC2LmiBmjpn3TlvnmYM\n//jtrnFj/r4gF51mGqPKjOtK1AWOwnLfdVop8vOBTb66IXbns0Wjdo325XW8\n35rRzJgNxf1fdtWjsKvusFlJrG50kJIRp2EZwZQv8Estqy9W+tNor+Ravvjy\nVSKeyS8KWh9gCxl3LTyT1sxPr/THNzGjqkhYH61DCOG/fmeYpyO7DIDugkJH\nG0dEO0XBj0JYgVaAXqDaOqss/UP9uB3KiMgV//6IWfGWPV9Iog2d79FT8ivQ\nezHMgwScgxQopNdFxLqC3E/ZgazlwGB7O16kpa+BBTpmPwboI/hA0d7z4wjN\nzoZFVGYh59JSAqYsFR5Hd9MZmfv2emk8PcigRFl/Egohkh7zzwH8zForScuO\nWdt2JM/PqKvsxP5nNWz/eep5wTLc0ci8UUrFlyalVI2lXjq/ANA4v20FubSe\nRdWtmnQ883DbTiWbzObRAp4uIoF8tQq5FCiOe3pbZhwKYOH2OTTwv1u69PCR\nfZKo\r\n=n6Z1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"a7e0a7312d2e747c1133ec0bc6e3cc74c1397b37","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","winston":"3.1.0","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.4.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.8.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.11.1-pre.0_1548121513006_0.9169636336641118","host":"s3://npm-registry-packages"}},"0.11.1-pre.1":{"name":"@adobe/helix-cli","version":"0.11.1-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.11.1-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ec3884930e302ddad79db02ddfd293a2b8989ac5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.11.1-pre.1.tgz","fileCount":72,"integrity":"sha512-5PLbP39kVUKrNkBG7iCrGoWUU+H3qz/nkJpCeAI6NpQNNLerCyaWe0Ww17eJLpN1HLQoXi/UsrqRImyqfsyOBQ==","signatures":[{"sig":"MEUCIQCnEuHP/aoENdvg383XEiowfZR+VbN2rzgw6lPHAwUQtAIgbB+yGA9vJahOiLzpBG65R29klmCN4A6AW0CWp+ApCLk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSUU7CRA9TVsSAnZWagAAJe4P/i9n9aOXyIult5mUDXp8\ndaJYCUXxiW0NQQA844rQxFI8fqqZinaxXljuxjBTrKcVHZYvUNj1U9ZV5KOc\nHhvHDHJL7VlkJ7AB4+m5hKGk02b+CF7mAplHsMZC70uec26O64lajpt37iCg\n+ltzPeKfT0XvhtOdZ9CiHBYeFZLSPl2Vvw/R78rUyVvbAmjCZjzcT/IuWDt1\nU5GLGttufZtKvTlVKk9CzHRLpcK37tASfGYjj+KFJ6x8oLOJSQuAHSbmCrAE\nRDO1nIb6wmasAFEfoAa2XmcRNal5UgmtXHuKOy0oq9Gxdc8Vt5rxz1a7WmOL\ncHk14k/DzR2f2gGn4GHZYzy9PQEqfE72qgvwdTPNpc9LoK2YxU45+Cbe110F\nLK9vVQA7mKQTKbQLv8+s1AcqF7nzIub+BGgfRxzKksDBJck5RkGfEtr9+no5\nzXU2TAOUsmhAp4YhG/tjYyJT/imFSwcKPWYyfuDWHMGZaeDF7wbMNSfUnp0U\nq/qRMKj9HqHutvWRo5DtYZfG7tfRg6ppW5ke6v2Rk7hJbN8ask2jukr5yYGC\nT9dHADD5XxpwtAepx/4RA+aquSkrEWr4lBU/+6py716G2TGoaBrq598hD027\n00i6FWN2xo8F3hydRCCgg+J73JTZ9BAi0fvgUE66VYTrslVY8+0ujkVDxAgv\n8Uj0\r\n=8wXG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"237852f29ba67f965fc93b9760563aaa540c2697","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.5.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.8.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.11.1-pre.1_1548305722712_0.30242064145583636","host":"s3://npm-registry-packages"}},"0.11.1-pre.2":{"name":"@adobe/helix-cli","version":"0.11.1-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.11.1-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e22fa294e7ecc51e6a2940488697ef0f6b31c548","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.11.1-pre.2.tgz","fileCount":72,"integrity":"sha512-q9FgOrNdq5yVN/2SfnnFGUkqT2wAzZsedM8gxsUwvHLEdaY5EqB4m864fvuC5IoUa/ogyrB82yD96zYGM/xRoA==","signatures":[{"sig":"MEYCIQCLWzsF+Xce/9eigi2GnN7nv8lb0c6buYnIWvgAPBp5agIhANeq+i34aBRIj+dxa5/Wcyr+fnU3aIAWq8GAmRWZfqVF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":389427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSb7YCRA9TVsSAnZWagAAQBcP/itE9PT2w/lgWMFseMk8\n2HnATcyOzvPN+ZKw/rNYuBYMlAwKS9ko0X6bv25o0n711QpXUYUJaud9ZLeR\nIr8X/QKMlBux0qmI6t9wONPw81vQ//h6mVa9D39WA/4cck/AnsltCFNsg5iu\nJQc4pQLeGZ7pbynVuNkROg3SsVlQxil23avzZi8Fpk5G3ngRzEy0g0jsquwf\nIkK/tYpRrNFONml7H5zxzPh+6D2RKB61G4UA64gkodwOpg9lEqRq5OGuCcrr\nnq9cKqhgmtjOycRbhUgPQL5EiisiGdp6AWEnzXUGxjYLTtg5dSVfqBJs5MJl\ntDHyCIIL9VFa2nYBjXs1DOLBzfFd8lZMbMTFnP8exzdgRriCfs5NT9Kgk2lC\n9TOH2sK3woptAlEsgP8yevsR0+Fsp4s/B/6b6CbPryyQT0L+rlaijUd2a0+D\nwUlFGbXqOyeHbpnCO47cZH7ZciMYHLU7alXbVX0/Xecn3eDTYzeOtul4HyvG\nASNhLij21V8m7q7uO2TLsAN7pLJ4zxI9cJrBBk/MTDw0BrCiSqaMBJKarSFq\n46kVsmbLfpK/UmnSu8G3hfNqj0wqCkuFucI7fEEZ9v72tnn3wDMvurF3W8Vv\nMTwXuCzeMYoDPfUxTVPJTGC2eihjs2hfOk3e1VRNCsAi2WVUxaFxfHg70aLf\nQjmN\r\n=H0v7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"414df7eae3b301d4d45e315ede7f04b06d2b1b43","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.5.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.8.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.11.1-pre.2_1548336856277_0.6191857646950663","host":"s3://npm-registry-packages"}},"0.11.1-pre.3":{"name":"@adobe/helix-cli","version":"0.11.1-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.11.1-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"57a828ec1e80d84035888768cbe732dfc7616e72","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.11.1-pre.3.tgz","fileCount":73,"integrity":"sha512-C6AIGd0l7YUT5aU2biB4HcdhBjcoqllvyqKHUfZEPd0UbVvt968Goc8OfdzMUxN0BeTab1159nnfY0PInO5x6g==","signatures":[{"sig":"MEQCIFEeIVYUNNzVRAgqmeX0TKLSobbb/S5k1yuKXJykjR87AiAiquY1XXvWbBEi7O2vdUpOiiYq5R/74H/2XjL4+d4rNA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSc4UCRA9TVsSAnZWagAAxYEQAJfkEHa5Vnob9Owy0ukW\nf8+rvzIpDuHN4iqOicKWNZczybXLWplDPu11nEcEPqAzvWdd8tWVh2GZvyw6\nOwxTJxSBnllQGaHahEuBQLhMA6mZTAfDyjQ1sMpfUuOpkzKDEluXtIOX2zRd\nxHU5vn8q9XgRD+slN036V89Yn7z0YDzEKT1wTW4ozNIUgDUbOQZN8/s7+LQU\n+pCLiEl9iRUmwJHvs9Oyo78DaSmFh2LciwaK6sxUcD7ybq6K2kU3dI75RMKZ\ni42wFHViDaDWqWWdEqapV9f47TdHaIWUL9bM7dH5MsdM1o/9wbpQzw5WHt7Z\nRrXUK/a+owjXmeo5FRFpsxMN058s0hS5miqYGRosF4+JwMY46srBkDbPCVjk\nv1PbeReNw6tRDdsmoOG74y6kTtmr+PsfZjUTpBnc7H183ynqUt1JadWelGS5\nUHnZHFX/xWT63FwCyHuNIpB4rTI6ecuujrEz7fevBdWLg9X6w0lLPn/e2+lI\ni/hZ+/a+yQKErm/+NSe9B7FpC4MjuE5F5YfxEfEiFpaR55GWXul0mGETWQpw\nx6NBCGAmB5oo7P2SgcGDKV0mjSJHLYpPCJFMwVDSk7UK8Y3D8vPL5ojZ7Vun\nA5AcnM/FVvSn0gMbyuhTP/j1RbOW9gSt34A+41nlZ+kArOXD9QVDYDuuaISy\na3cG\r\n=Nyg1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"9669fe1e3d4b1ec4083d3742da7bcea2186294ac","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.5.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.8.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.11.1-pre.3_1548340755833_0.4480062137114096","host":"s3://npm-registry-packages"}},"0.11.1-pre.4":{"name":"@adobe/helix-cli","version":"0.11.1-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.11.1-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e18506a2d3304d12f1e433ff8a6cc74286bbe2c3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.11.1-pre.4.tgz","fileCount":73,"integrity":"sha512-O/u0SUL2Ri4QF4PvIT3PMA4U5JDDTRJJ88zBjII1JaZtd17LhW63D2m6EQt12nido4jGaYQKiEDxkWttmWTFmg==","signatures":[{"sig":"MEYCIQCTbM6y674tTFcfdGYQrhOP8ITx+mHsaZNJcIRS6ERDPgIhAIBSwkNuKb5/15C7vdTP/B9B9uRiPM56BHogUpkJCzx4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395973,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcTA4tCRA9TVsSAnZWagAA8BsP+waEVyHTIKO99JezM4OV\nDksgeRrpmoNWHPDR2tCH9dmyZ1I3dlzrFqvP7l0KnxkDs4BJMaoJEVKdLCVI\nUlUOg5Wvj/EHkO5A7+OR+7KkgzU+bOL0o10OFPbNxK9RxDvGqTfpWMqXCzAX\nsCGyK39pGbTgwLeKOFMdHR5CK9h6pD0b+9e6AmegGGQsDvHhIv0o1vfhFBCw\ndOULMZFe3m52JdDZ/PdRyNaofi5mTJh7W7Pxl7Q78GzDDy31XIQw+sy2dCW4\n8ljGtgEHNMXTu/qJY5KKC9mkVWmpHI2/Xj5Xicqfz4gAQQuQej0fL3AQomdo\n1G4+HqfEodttqtxdB7KrH3i/bunR4IP5wU4oJxoRQm3VWtaqpxllgha2MvE9\noWaW6PKRqMBeNBiGHJSUBRoLm+v1zNbG2rbci2F5O/p3b2VMpGQRWBVAyHQm\n+/wSRz7tACM8OSLXqyAnixuMYIpd9fWfXLLDNRwBJpDq3RUzjwqXOpE6FLmK\nE2VkgcWwJXl+S8YzzuMFJyVFTWNT/r50mDKD/JWNFT3e9xzD862RVHHuPJDe\nlxq9zzbhGUMneUTU3CU3CTjUTSbjDXhahlwP1qUSatnlNr3ucJWvQfXoIdmA\nX+v8Uw605b2gp94dAZxw5F2b4XJp3rkK7enbGOF0G0I1QXX/mwbldRFdvGq/\nwLfW\r\n=DQ7B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"9872eee5fb0e05779b2c1d7ca20a32d42e7ee74b","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.5.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.8.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.11.1-pre.4_1548488236906_0.89030260186941","host":"s3://npm-registry-packages"}},"0.11.1-pre.5":{"name":"@adobe/helix-cli","version":"0.11.1-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.11.1-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2f1bd3c20c3067b9f524196031055c644f21d283","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.11.1-pre.5.tgz","fileCount":73,"integrity":"sha512-u1lclshrM1l2GIoa6oA3reAZ74W03xJAwxbY/Kr6IXp3O7EY1pmB70xRM00nkC6AgiNj31/krb/o+2HRO/FePQ==","signatures":[{"sig":"MEYCIQDOeVpn9twRBw3c0gItiovOP8U8Ox8Hkn0myrP+SyspCwIhAKZzQ7nSbPb833633rTDz2pchGEhWg/uaFul6Wgf2jwE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcTVCiCRA9TVsSAnZWagAAGOAQAJjkSqDzPSiiBxTG0etm\nCm2l3aIaAjCoInpqwzL7cmLJI4X2dmwoSHHLXv3zcPnNmy/p49UVjapCDZW1\nnI9B7GvkY8biOcDQJM2SDWWP3aO6FCMn1+iS6QlZA3Asn1a8vFA2j453/GfA\n3L1h34psxhvZx5jCut3/XYf6gmKlTP1NQ6fdmTOMX6Ho57Wq2pewO4m+GANK\nzQvgf1TiRmY8isNzMGRjxLzGd6CQYDxMDTt1BCcp/q8yfXAqw211mW1sQBE4\n8uNZwk8Wroi1PleJU8wjYC4Jy4TKSbc45HJRbcBV8KFhRcCdvkcY4ekmIH07\noChkXAFPTPzPsdTRKw8Qwd8I3CQUZuv5AsSu7cXrNzoWCHicqqEyFHWSrvDi\nGSP1flDC/ngs2LDPKp6H+MzZ1mlHZwYZR62b86F7UkaluxDtXuKtAjbrGUBi\n1/Kyh1xLjqDnVb7qXK7pJUWbp4OEU6IkTCuZgu3/k+ZRxXpb7Rz9kThojFLe\nF2qw5L/9EidCUe5R/JGNclipoKOW3uoG0/8hArRPeAK1QfzmtpHyYNzNozHU\ntwOapkWXWbMSFakGxd1JXExSQZoZ4gJ3eC04uwlg+ce/tWLz22NwFfWP7X8S\nrMZxd6u0DGlb0iy8QS1vUH3EJjwbmLnRPJsf365c77knjISLlkKl5wbra8xQ\nAyHq\r\n=yxC+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"17bca568219b94230abc5e6ef71540620e06a8a5","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.11.1-pre.5_1548570785487_0.3410881685717806","host":"s3://npm-registry-packages"}},"0.11.1-pre.6":{"name":"@adobe/helix-cli","version":"0.11.1-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.11.1-pre.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2a6e66c336628c92a984fe1f198f41dc14d055dd","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.11.1-pre.6.tgz","fileCount":73,"integrity":"sha512-HeADu8C3hZK0eod6uMBdOyilA5p24UyGdXzMG7cYzzxqnXv7DX40i5geDWtNX+cs6aRjvx4bD6H0odeV/5KN5A==","signatures":[{"sig":"MEQCIC5NT8cGfCMqRkr+wMw1uPfRLbL3qX1hokJvCIoCkjQnAiBKz3YCWrM4H65h5xD9/Rn2zEbtra2opbHPYW6uAnwJ7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395722,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcTlCeCRA9TVsSAnZWagAAQDoP/A80ozkXJQfcSTdek9l3\n4VtuVzmU/ooVxWZbkJzpRjge9rx4GQ5zlqChVigl2HJxrg9sjwM9xnfEtkB4\nXpXV3HaogKIiMlvNIASRs1PejyuVTZM0AIDq1l8FzcOGJQiOwuJ69vuTibfr\nkH2wigW5Qil4shixV6x3g5ov+im1ws48bx6J5LPt0ZqrZnfnH+xU03tVf8WQ\ntogdt4hEpWd2caaxuTJ/e68VXzCFmRdE5hEKatP9dLZ0UIS0r7F+ujchLjh5\nAZXTxdxx610BupkHKhbHT3nOvv/qpjVXwmdrgFxcmiDUJ2+7fWfMjA1UV5U8\nR14MqQ2OMAiGFJP9E8c9K7Dv89VP1sSk+hW48jBuc0CusccaYtoKuitdDWHJ\nze0py0rat+3RZiuKi7qVVaMUdYH1Z/44F/zX+jpyugH5mozTlqi7Yu+rga4O\nwt6i1E/8MS45WLvw4RLhy1AAv1pgaciCMJmJRWmnOhNBxaGNl3uEBwCv3OVL\nwGa+IK83bPIC2fnBLDDR1xZVk/WaEZuowp0oHuyrcAW7wvtx2VSFs2y86Ffv\nVP0NHCElEmFHFW32xbneNsqazlVV6uwRDsaDAjj/dKSTZBKwI+iIfeDpKPm3\njEY0yBWIaBABpcneJNTYPkHB58oJ8bxW+VnHAdGfM33ToYijnzwB2WbuDb5t\nB24G\r\n=YmH6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"89f8b5096fa099cda6916d402c9df4626177b50e","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.0.1","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.11.1-pre.6_1548636316966_0.23405994204022718","host":"s3://npm-registry-packages"}},"0.11.1-pre.7":{"name":"@adobe/helix-cli","version":"0.11.1-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.11.1-pre.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ccb5325f4802144ca9f22adf5b920691afe69385","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.11.1-pre.7.tgz","fileCount":73,"integrity":"sha512-obK/woPX3vBNdxPsCRu9m2ptFbOjJVxxPUoxfMVlxd6J+HlkzL5JsqoCf1LyPK9Ap0MIdxDcR7Kwo3+isSgUGg==","signatures":[{"sig":"MEUCIQClHG2b1B5iIdc3uc1Ijnurnk3/929ztLvGQEUJt2AcCgIgTzDMGbEaZ4eslBzJ+A3BMgi9D34cqQgTEwleG+ppT40=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395722,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUNY6CRA9TVsSAnZWagAA+CcP+QG+7RCQkIVIW2fzILf1\nIX2O4sti29jcjUg6Kv1URHMBSnZe9NJJeUfXfRxZYhO0zB2yhIUQ4dW+AHE3\nmggvWjyoK70H64L7rUb39DZZ0fAFeGxLz5pEKghFUMDG6yk4/fLztum5e6VI\n9i/Z9Twpl+aoyhzWl9TDcmuU784lkSOdSGC17EhvHElQ8zUdVUkBkLNKmqA0\n+H+tb7l/zugdxo0cPi9ffJ1/Oo4WOGrTeNGtq2RqaLlHqq0nC6mM+QYCR5dm\n+nie3DIU73QUlvwjlAqoNvOKNQkFYnuT5gZvu6Bp7R1ZJmcA4q1S7dWVQeFT\n+hsHCPdfCUAC/81Ul8WkVDwO342tslJjDOLBfHdsBkeSbH8MYrftm1Irghse\n4A+DY+yIgpcE2OAjRVx7njrbk3rT3JEPzfTYxoa6E3kwSMHwX9AuRsMJ3koB\nytkuVWy5GRS4NW05uyoUh/NfZ7emAxW2mo0dolFTQfD4jkooe1X5jbaabfki\nWe+os9Ysgr6IFf36FEs6b0JKM7ju4F4CZsC3YuP8X2OJ26vvX5Ow8AmU50DA\nTH3X9fmONqwkZpUjg01Ve3BF75UXCm+l1CCs7yCzhFys6JTht1DV5n2MKw8Z\ngtZEgOHMCzy9NUNb8cCw4fQJsay6Tv5pogvMjz3NVeBYN3RhNI62oZsvCe+z\nqCgu\r\n=BpL5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"d8c86c8d4d30ccb6885fb437675d52ce4b9f17c8","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.11.1-pre.7_1548801593909_0.631087567917636","host":"s3://npm-registry-packages"}},"0.11.1-pre.8":{"name":"@adobe/helix-cli","version":"0.11.1-pre.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.11.1-pre.8","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"cfa4c687149adfeebd4a1be5ba9b58eaf0123bed","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.11.1-pre.8.tgz","fileCount":73,"integrity":"sha512-6Dtn9EYfmufE8rhGDyxDDjyqjtftjt91jC/rCIRl3r7m3wICCmPv9n+EtJPQj2eL05MJFnBhenjDHmvkaS9LIg==","signatures":[{"sig":"MEUCIQDLqXqOZmpj2qnGaiCEiu/W3jNU0lxJSBcNWhnmeXmWxgIgLj1yBpmXx9Zzpt2Sc1j3M7zkzbCQpjxwB9p+OiCXXvA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396134,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUNcmCRA9TVsSAnZWagAAt1IP/iaR8Ptb6DN5s4xPx/8w\nlqvbs2hibOGvxfMgZR3RoZRDPdLhb1nMYZt8HRy5XsWXnKiSaqCtpPdudrk7\n08Q1knJD+vMts8aQqsvXZo4OpNlh6UP4spWuJRufWSs+2HxZgFcKAktaHmMj\nIGk9kJEq9HsSgqmO7R+zxKuDJwbw5I3KOnQpsWFU4XH06XIyLUiIjiXCuwwp\n9Db35hp1kmTtiUdaEFMhYIMCl+sCVKKTZzVOMFGhNglyKBoRQQNolAuHHMWi\nUgzxHgfCjQ8URnIs5XgKFUhUCFK59DK2yP/gN6GCa/AOujh/RCAEEQHkMYfY\nyFQHWRA3tecT3OqaUxX5OIxI2fL1ZwPgxcB0Zv9HLC5ftWRlklbVIi97vX9V\nAKNUmPm4iiUO5eezI7LJE8Y3TRCyJUZ9SocBy53W7FnJetEIxIiQ47I5Dfno\nVeUjkV88MVc2S8QNPqb69t8SfQ9ecFWHBcfotF1kUVvpiu9FbAy3tJtOD6Zp\nJT0x0Nl+e9AS3DwvIeOy80+Lh0dReKGNZ0DpAmNZB78JiY7aaZoEBmvpXsuv\nHiobd9zRvorAm3yDhT19di3PXgSivnOuSpWOdMNC0ers9uzyfTg1WcDXaKFr\nVjN6TEklXq+vggUO0gZinMJKWB4Edt8qIvylBF1Wkm+ICCepaZdFdi9qM4oI\n/7Ds\r\n=WMFl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"7103eae6e3369fd3734ecde416656c7b54902a53","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.11.1-pre.8_1548801829807_0.6579426542202942","host":"s3://npm-registry-packages"}},"0.12.0":{"name":"@adobe/helix-cli","version":"0.12.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.12.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7d396f898bee9f4ec477f4d8ecc6bff4875b4cc8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.12.0.tgz","fileCount":87,"integrity":"sha512-QOWoPDyrbqgK7J1eHv51sEtj2oOuy/Gy3By1mbwq9Rz4F44iauTB9LCwFoDhda3GldhIrTIjkjAzvmtW8oN4uA==","signatures":[{"sig":"MEUCIQDBpK/xdIZNVJM9mstaAioZNUNhEI9AUIA6zMU/oGwN+QIgLJGWjDN2mYQoUcKB71Egl4pndI743zg+yDYiIeANvnA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":474325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUOKnCRA9TVsSAnZWagAAEoAP/3Zz0mylNRMzWyOYuOXo\nxxR6TGnPOPUDVCo6zrv2h9MwFyfl2P8tQ7D4n4bTyAJ1z/rD7cDZKOX6qTrP\ny3z5V9qzmwrLuL9HMKHziJQ5Q9GLR/qFG/HNM/nMfXaw802Ee7CO/7/Fno6h\ngQTBC6DaeFeHvMrHHl36rQtLQm92MKvvKidtU2boUcYed6WYla25gypdkGkq\n9AzKbrrwaZoj7pc2ib3fZN1IVQnoqNZvnFg9xddTNA48c8Xi/Zy05JHGLCoy\nh2wYdiPuWhd/I9ad+VqZPNQbZG/pC9NbXFN2+uBUKJ3swnZOJYpMyA3ZO0t8\n3gZM46qBeWz6peGusjwGMYOrB/UHUKyqtwLFZdFamEQwf/bFmnrUSg2GUzPM\nmi8iP2vyhkrgNlm2OsKV0doUR9yq/QLd7N8rLZ9eUuedFinbuqz56WeDgQ0X\ncPYMP3g5FL2QDQrk7FkConDZFb0SDubmn2q9RcTE/KEnoaQnh+lL1oA2E0h4\nzFkvrK/aA52AS1xRxt8svTG0Vmqx/d1e6kfuD/94FrXxkXKlV7/IvgCh3cyP\nqI+ZEYslHq9OjjrB5S+7gTbn1tXbtPlTcye1D70wH6Dg8wLWVLH17G0vwZso\nSPjk8BRCjLX0gUGmP/50/0YfnsWeawMAlq99xs8XK/OAOttNhAhc5tk1nsMk\n2O8O\r\n=FxzH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"389c5b7d6c69f6efe6179ee510ec8ac89fd9b4b4","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.7.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.14.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.12.0_1548804774799_0.8602736098047559","host":"s3://npm-registry-packages"}},"0.12.1-pre.0":{"name":"@adobe/helix-cli","version":"0.12.1-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.12.1-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"04051069dccf966190abb78ecf7cfe86ba4cec33","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.12.1-pre.0.tgz","fileCount":73,"integrity":"sha512-ifE0gnp9jYVt5tGEX4VjEsrTT14E5RXiZi+U7Sge67xfZty6I8VgHKUdvYhLBfiAaw2rIDWV9vn+PaDfQjDlvg==","signatures":[{"sig":"MEUCIQDBpA7QgD6eOxcty/6FjW8GRJQUF0U3cgI59zJF1agyzwIgGuGD2GxURBADwm5doNuTfZ5RE+qfX5hTMbPo0AY30HI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396134,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUOK8CRA9TVsSAnZWagAAHn8P/3BOEHMyJ7pZVU43IAHp\nV6wcEv6D+DTIJpIPOf74G1rf2bFyB2TVoJGPtPiTvOOpJeRBiqhqjOX9F7gl\nG+8gIpBBbe/iowUzm7FtJD93W+ykXugPDfo5Xx0HY7qyz0AO4qjxE9DImUJu\nuzxdRrOWdDbT+k5VXqDgI3Pba4M/A35UoDJU2d7YFUff/SGMjYW8CY+olAod\n+t8fCARE1Ph4oPNVfkRVZp4pwR2GjQUnwJxhA4DhQw8uqfR5SBkKyQC+GVY0\nP92UjUyUwSeVSxUKPdQoWHV9KvxH3ooOpsdGorwQBN22CYuXQ3pON5i2qdqg\n85sRq466SVL+SxkFjsW3H+NUvbg7bh7nW8U4wPLiMKDCcqZvqZp8yYN/b6uw\nMDHjn0qzdFaiXra72rQS+CuH91iTucLfIgJBlBMAIurMPs/vE8sGN08eJJa8\n5FyaILrGIu5SPV5+VdXNaHfzpoEyevsWEy3a5YMvraFEmxPPURhIpQ9z7NjD\n4+SeXU11/M/8E2wBLgHfR6KWFH/jdiLkjALv9YqgTRAO4+V0iRKocLZOoq3B\n6R1TJ+Zzu4LD1JfA4TeqYQSEBI6jWJCv3uogX0ZPfHoETHk7be+u+wl0Mwa0\nji2Guq3VlwM69A8sc2KVUGdAGf2Z1e53LA9yO3ofHBbzhCn2yEGgtTWY3EyU\nVqVn\r\n=LdC6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"9e9afb6bdb4e7218155a5c2259963a25aebfb854","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.12.1-pre.0_1548804796015_0.00896536525980074","host":"s3://npm-registry-packages"}},"0.12.1-pre.1":{"name":"@adobe/helix-cli","version":"0.12.1-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.12.1-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"03f6171a98aa846a22e06038465af9ab2f009667","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.12.1-pre.1.tgz","fileCount":73,"integrity":"sha512-ic0hgASFm5WuGs4TY2kpIu2RHlmbqIAT1YpvieSTxA4hfZvc/f6RvWu/cbE6bdhR/CTHc4SXGVyNfHiqbrn+iA==","signatures":[{"sig":"MEYCIQCdJ/XWTUJCyA4ldIVx8kOrYQeNBkp+fnnaojij080byQIhALVinZgcdQsZFga5Nj2RuceApEn/aCCobUrkw6PCQQKl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396308,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUPGNCRA9TVsSAnZWagAANV8P/jE4k/C4WeWAFDDKZgff\ny6falTCXusWhUIaaErIAkKfhXlD0DiQ9h65BZg9WFiarRQ73u/zKfVT5D/70\nTgxd8EJNtM2c1qL9gNDPfqMK/DauEy3h6JpnAhuSKshwi+SGE3cwooF49E7L\nNbWZHBtT3FxqGKJVmgPYtnna/zyrRVoMHrNDvPL+QGEXpywk6aZp/KZOVB4G\niSlKPF0f1TFKnU0h+vPxzoz5jBNf+cvq0BeoP1QPwws5hF2ZQnnAxlkp6eRs\n932SRSroMFEeAVM3IPYTjalaMpkDEpGLi5SBVjM5cEMog1VLD4vEYgoJ+Tnm\n0IRrtSEfadkgxOITSDNj7vcXXwxfpZLooZgiQc5GeCSlpr/cgfn2NSrqDHRh\nfnn68rVJltEOaUUEDaXl2V742VzVtpmaM036d/XHhMK+8RkGctZvqScE8FiZ\nbuOWPkKiBZDRB3QyiLUEt5cTTWbO+Ri0njFJpfsXMak5kpRnkn4w3RWRaipi\nV/jrBGoZkpmOGsOqUQvNw/JxsL1gT/vLdh4eQfY0whtYEF082/XL9kkag4lO\nGyQGgNDMJiwk64Nlh/y33qQvbO31FQD2f62mtp9AF6HcbL6b1tvVlmBUzw8M\nm/K+jWak1yY5ZlUj80lmH27/DtxHx3EuxE7ZeTmA35YhMR2SKcEpc+6EQZe4\n2fRN\r\n=yOJr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"77c7f82973065954673e7fefe186c3bb0fffc679","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.12.1-pre.1_1548808588088_0.7630888384853554","host":"s3://npm-registry-packages"}},"0.12.1-pre.2":{"name":"@adobe/helix-cli","version":"0.12.1-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.12.1-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"61dc8806da321c4c46211652c28343aa539dc1ce","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.12.1-pre.2.tgz","fileCount":73,"integrity":"sha512-tcl7EuLymBZVYSZCMqxXShIbidxksQr8IgklVGHIFHzEFe9fmsrbToRVS5BU/grXmcvh0+ESEcIUT3298Oxpqg==","signatures":[{"sig":"MEUCIQCfkkCDioRF2nC4A5bu2x/nX2EP4KpDmmlsqHqVAWZ8GwIgS0VHUIGo16KvMj1ItPxEhTbk9tOpxMEbjJY/wBzyiaQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396308,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUjHACRA9TVsSAnZWagAAvFoP+wd0Ov0wUiiE0R3FoEMz\nT+dvJ8iss8wtPwEv1p3iTMA3WYwkUBOPSoaBPJj3x9RpDVWZWfqiVEcs1D4l\nNB02gkI7/ENtaULqrJpYcc/P+s/RAg+hsOannlcDUmUIVmiIc0WQ2NW7wsoP\nGFrBfGEyQaonirDBU9eGioJT6tIJPOt9LXob5LgHEjlwvZo2MshuYcHUVCz2\n2DpKgqGvtdB0DneeYxHDGbOEIQDzTFUM+i0sTlqWi9CwCR2dDn7kFqYJfbHe\niwNz65fWPceo/AE6evk9Cq6r8FTU31l9OifxLn5YQ6nEE6UFi7a0BQzCySkM\ndOHDVxNBRyZJPvcpGKVGsXerMjM9fkmdbqWA7Z3/cM7IO5KNdzzYxYDeUyIj\n7nAJwnnQB0H/MDbriZ0prJub8p01Br0kEDIbOuQk66IEmbP4onmk7PQZkWLU\nHWK1rKuUOI4iFz+fdoX0FJl3cqxbtuOyAd92ckSo2p5dU6VjUVfPnJr0czac\nYp1wJCRD4PgwWOgiWpk5a45ufBAtbhzCMRttSLbVGZYEy59joFY/FWp7H3mv\nkvq8q0rCozURizwiYpQYYmYPxPuj7u/qbnuxg9wdvtlAER8BP80hdqz/EUE4\n68JaRfrkQ0RtKeyEVEtxCDxT7DGoHO3Hd0BMfEKb3IMDITJdikqgy0dhcyhp\n65Bb\r\n=3+a7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"67532dcfc3ed6495f598897c85c6f2bd9f872682","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.12.1-pre.2_1548890560147_0.3515793081755787","host":"s3://npm-registry-packages"}},"0.12.1-pre.3":{"name":"@adobe/helix-cli","version":"0.12.1-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.12.1-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ee336cc115618ca5f96ab8b10944ac7179ed4083","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.12.1-pre.3.tgz","fileCount":73,"integrity":"sha512-XbHeDnMTW/j+4XdMuUuEid3gI9nJroBAh3vDkrPLBZoTAIe6os+0RkJMa29605JDg23r12mzwtEUSWT+Skq4WA==","signatures":[{"sig":"MEQCIEg7Beb88ZdMkORxEezVB3cjVFbIuxJ3Ysp/xL52LuWdAiAS+XhOqSNEUYrn3Gsmn2Zwe/FSKd5PbebnVJyjBkxhNw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUknQCRA9TVsSAnZWagAAEOEQAI5clTVjH/M5gd+E2ykr\nARKNIVNTvniOc9ObWlVldFQava0lCH072ArzSGWR8hy4TFXf6ZX/Ri+7JGDX\nG9rzKPporYh7/rYFB5+BXU9NAMya5I7qUGxeCVQupPTLNTDLDaF2H3c4CNLn\nO1DeeVF9DDUZOuOw6TVOOkzpLnyAuQBzMVX/60h3ZN9zB0O5DcHHdJFQDa/7\n+22A2HInB5rAJaBLRTJWV/nm7ITIvZOXkqYi2NAxtIleS/7FGTq6VR4/1EwL\nIsdyP3pjk2o9Ts2IIpFGTSBu+Lwk96mGwA2fKp94hhgR1u4JMefuHzkLcIbY\n7T8zwJ/CLXFzSYyR2nr3aZHf/kPDd7+8DVFaSrmBUfuLn+dq0tShfsXOovyW\n1E1AbPq7MtR/dtVoeBhNfRDnzqUoqpp5WRJmieLnRkW3x97+AtwTxPp8LOyL\nwke+sDberQthpZ09j+CSk9wdde03WB0vCKni2ou8pM9+btaDeGlvhdgpJmFO\n00oWB27cS3TfP8EhCpjIUsWKWuwFUlegobDGosxawqelu+Vbd6QU7YU5ebnJ\n5ZIhJPPy6rEQpzG7oioVpGE9h8+PkTSXqGCQI1sz0zWFXd4OmNiKLd1OopK7\neH5hY/p/QA09zUQcGBQnLwpAjvsBGNOeXTmu4JD9rgjbwqiDD/izcNFu6toI\n4OoX\r\n=a0Qa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"36740981ad36a9e2f9903d550a6672026a72c2e9","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.12.1-pre.3_1548896719373_0.5994081011664623","host":"s3://npm-registry-packages"}},"0.12.2-pre.0":{"name":"@adobe/helix-cli","version":"0.12.2-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.12.2-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1b201c39c4f226c3360ba1181036fbf9a53d57e3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.12.2-pre.0.tgz","fileCount":73,"integrity":"sha512-y5lfGbH/QpPXxIDmS83nLpcARC8x6MhP/WAQVPcTMIx7G5Q4ckOrvhWkjQgB8+zG1d97On6qbM/I7s/J7WwjIw==","signatures":[{"sig":"MEYCIQC3Qpb8MDazUdo5fVTFkRUmOm38hQ1ktIm1k9qUsT7NCAIhAMuFNLZERNgKm3uaOTV37tJLxjO3zRFUdzFomx+QlrHI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUkvPCRA9TVsSAnZWagAAvcQP/0snuAqDIDzCps9CsaBb\nZFjy08yuKpyzWLgmzLfzCK4OY2BFfp7VM0hPeoNV8t80YFVTYKngV/XnABUM\nrG4luGF4n+JpAeR/mAUmHpoNbeNLLmrLkhZUU3HOAEejADPr5AKKLP7FX07y\n1I07jIWgUiVYmO76ez+Y2qoGKrNCP3WXLYc3Iaoqw0ywxcgFOV5VsXUJ3Kdl\nwBXiL91k/uT/tHozk0AvpK7PQXgyrrmjZFyD6BYkscGZSHiJaf9ote43wLrB\nt7XxTrA+9z3n6OXdHbfCCwHwdme+i1EYHdnzfWXMyO3xhrWTwC57GqiHT6XX\nmlUAB7rQrBcSrUKHWPOsgx/K5cPUr1oGoi9lPmiUT2wa76ctG7PzN3KZdvq6\nyBltBLNQk4X2k452WI3f2BCNJShJa+iE5fzb2gipFbiECU5BsESexCkBS9UU\nHlVtAKUiet65ZPZYEIbdTN/vdJKUjsXXDVQfO6DvsyvW0MajY7ChXIy9d8tN\nIb4P55Z+4ksfY+4WQFG4s6DuCNfkx8RZfijo3cR6Zil/+m1cahlzYZAHSFgl\nWfYzAi7biErAzhrKQnQ62Xmdw8BNb32Y/bjF6753nr694FmXtcnuAWNxS1zD\n1VHRl+XidmIGTEApfvl+yUng1VshMCb1Ko9w/1b9CA9g9Em4U/P1e7GSK5Et\n5ZIl\r\n=TPJr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"f481114ee192ddfcb15449a086f01bc6b8dddbdb","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.12.2-pre.0_1548897230815_0.34382746922935037","host":"s3://npm-registry-packages"}},"0.12.2-pre.1":{"name":"@adobe/helix-cli","version":"0.12.2-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.12.2-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2f93fa8cce234c061119fdc5f9a9e00b36475b0c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.12.2-pre.1.tgz","fileCount":73,"integrity":"sha512-9ZvjbAGps3rL4k7lW20lJ/nIixSBrnXuUfNRjJJcklLKevuVFXhPqfumfqTjzcXnKguLk5RUsAR1pRxnWZMOFg==","signatures":[{"sig":"MEUCIQC8ankQJi43AwDrcVqsAm4A/w/ad18YBDUnuofiwxqrFAIgcOupUXpeo86feNppJEnB7O0a9ztmdn/7TVkwpP2LnGY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUk2qCRA9TVsSAnZWagAAXLoQAJIhaYzJAaRcYgkH0H7m\nu1nBGVbt91clxFWBh2GtTFzo5P2CMM/0XmEFNeWx7NcGaYIK45G8U5+zGRkl\nv4zvEoowEbr3HnWU6O+W2jYjYzGsdzkGDrsAGgybrhrro1UbVjjtcoN8EC2X\nwJTLhwAZriEy+ygJ6UitYBaKk87CyYilbV7xWmuF5xfj0Soxme4vzRIhTbAQ\nUu0PdEiUHHuNiIVr5Hi7casBdL0BeyfBD2QNiCjepbZmfynMWc8pb1MZQUvo\nLNlmMk5sf7Evz91klutVJxY/K425Hd2GIgx3Df5FVml3chmOEaeidB57oJoa\nCCntnWlKbUN8Dcrz2B8C/4PkEUCJKT4Cr3kvQ3Z8zIL8Dt0iw+8H8D9VZ5HX\nwa4shpHgX7Bh6wWPKJXuek0jL45DLrOVHQN7R6QlH45YtUTwuZbIFr79m1tw\nvwrH+TGypTkT/GNICaROtD/AdLIstOLItFtCKR5wpWx/VE906GqIgDM3uuo8\noyJg8IpibHVjKGx1+y1lur3C6UR51e/18I6s7lkCrqhi5LmHwoFWg+gr1D0Y\noq/3BvS4UWcIgTKgOar1rANpdgRfjDikdEJp8poangdjw2oThcEN0BsBiAi9\ngZlIruHEGyWHokWAHQLGj0OcYcMUIpiq6SBU04GCobOzIljAnDDLXTu9VmHW\nmC3L\r\n=yRv7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"f7258a744131f191c64e7a86937f8be326b12fbf","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.12.2-pre.1_1548897705942_0.24662373402708293","host":"s3://npm-registry-packages"}},"0.13.0":{"name":"@adobe/helix-cli","version":"0.13.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5e02a91d46fea155142c6b1a2e28b14925891782","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.0.tgz","fileCount":87,"integrity":"sha512-GTx25FUCGFw7PFKu6Ek8MNoTRcsjz1EQP9fJX6/1icayg4DAb+q86xJUSQPKLDdwLF0gvga3rRlEnG9bdKSscA==","signatures":[{"sig":"MEQCIFujy6h18RwhIFUUa0m6R/ZWWCDHXyZuYAaD3VG+L+vSAiBXs1ppeNdesyxiznTuxG8NtjMuQ9ZHsLbj7GHJaWth9Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":477466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUk6tCRA9TVsSAnZWagAAmQYP/0XiXQ1DaQl1YYC7R0v6\nglH2w0PmT8ko+mIX4ca7v4/r8IRl5n+lzZhR3slN7PaLbxrBZHpOcDEzBHl0\nGCpIKtvAe7NdhJMdAbrqU3x3NQL8kzPIpwRbM4Fmn+G0dM8o9fQ0SxxNrk16\npMe+wxqKXBHfCh6uq2lc85auU670mjhx34H1gx1h64g0wKFQzRh0BwptP9tG\n/cjVYIV75HM0a4m1y4iAMitL2w8eOk9r74mXlBFQCS6Ls0WO+ARMV36BfU7b\nXqZvwB7ARAdDrs4ncT2Vx6nK9n8FOn57cBB5jfLiCbznv1MyH5BqPJtXKhvW\nJSmi+bglHSsjwQof8IiMcoF1nKdvgFtOU5vnntSVAcCHySQSxs52vI4tkhd0\nwRDmwvl7BmFZllZroIEXVtStbYXUgWrgEh+bpFWesxOqT3pGA+Y9Ye4kdT8h\ndukt/6RPm0CByYpxmqaMS7cOmDynxxFTdGaNL+V9R5o5uNcIgWUdeAWA/mvf\nmLXyVDs3KWwIB+mbTigLbqNmZipzcrf1F61rWnA7cSydpngGQ8u8KVeyAjqs\nJmU+HH7vNp68AEUtQWtegf/sq3LpCKfSicVTr0KN/M62LRE61IfVzjv9FTyL\n7876CBus8P3PoDKSXve6bvWKxga0yxFdW6UQ1xppZy9Qw8Of52CiYpPmUSUa\nwbBI\r\n=niJs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"1cd4d17f7f9e3243e30d8ec7439633ad15e2c27a","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.0_1548897965082_0.6953465469807787","host":"s3://npm-registry-packages"}},"0.13.1-pre.0":{"name":"@adobe/helix-cli","version":"0.13.1-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.1-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"cbad14023bb1bcde16f26f3010c94c6df4962215","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.1-pre.0.tgz","fileCount":73,"integrity":"sha512-npNiuCPTukrZ4+WoaCMe1bT98Ic6fKLp1C+THSnLgzdx63OxEAjSgW+WcA2KQC3KcvDVQUb2xvgUACQygRtNCg==","signatures":[{"sig":"MEYCIQD/aTZIYiXQxxsSw+RFruCgBTR+fYC6Ej5ZoYS49cgWRgIhAO5V5SgYwxfLmycPe49jPvS1iDjvdjs7Mrne6ElxanH0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUk9sCRA9TVsSAnZWagAA39YP/1Q0z/OiLjJIPI9qecn8\nbelpxRmz+E/b3aX5d7+V1/lC6a2BEhYNwt+s37PEO3nfkgaV9S7ZT/mhdzc5\nKU9G8eOeMofcjFFsC9atDIKeWop5gr1V+moZeH2AYPyqkFicsuaEu/6M4Ves\n3xbHsjORoZJibVcaNpV8GM458OamOCboGlsqn/qWvPtOs8lxHK7m/l6yly0Y\n12tvMnQVc5KQNtmhrDXujbEEYqMH5TT+Af9NbLeOrx8eN3DQzqrG0YfSAXx7\n/Ox7e/LB1oAeF1YEXmfS1xWO1nOWib+RJsUBWiyZwjFuryl6+532zDGc9QKD\nfuSMhdj+6Pa1czhtqKZhQMFjShXh5GX77kKmZHtThPRa3GAvlwce+m+nbGE3\nrFjfs9vCbu8I3egs99kaIRpcO0iuaQpDQJ/Lx7qSGXNtztkySyQXPSptc5er\naq3AjEVBWMR1tQ/YLgyqdgVc0FPBhG0HPSsvdibDPtQgy0x9GuquqmeqxMkZ\nKslpKxWD063MOr61JANZt0cDoX/eB/dwj3cWYbnoHDKSujq9y+RH0PdSL0Z4\nGvGdSXuSpTah6Xk7pmaLwpJ3+Q8rGohI/1vT+wNlC/SsVdB1z3ksWJQCMkYJ\nsjobUics3kMDRcq1SWqnH+0aObfDAk4tZk6jptxKzBfsWDmNyumgS8HAVuFf\nnP0c\r\n=ZdJ/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"63b814bac410827c195f8bd7d9c5e6b2634ad210","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.1-pre.0_1548898156109_0.43539594486472155","host":"s3://npm-registry-packages"}},"0.13.1-pre.1":{"name":"@adobe/helix-cli","version":"0.13.1-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.1-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d3e9e991ca75e97132018a33067f6d99b43c7199","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.1-pre.1.tgz","fileCount":73,"integrity":"sha512-aq0AQ//xcQj7LSLQ1kOfZI/Ubmhf9WkFZshNGv1i9SpMwYpG0kqxFLNBDXuBwOF4ul6vvdj7U+j9A9rsauWxXQ==","signatures":[{"sig":"MEUCIQDnHAhVTYkBNzb8C9ZCpcPOr9f4uwZhrJBcN5qqSPkMBwIgHn+TH+pA+9P5fRHZnpecRch8C/Br0eG1fviv63ktfbE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcU++5CRA9TVsSAnZWagAAm/EQAI8COdXLl9NqrXt4K5Te\nMz+klynJLaSZQkPDGaGfI1uawCy4FbLeacndN31QKvjFBa9pvAeRKR2b8OHH\nfF7tnI/zmZQXVumMxBHx1WReZ+rooXfky4vP4sbtyAXTmBVrwx8l/pj7zV1J\nq5pDzHo//Q3kh82lG27pFwJADO2thC2BsUfBFLFqjJ/0L44yTzvl4gbhdeJl\nYoLHeDFOsxUPuM8v4p3Y80vpvRTs4fwgxQcJDMB8eO/Qfd4u2VGytdLOL9hN\nOjdUZVUyNBoOngqNVcSbX8qh2rPcXe6T9ZvdJ2gEiNlbyxlwvfKwLKCYULJk\nIC7rvQGIENtzee2Pat4NzIGvvm/zwu9KWmhI/H2inttZL8ypULL56+DqEgLm\naQPG7i8Me5H9wqZU7V0qX+u5BRAgum8rzJ9blsHrhhpUS5++e0L8iaAAXXnm\nvjuUN17KKh96CNIUOo2xs124luyMof1Cpfu1+GYbMW2+Yg9wzoLqeauLQzjw\nKLZhm/ls0VFsrBZPoDpurzmR5d45h+xmS1fxkQFhYiL98YjG6ed0QV1o/hcl\n8evR/za/ZIBMRTK5kG0NmBHxRm6k/4aevlDywZTsWx++4iukQB00+lHOoFsl\n1xbvTdyqVy7sx0l6HBZPwHjqOxj+tu+w9Mnb6VkSTeZfUDyRP1g8g5Sifdzo\nGwTK\r\n=DkKy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"b6655f4605e1c3c5734da66d2cdd0f4b99899ec5","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.1-pre.1_1549004728448_0.6686718065595332","host":"s3://npm-registry-packages"}},"0.13.1-pre.2":{"name":"@adobe/helix-cli","version":"0.13.1-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.1-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6c594a798ae028644f87d817f5033470e392feb7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.1-pre.2.tgz","fileCount":73,"integrity":"sha512-rxAviZSN2Hr2Lvvkk0ikWGx/4MnM02g9OuoWaxEG9JIKtrNYiR93PCA9877XE9bsaEr7ajaN++ly6d8R5e5UBw==","signatures":[{"sig":"MEQCIE/FhnPfItHNlkZi3Slm3sI2pMkSSmbIYe9MFSPb5jS0AiAt/zCbBnlcfjLS0OFG8ualnew1LYIwwTAkKuYMMXGyhw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcU/WMCRA9TVsSAnZWagAA3xsP/jo3+dF4BlkM2KUpesMI\ntwpYc1ShjJmvEu8Avx8UDzpAJJ42jhHpGrvkvzNE/CS4q6a+osbOyGcdowL1\nMiV4cupvfPn5TQB45yDGxOh9557ShG3JZYo9Dss3LP5qlm4sbCZmNIErQ90X\nbEgNn4tupmZdzMNRUiaJhbjRjtbhJY/XKrQ8ts+7t21CB7luX/CSd+Hrp9Bt\njhs5qEt/FdIFppAbh8gpaO49HGS1vGrJZrF8PY9w1wbW6swva10J7dyb1GB5\nkoch4U3+wQoAqMnYAiTvc82amWhcEclDoD+sHFYRugU3RexHlxa0g7NLQpZi\nUgB8APzIX9k+rZY7Y+DoFoGjFLoJmmBEh76mTF3I0ED94h+21PYa/hvdg4SV\nUhbR+E5dpatF5f11r4biTTa/RKworfmTGgZee+qANehcrgLM3Juib1RXNUF+\nvHfvE4y1LyMZJxL4P1laJ9CXuSTjjqKzdf12WM+OfPXxlQtgC5YJ4+g8Mleo\nSbd1d6L/jsFh44YgqMJ/eQVXR0mvJG5VCFYGbi3BIig0ASvDpOWqlTqxx06Q\nmo0oxyQ4TFIW23bwP1rPnwak914Z3mfUhyp+vKxhbKOCOlYQdIDR6ZnrkF+R\nt0QICPTdeChddBt8Cl1ZV654BT/V15EbPHPPZpe2KA+W7P8lL7J9xW/PfFqH\nsLyY\r\n=W5R8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"9fd1c4c258c7c71958128176e5a1a7f5e61493c1","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.1-pre.2_1549006219480_0.05318704286194187","host":"s3://npm-registry-packages"}},"0.13.2":{"name":"@adobe/helix-cli","version":"0.13.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8d983abe07f7ccd050ffc8f701f93f4c7aa68088","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.2.tgz","fileCount":87,"integrity":"sha512-L7MSnjV7sXCLWjJgbjnAwdu3p5Ujgvy56/SIbKIIXn/E7WnmxN+KjR6zDi/lsjKJNVgxYN92LUsJErPtHQbNFA==","signatures":[{"sig":"MEQCIDVMR3mKh5umZstXX0JGCkyKaW9YSjF5nRpTRFeUyrf7AiAXYR2wg9YmDPd1GBwFpW/uOhkb9XlHcwQHApek5egqiQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":477585,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcU/khCRA9TVsSAnZWagAAstUP/jTh3N5W0FAounYjZGwp\nTDbQigitJEsbS/ZXJouP4S0+7754URuKcejTu9eN05xAmBtAjRBmme0Wcuqa\nen4MG/NgqIPC554k3irkLIhSfvythGZcXCtQGjjZ/GLyju0Nd0EwPLkzD85p\nAmP6LneUPbe0bYdJRoP3t9rnoqA4KFEqOqTDrCx75To4jIiSOA8vx84+vj53\nxS9Zh5i9UYS2sJYQ8rgtHoQEgVjT9GdX6/IuXmxBPpdBsevn6vh20kupItE3\nNhc4t+z/DBQFJRVYVDCl2Y94wEez7kvWuyn2z2U6uOaW7RyLapjYEC/L+fxb\nv0xvhGo49Vi2gOnEV/tno69aCZ21zy/y8TLXSyhm8kg4BjVePbUiTDcd/sLI\nX5dZUyC57cC2xf6vbrePcs8iEsVVUKdQS6NLTQDLvdf0zSs7Pp6kQsuJKCOj\natQwaQ4Krl5hnVEjx1ht+gg+NTLOASdcAdIZ8lz7ExUi+x8zPhGMdc6hvGdf\nXGL1tvWi3krglCHglEnaXIqDOJAYKdNpWxyVYFJ2dh121uHBpL4eWoz/vUfl\nEC5qftmHA9QqY0+cusqdKgYM6YagUGoJAf349KYSHgNFsK5QjBPQxUBBvugy\nmhnOsD4TekGWIdo5rAtnwEem2lZRZmY2FM+P0K4xRRAdBmr+esI1UrVsNvU8\nCFC5\r\n=sAxt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"0fc8e32e76a47a4724a8c7efec017d52ccb10d39","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.2_1549007136824_0.7453033722212403","host":"s3://npm-registry-packages"}},"0.13.3-pre.0":{"name":"@adobe/helix-cli","version":"0.13.3-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.3-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9e55fe4d0acc3acbe7a5ce6ee08318b68170b04e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.3-pre.0.tgz","fileCount":73,"integrity":"sha512-X90BORfZ6bPsIDEmk9DegdgcPvqYUV3UqJs+sTT3S2+je43ZT+wXBOGfh5MI/ASAWWLnR0apqOSoKjgSotso2Q==","signatures":[{"sig":"MEQCIDt58Zx7OrbkhzQWKTN4FxoheN6/LraIJoXEiEgFvIPOAiAY4mXqLeVJhknJHoQctcAgkR1EYI2dfMsT21hLEeQKeA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcU/mwCRA9TVsSAnZWagAAy9kP/17kchZM2+ppy+9KPUEA\nhnl3QcVLpzDN0+QkDiT0Ywy9vxjaKFhX7QAg+Y3I0YBwSvYFLWKR1Pbw4gp9\ndzQtIKDz5nsx9w9NhN9saZ7PE93YlDCb5iObO/SR+JbWDMkBK4EDJdGX1aeo\nYlr2d5QimcXvf3y2AZEXchBVXOIgWw3gcJCFK3eKx7LDYM6qwfMggXQL8IPo\n17rTL2Knh27LqKEXaKx78SJHMmUk3eBOprr92VOrt0lvVHjMbqavePAstfBE\nr1vv7CB+AzIqmTr9or0kDCVGfqHGE4XwwkMGjpwKTzw9KHkplkobLmV4ltPf\nhpXgCLRrpDs63R7lS14xizuTgLJBmzeb0JbpAaaKSMHpXyUdUAZWp69r4nXV\nH4fej8rmlAtTTjqefoj+8H4ip2SSv3WNR0k0m3kV7yDxoK9tvNYJQ6soemPF\nmwGETykJWDlKgAD2mNUds7PIPVt+GlZXAfcRIbTEuwACYzeqBnguxqSA2quz\nT1FMoO2g3NV8f1orLws3dF1DjQog+84+ih9xJWVNEUOcAPj0bo7XaR8NlLbi\nLI087iuUclw09ZaEV2aSkYOEHISBeWV7rrvc/sEN+S93/9kZlq6WW72zypW9\nJEJ6stTOuvXdAz7vQ0FhInRKusmTOWgqS+rwL3gPfdT97HpNvgInFuspPL4t\nwNJp\r\n=JmSD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n\n## Building on macOS Mojave\n\nBefore running `npm install`, make sure that `nodegit` can find all dependencies:\n\n```bash\n$ export LDFLAGS=\"-L/usr/local/opt/openssl/lib\"\n$ export CPPFLAGS=\"-I/usr/local/opt/openssl/include\"\n```\n\n","gitHead":"11bd35a67c2c90ef0aca7bb3597cad7ed1b7f231","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.3-pre.0_1549007279893_0.8346910089619739","host":"s3://npm-registry-packages"}},"0.13.3-pre.1":{"name":"@adobe/helix-cli","version":"0.13.3-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.3-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"59cb8ce8475b7332222626530aa2597ea32de71d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.3-pre.1.tgz","fileCount":73,"integrity":"sha512-Mi3s6gc5UBjj1pqEQb0Ha1XA6WbVC2HQf2E/kYHP7Dcn4yfnTeou6ZDQdqFyVR+XUc23R04OJKoGZnlMogku6g==","signatures":[{"sig":"MEYCIQDIGYAEYvDjwCjfvZ2DGk9xcp/Rm6sGcXHC1JQiXPk9aAIhALNic772Q5jN4jVawEZW9WR1rQzCf7KQ4QPBOCBimude","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcVOemCRA9TVsSAnZWagAAjOoP/327QZlSEn/mhWx2jiCi\n5JLXfmLL3fCjTohlbWTqRsL7umrvflOOSsc0PNBgDibH2cgiBaixtMY7cUGX\nYFyYOEpjprd8lLox4tz+BLojHb5ZlODfcCIyoueR1nBhI7BYAg2qN8PvUatH\nWc93e3S1vwbktmQ4tItD3boqSu4cMgAHRhMjCzfXARH6pVDzgk6g2MR3o3iD\ncfSF9YMny1s0pEKEf/vdcrzQm3H0TFhAh9pLSxu4MM5lnBUIZOHPjo0+Oej4\n8uWkMp5BGGqqT95b67RohuxqvT0B+UEiUUg/ju08fu4+uHyaxnLHNs6/lUVH\nBnp+Y/l39Py90YIf0e8HRgacFyO9h4x5ut2vdJFDdda1MxnHTypRHsFdDK6J\neU4UO9yJmowUUmFYMQmSnN2xNr7ONEtmWvkv+LXmACy6Aa2vJdJ8wiLlhszq\nNokeAclSIM8PVr2IkLQnMGfMq2qrMa3i8YEOmm3obWfsrxI8leees6IgJ+AX\nClQPYecki8KJ4XewmjV97w3CGhDLyli7cuakwswIPG9X25wX+UzOO1CFIIBO\nwluiZ5prts0ZPko8pH02X87MmHFn4y7r1H9KXcsfZ6U4OR+hYE15Lxn2dUh4\nW0O05RidfU5RkY10NlvPURg5okIsCMq8ZpDtEGtXfhK9ifKBR1isCafx0TjU\nTk2G\r\n=r2Ql\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"6fc776428ad193107290bae18bfa6b212c458794","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.122.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.10","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.3-pre.1_1549068198017_0.4157197478338115","host":"s3://npm-registry-packages"}},"0.13.3-pre.2":{"name":"@adobe/helix-cli","version":"0.13.3-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.3-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d1087a189886b97832f2a678b19c46c0d4d958a7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.3-pre.2.tgz","fileCount":73,"integrity":"sha512-lSBfD7AxDsVnf55sUwkoB9dmLQdt1rxwSDjK01geqXuUuNzqrJmxNX+HG1shU/sZ3mQAsZOzj/ygAY3kORlDQg==","signatures":[{"sig":"MEUCIA3KpFHO5GZuRtxK4giZCidvU19BL/6ua08Xas7AZj6mAiEAsaNHlfmGVD+0Y5GxuzHU5EzfDEY3iIBBcwEI/3Hqkm4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWeA4CRA9TVsSAnZWagAASaQP/2adiiuyy1ThHsAVPuh6\nvc8J27H6UHfktyY6igblHGwoEnc8+VN6X7y9RgVaHexawSAxdeVsO3yMakKD\nsj3zpydTmVYDNXrUIhQL7XOEwQfHy7VHvdhgTBzLJN4U3Ees2OURRfcYdVy9\n0PkTmowHLqFp4SRNbdnSL2GTtDvpr31uyyryp5lSgLE7WE9YQg9yhxbiZaaX\nU7xSqy/Iw5Gce/dWfGJgYur144LfsX2Q6ii+r/OCqPP/2Z93eWRQIDKFxZar\ndTZudt2OUQRMY19EeefgdNNPHsT6tlC6bGXWneA19cuVn6RjhpJ13gBXzXBI\naFdx8qfpxbYYUEdpYV5YhbHxOMBMTD5P1PnqpEGMKRbbpa8e4KWhUYGusDib\n/A3YZGq5Zvp+8Jm6/p8RWnEB2Q8mt+tf2TKtqtgujveWZYESkXztnvd03DRY\n2j0l901YST9l3w3z8m2cl7qFyyhKwnKspu5wTEtUNOorEaOJ/GRGGKJXYI5g\nSvab39SeFpQz+1+f1NpLmeHchbcYA1F4s2TTlVTAa++UhO2sUTys9zCuRLiE\nMQqMatNjsA9LE+AnGrz2yER1XALlVfHHKqLfiMPkYPlA5bks4yk+BiQB1xok\nwW0FnYVx0bZq+5eA3Oyj6RyM9FEIF71QOnsoTUmh5SJdwOkpUY1Aa3p9dP0H\nmfIW\r\n=+ghO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"c56973d5f14105313f7459a44b6c4955d2b3dc10","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.124.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.3-pre.2_1549393975511_0.9400502817091558","host":"s3://npm-registry-packages"}},"0.13.3-pre.3":{"name":"@adobe/helix-cli","version":"0.13.3-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.3-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"cb0039dea9ee8f70fc1970a95bc4313a76ba87ff","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.3-pre.3.tgz","fileCount":73,"integrity":"sha512-BtcSOIF1wWyBYREDFX5dI432E4eu6VR4yFqf+a0X/vghDq82w49t++9u1LeYTND91gxQ7Hfk/6p2LFJRZ36Pbg==","signatures":[{"sig":"MEUCIQDT/zSk0dST9XnpvxFdTs+k4iDNDyyHcxHy61zlgy8PuwIgRK4K4nInABqc69iVtxOi+GE+PzwQlRnCDBcAku6qISo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWsBeCRA9TVsSAnZWagAAMkUP/AvXxjnw1jhgeksd5t6v\n6DO+HSHrUQLOnBHYyRK8lL6u4A0hL3pnDIED56ETkmV83JMd6d+LTkkD8ya4\nNWBm6lp3GPxQuqDia9HJwuTx5qYYqvF4Zp9BufgIuHblCfpOuhuy0zZeEy+z\noiL/uhw1dEOiKm9Vb+l4ZDdiGpfejtU/sd5JOUrOBsmXow2WhF0z/dlyk9so\nqSKJ27IOM4QVdAah0yT/MBKU1xa0Nfz2iXjET8JadKco6V0jySCPIvYMyT3L\nCJeFQ9Bo4rKHblfR2wUu0n9YYAZYw52iA5HbWODxhTx+MW9fDC1bmYkyUlT0\n2Cs1vGbXfD1DzwRl6JRo7BIhwtu9CbloWl3s1VsjYc3mXwXvI27hm+Ornf2D\nOJxsO6dczJ7IJsTmxCB7CsBWX+fY54EQC0oxZVEDo6YmCNN9ME7TmI4VxZvA\nCxqLJfVPSl+hsc4QMWZihKZj4p1tylbCWLqgythNoUl20S8CpEES5RWvtVw9\nzu1Q2vHLOXbmvbgmS9qB/8WBQ84mxMwGfNxcGPNWsWZqM2CRAXpFlTmZrqTA\nm0aT7DtOGTu606iLI1oCNnZumM1HPWkdlKlKEEwxEo6Sq8GkVwipni80zv6I\nZViNHqalOM0EkqaIUxaTtjcVn6AmPi9PmK7kNCgXxdzP0nh3+aHRrglkI93T\nUtRw\r\n=VhmL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"031723c6dbb47f7d01da0c42540828a3b523c29d","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.124.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.28.4","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.35.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.3-pre.3_1549451357223_0.28643511498794294","host":"s3://npm-registry-packages"}},"0.13.3-pre.4":{"name":"@adobe/helix-cli","version":"0.13.3-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.3-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d95fcc2f3add8b71d5ed427f191647e44d529ef2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.3-pre.4.tgz","fileCount":73,"integrity":"sha512-P/K79mdJDi0ZJ+KBa8uW8CUmAuYc3IketUVa3Y27y7/yuU3V5Rbwb9TfMNkg3Ul50XP2W8vMx8hCCEeu2SZckw==","signatures":[{"sig":"MEUCIDGdOONVCZYzxvUHQXuEuLkAZej5MqtwoeBQMzWny1t8AiEAlgTsF8sr3HQaSxYpm8lwv6YJxaTAaP57I8HB9ZHHzVw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWsGCCRA9TVsSAnZWagAAmCgP/2gLIXhcwJDh7t17/PKw\nLLczupf7MxQhnjy5gtuUM1En9UH2nG+CDkC+bwteZrMCZ3JjPD0Uy9IBSM5r\npWGjLFvYWznDiMJ3+bqAzBdqGioQrFYCG486N+nc2rrvruXzY+3UWAFohAU5\ngsM8WYdOKV9aAr8bZYNBtgzfT9nS11NDJty3ktAvMcQn1VS9w24/SV4eSuOi\nIcz2lM6MS4kSjK9dpnnEDXXOGFfIks3QwaJPYMrrtcLO1/xnG2g36hHfgwKP\n68rkiSFAhKHwQEStGJy7s9vqHJg4c6xwe4Ijs8y3SaOFVi8YpMHKdHedXTBF\noGinhThvjiFmf9p84mojXepmnJDB5e2rtbX84jqtLLGM170FOZsqAC2YdOPB\nhoSHM/ITZrm0ubmEVlZvOdtIzuoiNHp9mdKpHSbzxwDMd1KrGFl1ym2C2TAV\ndByMGc5kabfgS6oIy87V6C+PuxU8Sm/iz0+oAjYfy6xEd9FJOAln7sZ8Dr/p\n9sWiL34Vh9pFVPd+3cDQTij7Jjlgfrw0pzFIKDqDwtRRE9nuXd4CrEcA2OuY\nbgAs2pJytb/WyXalXM9pxc+imeFXeQZ1yVd4RtNEvOtBXQ5dLokFWPsHzoOw\nxLe9Yx3yfPa10m1WXBDwWAw/EFyGm50MKZHUMEs8ZLpMpK//NSx4IsgTwllx\na1m/\r\n=sJOz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"f6e4cee474bdc1c784c286ba1cc01037b2f7e473","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.124.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.1","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.3-pre.4_1549451649272_0.2503236156365658","host":"s3://npm-registry-packages"}},"0.13.3-pre.5":{"name":"@adobe/helix-cli","version":"0.13.3-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.3-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2dc51f7edb20a2049f06b84b122f453d09fd25f3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.3-pre.5.tgz","fileCount":73,"integrity":"sha512-uMIC2nsa/PU19daOVlYSPsx9o1ZOnYcrXDQSP/BhNSeQZVIYgT0QfMEQ69xPArHmdwPP5hpfdMpe+sELjkRzaA==","signatures":[{"sig":"MEYCIQCtlkWFS/zrT9P5tpfmcOChY00kM6GHyduFPdKrGlxFDAIhAIahp2+37cAKMAbZ6ITA5QfczQ8bg4wxbJ4P0aKFbpN3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396730,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWs9XCRA9TVsSAnZWagAAhhMP/iaoMwgFGRASguCC5QAf\n7k4Zmvvfxd8lnXsOj3SX7A+EMvLclXjU+bKP4nKnXZaJ4NctjWCORCy1C5Dv\nUQ1Q+r3m9mA581a9QFbJM6LzeMDc8tST1f5SytLnuiQ6556PYexVAGOLx0X+\nnNzQBDKH5XoRMs8Tcivr3TlHlbtr37NtQUHie70YhtZ0zjOwJHSNYLDZIWQ+\nBEXzFz5jzEPst3x0+HD3ce4e4/OUCmoTxnj/h5Z8x6ddzRcFNpnM5VXhqlrP\nwentW+4oL3NPyqVNMXl9yJIw2FAKOhOHAvnAS9g1ClNsfGe9Iu9LBViOcfF7\nXY+rk4+rKZwzcEDmgEbxN8zL2dcU3Lpazx2oRo0ZQFpKXfziIndz2sXjuZoe\na8fMaOXf/Rpr6FlHuJzrr9vj3NmlSyg+/Io4prRg3SlJbkahEQXn+KXOWMyS\nSxWBPwv3gHq2KqaV/CM4UNCb6eiTrGVMI1MWQsfZFLbkiQAe34WqlyT6H738\nIO6QGsMqcykoykC+usGbTA+OdgWdP4N1Vh09yXaxXDSMKuQiPoo8wA+oV/7Z\nuptoCf662K8QsZ5Utwpiniz3Dt6tsiOF8j4YIBsNCpUJtbE9jC2agY8API5j\n4DSt6zeL4WLqNohc86wZxBSO8RFsli4UKX9qumTDD/IzAdclTLmxnU94nYID\nqiWu\r\n=z+g3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"69a29227c2b43590abeb0ea8f154fd3d3e926581","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.124.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.1","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.3-pre.5_1549455191219_0.2682349721925963","host":"s3://npm-registry-packages"}},"0.13.3-pre.6":{"name":"@adobe/helix-cli","version":"0.13.3-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.3-pre.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"be3bf17bc249e7b13350b9f68c5bf885b57843a5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.3-pre.6.tgz","fileCount":73,"integrity":"sha512-7DgWcw8Uj4IgqVz+nXeoENQzJ/52c9lhLdZixifanlZRF0CWMgV4NdRBpMqhraxW+bShh26WvY1gMhwlBrHpZg==","signatures":[{"sig":"MEYCIQDSPzSTST2/ywbk16el5JN6n3USq2jn+mQONFWhGUWWWQIhAPjYPlunFhI1pnZWt5oVOIwomUfw7ZgwNcm/zD0lqUUw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWtiPCRA9TVsSAnZWagAAkHcQAIYGKe8s5Inf3v5EdGKT\n4/ZvuMHZL03vw4S+3vOMvAkXTstJqRkWZIsT2jX4BBG7NJMxq8+fou7tosAr\ndph4OWqBlrqV28OXcdU2JZ6yxYK09WEGqu8QbU0yNHlq5TlQ/bOD0GGk4DhJ\njIKdCppjWHV9XceLn/ApVKHGmSrfZ8QpN0i5ChHuIvpLPQuxh5DndDOFT7W4\n5jjzivY4tM0IZBLihXCx90D8cxmi540uxeSFK0fFIvY9VgQJVLxjVIxnDx8o\npaRzU0ZVIKNnsvvN3YjfEbEAYROUqMaPzrDYvA8l5JiR03X+f/OXr9szvTcJ\nKL7Rb01APXXhNwK7c1tuhBfdCpggqUGhpb61OLbfeE9eGqcnnQW0RDENRaL+\nelMnC2fItBVep+Vgk2rTvQHso+nNeXE3yH0g27qT1CXR2cbV52k/rLq2+2Os\nfPSHmRpguXpR7sM4AclBnSaJ//Os5ZgU0fy6HJhYjoaGC5Y/XqeWIONj3ZYD\n2eJpdTch+W+d/PAW4dxHjDHLfBwHcF/XNfSFxIvXamIm/Wlm0gqDIdQZlp8s\nqecb1Q5JnlEXnJ3i0svAubQUNWiUANo1Ym2SLRK4fB6/rQE5tqBbM1Thn/i5\nmfJyEfP5p4VlqDaFtkX3d+p/QFppfjcGrpv/TA8TlRIyvn+mDAqBUyhAKWW/\nieSu\r\n=XXlq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"2bc06518ebdfe3561164d7204e9d0da2ec4329ef","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.124.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.1","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.3-pre.6_1549457551218_0.998093257298486","host":"s3://npm-registry-packages"}},"0.13.3-pre.7":{"name":"@adobe/helix-cli","version":"0.13.3-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.3-pre.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"444e4cec973690aa7d47d5706d1c571ad480e510","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.3-pre.7.tgz","fileCount":73,"integrity":"sha512-vpvvUc0BjaWsEuWqkiMxkLmJvX9k2E8+lBbUOtl2stsLWGMR5eizEcql+QRi5rlW62o+Yo+I6S010kNjhy9q+g==","signatures":[{"sig":"MEUCIQDAlpM91rzmNpnNB9Ez3vnWpvxVL2As5L202bwQl2GvZQIgIdijweEdrOzNI369P5UKJzg1bKkxpPHP4gmWnDISeDs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWt29CRA9TVsSAnZWagAA1PYP/37MeLuI2pDReo8+4R/3\noTj6A9TGa4OtAi7tACYdVbNso8fqwwL9ZcpaAwXz42OgsjKqi07UPOsSxGca\nvqBSPwFe7ZU+5TVJi2qHZhn33gsJgVpQW6ckE+JzJPJspHmcdzWNdbjN1G3e\nxvrDcZME4EnE6ca4X1VoQVnKUaa9H2ayzM33Y+tdyg4caDymM/LXf8OI8wG1\nRHoswBgfHKUz/oCaosTNgxuSQFR2QDOhrzw6kwxjaxMYCyavIVK4TaI+rnkh\nMvWIZ7gOtfc+nYpUPu7hMNg6Z5U5XBBVecRptRhZDtp3sy0odx+2pumIC/71\nBbIx/3XBRI+3ZkUYt1U+kPD/SGps1I/lRcGzKpCDiXT4CUusjRozP5on+GsY\nExInUOyO30XSyXR1toLkdZP5Gn3c2dwTGbUVB+nhLFLtsfXGi9/P3pTwEqQd\n9BG55H20nm/uWBU9o3bqftCVd+hJepujepwXFsP7IiSwYU6YtHFPBt5FNTCN\ndqz6CybuAcwHzyOOgLJDp+jCzrayVFC12iu3Qk4vXjYNQ0+il38JOgcTGebJ\nOZXMSf22ekG54EVC/KxvHOhkazJHh4kmwXSmP2hVVf1r/XRW+fMt7N9HQdMa\ng3VwVvCIDQu4KkDuT5lY3AIlQbfOQQYU1khC7A0jEAscmdQxiVFCC/HE+bcM\ncPRc\r\n=ivQe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"9a4479c62d67fd7fda867644c369c0311f960e80","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.124.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.1","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.3-pre.7_1549458876705_0.07703627462031748","host":"s3://npm-registry-packages"}},"0.13.3-pre.8":{"name":"@adobe/helix-cli","version":"0.13.3-pre.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.3-pre.8","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"95ebab0cb2cf263480954cfe7f6a14f2532b0d34","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.3-pre.8.tgz","fileCount":73,"integrity":"sha512-GD2pE5+utgX9txMNwGtxbLdrjhO7qqi0D8iwbYE2q0bVJKCDJ4sKbAAs8E+xfqgaAMPDP0BPYMXluZGFwIYcdw==","signatures":[{"sig":"MEUCIQDGFO0Q8x+OjaDYfOSc6qSCBZKvYczEMiBSb7UHzslrugIgHbDLlfXuAuHfCPibtXQ04xNSTW0+2fLGNC2dG9FUUPU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWw3SCRA9TVsSAnZWagAA4coP/jF0DZXre9OuRh3cox51\nDTyOTWkiO1/EbkkD7cspdsKxzkGW+LmiUWnNb1pTM+Qzfd0LZiqVXgUfIjWr\n6Rf6QQnN0WrJEAHPZRphkr1H1zDtuV2ktq7jsq9u1d/AmmuA5wOhFadZ7bpu\nRrkIr76TjXlgJM2p/2nwHsKdMqEoSRAYYuQZCT+oQEX3dyCIAVdmeD7GCHXv\n5ZQ2E+QBmYc/XTmLkFqZO4smX55q8UryrqaYbf9HRqkISZxV6m5YlxGIB3J3\nhkfZsUJYJPJE5yIENH12AKIsc6HMUS09nKrc84y2iG5yW+EUpp+FP1mamaA3\nXtyiTIOlwuzEz51YYEMowPewPazo6uc5k2+4sWJhuZ0SIdO1i7vj15JfmVDM\nlFLC4jb4VZqduhehefrY435O50B0CsW84aB1iGwCfL4W7CSjVEuC9cJ2y61G\n/N/XzCn1NTMLYK2VYj+G1Fw3t09LU9Ym2FlzgNdN+QUaz/nABaGlQPTlSEVE\n1WzJy7kGNiKJ346aftPAC49KigQS0FQ3xFtdoh0dsVf+kkNv+xxYbYLeKCxc\ncNN5IW7DGKi6ODG58G+/kGvL1tv6gEDskGyZtwKlt5s/JVN/qsm/chFw5jPO\nMMuaONKGTiik29Ge84qLFeQH3j5b8dQY1f86/4ykCGjWdjgwzp9RkcAFTvn5\nbZXx\r\n=581A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"e989d8efadf5be0f60b66731a092021181c224d7","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.124.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.1","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.3-pre.8_1549471185538_0.620446294711325","host":"s3://npm-registry-packages"}},"0.13.3-pre.9":{"name":"@adobe/helix-cli","version":"0.13.3-pre.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.3-pre.9","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"26ba70200df362852b8bbeb661ff6a8580727c5e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.3-pre.9.tgz","fileCount":73,"integrity":"sha512-C3OiE1RN1kSf4GLN2q2flquxb+QG5ZhttKGXaVUb5LHtI6e1hRkohLVrY8eN8cUdeD+O1ukvGBMp74/7eSzfXQ==","signatures":[{"sig":"MEUCIFbFSabrOp9U+jGlWpptNODEIHFLoy5L12CKiOK2Opv+AiEA+MaM67JCXasZ/mosu0KPyiFMWjW1sgy/CS4BhueMqdA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWyvRCRA9TVsSAnZWagAAb9gP/iLq5pvc8RkBbsndZ+el\nG9ryVc91yI3vNFhoTR8hIgo1DgzfryHx7MZMWMk6GfodvPGQ5a767m2LDVTD\nq/OJ/265JUW0SndNGzFAPnb0f3c8JMSPqwyifKhUoQeUyN09YLHhEDOtmBjj\nfjr1L6Qlxw+KKREKskYVGLbDd894Y8J8RShcnArg9kmRiS1OEaDBamvM/jkY\nLeU2Sj+ESMY4AOKmqXVg3oFOjJ5jwID+kDb1oUfKkXjk5nvdUaOiRy2uVZJ6\nvMOPFe2+oTbB2dJofXJYuXk+OQBq65c8MayNPIqlQlwWyDcBVom2ZILX9qW9\nwEpcpLXSTduvGin/bUXb8rBK/qV0QHqrtbgfQ73EZYFxQ2WLKoSwJNmumZnC\nHD3X80wZzfrZ7vQTWY+QUNzlDVSEhRFWZ4OIn7MT/yIIm0zZSiMS16xxLXZj\nIJTq3XrdoZ9+8oQF06xbQkYf1WD+7ZGybjcg5vgDYZGKZaIIVFo3Hj/FaAVS\nb3+mD+xjSTe/3RRrU5SAYmzCFUyfSJY07jNeAgUil9eNh8o0pxsQ4ZYzMf2L\nmxV9MF2T5maNmYRg57EHkqDpCZe6N3KfqzX2WybCFgOgDkMdgZcPa5iZmBt+\nFVnHX3RxAEJvGPmB/OmHq1FIeALBlimUVWc5+ioZlKm17tpkyZs5Jfmrg17I\nRIls\r\n=EaXB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"f0f9603760922e41918ff6a6579c6a11d8417476","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.124.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.1","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.3-pre.9_1549478865189_0.21396440883250412","host":"s3://npm-registry-packages"}},"0.13.4-pre.1":{"name":"@adobe/helix-cli","version":"0.13.4-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7c97b10089d23428b4c7d8e0d6e49854b0461952","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.1.tgz","fileCount":73,"integrity":"sha512-Hxf09LrNbXGDS0G7s1TcvQvPU+xUnod5wJyOcbKZIxRyf/uyIIWRRIJUUxyEXFneK2udMDfkNpeqadsn0TNEyw==","signatures":[{"sig":"MEUCIEUO/1HMQjraTk8YCtkZBU2rzPW1uteTbQJo3hWiOBsdAiEA6875hD2PTrztCGIcFWlsCNhbL6Z0youoSCVE44qOeXc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXAE/CRA9TVsSAnZWagAAN78P/iZRa9LQBYrk7UDTa0T4\nEum+n65axTFLvHonaoGQxGyUe0UbXR0R/dZlVJpP/UmHBJ0hxDu6fKaf2Ln7\nSS5kre1knh7sy0F7ZNftL3QTsJKG3wEJtPfZAcBaaQ1veX8kASnkqWlBSBWb\nG7w+acUC/yjx2nni5XNEBsLEbmUgH8SoW4tqUJdv72eLgh9Zl9WyukPlAV6y\nYedY1i7H52Oft0gC3Y5iRdS2xTRbkQxejW2dQ4zHvZo8YU5/A63OUMYZgb9j\nGRGUgwTiBKFoZoc819b8YdnPe/B5LyUJ47k+n9auTeopEE0xw/0f5CX0Ud8/\npN6Fm5DpWxDkFRJ9XXtDX5oTw4cz6F65kwIb6RWudC94ml00choNx4PZMjvL\nrg3Or2d50nCJOlnoMyoQyR/UrzjoW8QzymbNjoctlF1czEjQ4XmKa1u7LQ4D\nSG4/cNES3heFywnh7e1+gG/+ZwYAEhpGK0RiOA4teplFpfOJWVNl3kGcFbQZ\nbMOpsir/HQJVpEwj8YwwPCN+5eTKqA/YcOyrQkf9kuqnHYChqI3r0wZZDYaQ\nwDLNQFId/tudB6Z4T+VfPLQiKla0pW3n2QRmTWnWBENocGOLuwywy6eP+bCq\nbQigkRAhpCCHzqGJgEjHnT9reA83PvQj/4RQBGG+Tbq9xzSOOQZnAt84gCJY\n3X5g\r\n=QIze\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"f06f5224a166df44e5ac9a7c243ac8e9c5b3f249","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.124.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.1","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.1_1549533502745_0.8328523897935247","host":"s3://npm-registry-packages"}},"0.13.4-pre.2":{"name":"@adobe/helix-cli","version":"0.13.4-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b7b71ecbd088bc9e2618432e56fdccdcfb23b5bc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.2.tgz","fileCount":73,"integrity":"sha512-2BN5yOnMQOwhS0TnztueIsuDdVb5snuRC49QAHVcRbqSBDgPwwiiNg4lkHTdC44PIldOwCysgtwGIN0SGkMHLg==","signatures":[{"sig":"MEUCIQCJg/4qmexXMG02PBpZfCrMcbIvUly0NR1ePYoCKo3TNgIgVXih9FG29QqT85v0FR/9DYaxCjiCBdFibORSdS2UCUU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXa+3CRA9TVsSAnZWagAATUcQAIUwVOICWLtiU/va5Cxk\nkWrYiaNIxXufb/ls3G076XaTYTo7LlteSFlqMgcAlUNNjKJufW5l5hmzFOYn\nJpt9Yh5H2dTK+eCYC4srNCUwyWOzQgactzCuPIzeMfRjl5lgv4JyFo4qZOE2\nTxomwudQ4/dMpWrjtquxCiVp5JuvTqODxVOYAbDLkdC+VH+q7Fwmpxx6sw0O\n/qPG8H8IKrYiCR4NEz5lB+4ee5qSuVGTmfkE9802PWy4jOoWlL2ArAkH+ikz\nNzLBq/yQvH5QXhYZnc9BRpqOc7dCiSxXd8xyoGlJFY8cYBwKiachjtcE148a\nfXHUCwGyGy8bcpoYTyeApyMeyx7LWFXf8k3DDD9eRgtY01dV06prpGUpckfF\n+cVfRo2ZB3xkJA+KtYr2aeZsedt9+XZmHVckWDaan3MY7jXctyDjRI7bcODd\nR4qovUDaEivZh8T+kSbhoRjVY2sPm3IWVH2hXIM5wNyVcq0O8tZL9ahg0dhG\nCt2MhBHRykmzQxsbl2Xbpeh1j7CbEQurOPawLfLeybkVOzyHwbYxjUCq18Bc\nf4fAuJspwjxcsy//vvKI1uujcJPl55SbJg6i66uYvedWMIP6Ks7Lqv0mHeqV\noIGgp/bFfeHAHwAjk5kdJ/iOTxFQ3sBOaA2dbCzvuS6yjne5TTKxwkzs24+F\nVu1F\r\n=GcZg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"543c615e521672ee883e6521d08421319b765102","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.125.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.2_1549643703080_0.7499374894456614","host":"s3://npm-registry-packages"}},"0.13.4-pre.3":{"name":"@adobe/helix-cli","version":"0.13.4-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"29b1f649974a940183ee8c3c3e20481e976a9278","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.3.tgz","fileCount":73,"integrity":"sha512-/kqg8LvWc39RljrY8/JlFmUDzSqLz/JBkXo0JAmTQyzs1pRyWfhTPzXBl2lELruUXdYTxfyEVe/4v1ztoKlVrQ==","signatures":[{"sig":"MEQCIQD6YnYnQW16hQWkhFhmIVoPjN7X0XeKURouwUDWhPe9SAIfTptCpsZiZL8uWa80MC0O2l6J8Lv/FJC+qZTtbgcS/g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXbxECRA9TVsSAnZWagAA15QP/1Aax7YOKmliG7zby5QV\no2vKtz5qBAD8rAdp8r01sxQEpLluOciRuesbuO4XfTEuP8Z/CJPyJsRrSJFZ\nlf6v9nS3c/YIdIUujRNrP0w1enCnqjD2IdhEiGFp2AFuuzDAHCV8Z1UPVfLC\nAhZTyJe+x3DgDdMpotgP9N2U6Zf4bA2dbOPNy5AGfgpsnKNruPY1wNDpuSBO\nLCCBmNZPWLVQDBuyDGLAw5Y0nKH1MveRhUvVhiiIeD2aXXcKtG2/dLXj9bu8\ne8rk2BnupJCvM+/8owkPJ3HNhVJ3tXnFccEHt4sCf2QzEaJc628TMX4WA98F\nf53bKKCWeMqJ7fZspwhpqKIlamewPLa58Rg9fRHXY314LYFWvKRNOzXVd1Ww\njgiaCiW9/uGSpQttbDMohwtrwdwQwJIXa++a8ELI5u6BT3IuwKzZi7tC7mST\n6ocqOa6mNF/5/zpvmVgxG31dEq7oFAzR1JNnnjj5TngwhmHYqdrqJKr+xF/z\njTJtNVuyvsOYf3eoEtEnUmJvNjGmoTTBbDsJhFuC5hezD4SMJokycvN9wKp3\nDqcqvqM4oZO2C60bWqsB71oeNkhF1Qv7L0h6eOewLQbwmzFgsiWscsHg9NAJ\n9f6AAVPDe9Kuak9Ke5132QCG/iTGZTtnyn8I5zVL7T4LOCjsWGapgVEUJZyg\n8ajL\r\n=i0WQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"b5f65996035e7e93956318d7c038f21514b992ad","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.125.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"2.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.3_1549646915624_0.048137693226264266","host":"s3://npm-registry-packages"}},"0.13.4-pre.4":{"name":"@adobe/helix-cli","version":"0.13.4-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3e010277b305ea15208b07d9f65cd0a3559fb0c6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.4.tgz","fileCount":73,"integrity":"sha512-FcN598YjQDnxN72dFrWJr88qXgrtJg3ILlN2Qbbx3Cu2zR+eY/lshGZYBHuC3peeFX1ccZs/QozaxisMSOguig==","signatures":[{"sig":"MEQCID7B1oPbaZkHdjxVZEl9DGaz2t2Qjj1KPatx3/Vzx/z5AiBQDfH6z7x5I4+78hA7+z2sCSOf0dcRkPcehLnr5hr9Kw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXpT4CRA9TVsSAnZWagAA5c8P/3gk1+haKSOYBTzD6Fvm\n6RDY+faX5OfaVqc7Dgq3NXqXDNi1OK48f+XNwVUYxixzQwPwFnvfGamYbrCo\nEqde6Xl1mbyoSxDnq43kCmzIOUADfPaZU9ieyolNw8M5YXFX091mKeFneAdf\nnZXdBfMa6HwjD29+IdrpY8Jd7JA+PHFrwWSgedoMUPoxUlELr1qbp9tbSowu\nSDXN7aQpULXDGn14A9xGgr5MWOuQ+9PAydiqepPJVKJ47kz2nHTbVejPiGa0\n2safQy0D2rkEQcnnyF5f6SdJQ9h7hZ4MtuoKq+N3Yu4rbdMY7V6FAu50tYiS\n7aieqYqk6h4/WI9ZiWN/NoqV5oXxbv/b0wMfB14z+Vn1zGU6Xmia0IY0puPV\n7k8JgZZou8qCB7r63BWEL4+r7k3AR2BJqGSWy+Mpyc3XrgTrBK6fWh6PB36U\n5fyv3ncQR1wynpfJCUbUkqSK1fHHO2ed68ga/zls+g4gonZJvTXnKyTrlJ+k\na8l4CvUdDH9238sOaT5OXuctkGWSCCQ44LikBeHLuGLzNkfZBgYNO6BiYuso\nfxRzCw2NmwgSpfoqQRCYIBC23wm1yeaVbWIMuU5X366fxqJ+FRJAO0CdoUQ8\nTWE31V2KiGlgNTyeDwc9C6isfgzvQXj0G4QMnvGGIrbXcUPCDxccqjEzomcT\nIf5x\r\n=Ar0A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"5c347b96a14ad7ece2bdb8e477bacdd9b95699b0","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.125.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.7.0","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.4_1549702391857_0.14780043897014483","host":"s3://npm-registry-packages"}},"0.13.4-pre.5":{"name":"@adobe/helix-cli","version":"0.13.4-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"225e02743ab27c84b6d689ce5b6f74112d3f54ee","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.5.tgz","fileCount":73,"integrity":"sha512-RKE/lk+Xz8N8IGqtRXyBSS3gKEjswQIjAd7UYT2gv8NpysVdunq9s7CxVfzFVLfHr8urkZnM4TDZ4+ySkvIW4A==","signatures":[{"sig":"MEYCIQDyePNEQEt4Em+1yfZfSsP0FcdEajyGSTrqWiT8ABUxlQIhAL8LpOK9M+W19uzEC9ie8X6gN6n2o/aS4KP4s0c0/twp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYSz1CRA9TVsSAnZWagAADXwP/2pw1Mivz7kMuuCyhB2c\nTLPj/LLSqKCWxFLzVdqOpz1xEiHyQZAWkgpJXc0AEByh/fXroLEYxx5mn1WM\nLFiRexlDl5v8TdnutvWSufwTUxIfcOeOp/jEu73ccEchu9S+VC8PyDzr9We8\nIsYLRP8vivuBz6pQKGyMtFbmvoYVW9/l2yNEHR23TgFeefhFsNT8HotWAPyK\nF62BV3L0ywjmHF/UikcxTYRkDO53vCpP98CdkPc3JSlg3/ixjjx8JFIuIrHB\n+8+JZ5ptZNplImnKc/0k6KKcSVqJRzStGXJtInI6VmlY5oadsJGVNv/95iFu\nfSRrBhFuBORo1ReExhuleI2HaF5Tj+lrL6g6iaA5/hUBOcTU5qn+2iwYsk0q\nezVsuyJkw916+b2ywW+MSs2qAjMsL70FmZV7F7TQFYGZftxs8Z+bam1i91mm\npEPOzmzTrb67lfXAk335ytxfUUoS3uIkl1y/TFWJBwZABJb+zTpbX22/vvc7\nlovLwMQwSId57WJ+ZFwALnxkgO1AVNHX9ExKvZ8rVBV2bKRUc21Lr3YHym10\nTJOhqDbflTto9JsHhv6rEqmxjqmpqbjainNB7SrU/uBSSwxEyVpr+HtK3q+v\n7Al5Sff3iQdGK5STimn2WyQ7qEY+qtZyiqeo6HiKnp1mBuuDbLq50Ww3/67m\nZzGw\r\n=ZcZ4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"83bac660173d7b9654738f22a6c10858a35299d6","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.125.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.5_1549872373004_0.4075713755423811","host":"s3://npm-registry-packages"}},"0.13.4-pre.6":{"name":"@adobe/helix-cli","version":"0.13.4-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"fc839e962f901bce4f10166fe4daf5ca5c779b66","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.6.tgz","fileCount":73,"integrity":"sha512-Pnk1bFsJyypq8X3xdMCb63Yu+2AwxhX/2Tty+6sEhm8uARscaQXa5n/C6hLvjj9zmpkeYLojGDXzGfynk8GDbA==","signatures":[{"sig":"MEUCIAz7GpTWUUrTDtH7Od3ZrKe7eKJODl0uAvDPo8L2FQ1qAiEA7fxtdRDgO5lNGxMeKX7o7ajqdSwvA4YG6TbmojSD3IE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYlDJCRA9TVsSAnZWagAAAiAP/jZv6IJ+9raNQZJEJzRO\nVTA03ijDZp9OfsFocDc5hvSipgdlCgoc3fg/6d5UeSrXnplcee3hgOyWn3uW\nW+0KuLCrGDEKTdvb8uqhrYHTvuXYJdIsSGBV6zx1ku0dweqxEutKAzNKX8ML\nrUDvOWFbKvQQzFg9FqPIgYlG2qf4svg/jU3rlMcfwg9Ppt1AoEy5Ae1zFgiu\nQ4eHSB0m1tj4CUPdxlzu42fqxh/GDFolqSikKRmGVZpCoyFqWdYejJXPcXGY\nxD9jtzjdc8oGfRhN8nKHkOnQNdeUiHOgSgHoPlb9fXibjNgQK7TlLl0gPG5m\nQiypzW3m/Yq9obSpZWMXeak4GzRFNYx8ulBVBZ8vKD4++CvYHdOSoOdco/N+\n9UtMDtU0DZonLKYpedZAMSDQZNgeDJR1kCjKSU8tHEOF6W0mXSoIpqeHbgL6\nJ8NXvhHpQE5wuBIBmUW9TEflwtY4yT3M4wK6XCnphwE3A5n8W0bzyV8vp2md\nMSMMCTxrS/ABhZFF1AW0JRN21kfXxbUMCVdwehT8valHfQsYQl7Kt4jP8QqW\ny6VTWdx6SvTEWKdfWzRKgv7jLH0TDItD8zK+tOMbtDDxD0bPb3bX09AwtIRQ\nzIaLaUQALqAlYI0HDpMfvNRzRkG/dwl9roDAnpQXyBJe1QpGqT2BtIgo5IQH\nBE81\r\n=nmnk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"97c389833236654a68fee8674687c888462200c7","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.125.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"12.0.2","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.6_1549947080567_0.6947402038714197","host":"s3://npm-registry-packages"}},"0.13.4-pre.7":{"name":"@adobe/helix-cli","version":"0.13.4-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8cd10655462d8aac826cc87827417b9e089a5038","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.7.tgz","fileCount":73,"integrity":"sha512-ZeeUhVKGF9gi7d+laQ7KiFVEc36RMS8E2Vz4AEueSEvm8ZE9Qzn33yPsNI2cLlhdlfCNQ0ZTQVt01/afRjctaA==","signatures":[{"sig":"MEUCIHSvzgQvyBM3pqZDnOQ+mBxYX614pt9Zay8RIgrlqecUAiEA1AR4jNhOT8Z1abQEJazzzDPEJKNl4Od+270QRxqSjMI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYnP0CRA9TVsSAnZWagAAqrwP/1S/AA4aXh+JQtWUf6Vt\n6gqOBCNMhqFRWubBoiRhg4npl9n5p8hAbEX7lVbpS98yqYHhy7Hu03j7Oezt\nI5iJPPR1WT4RupiqnE6+Uv/jd/f7L0FDVY6hGy0+Fdr1aQYtv9/OqF5jc+Iw\nExhShvDNUgDgo7b0/3LdoMQaKN+Ij/Dgo92fvSNrXCNukIBx/Cjz5tQWx/YW\nqok5QV3Nv2fxOyaTIDeIRVNsarbw3K+TMnaQYP9gT/j6R8J3cFkosi3N93H8\njg/u0BWmpI2YTISsLYKzJfEXd/Mn1djuY69Hgo2taSSDp9qBtvT2u9dAPf1z\neCJAGRX/WAa/TWmGI8OF8KPr9H9W0ZoAQMuMulGUxTX6sRpOl+VYsWpFOf5q\n22ZgeuM2dFSI0s8jlslkPVP3X/TUpmVF0+JMKm6GyHpHrURs6x1iGiJ2a3lA\nmuN3aUgrTeOcVdBy2cBO80aVb/lHqOIM0yeCF8iODXwJKAJe1Le4z7AlC/Yz\neta93DpCxMxgDLrgc/2jxZcr/5nsRqqXTTRZ9hp4xVeUEfBbbNJB6sEFAbDI\nUakitQBj8iaV/dGLzvUWU2OUY1fBIu3RwzNWTHrUjJlYgs7P0CjPHmeNeV92\nDfr9Q92Udd8sJx7sfTsuei52cXdM/ufZt029q4d0gmX3xLddCB2N/pPG6b/P\nsLIj\r\n=u1nf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"7dd52e1bc05af67483f62766b24a46e8ebf7e7d7","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.125.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.7_1549956083460_0.04556205483825293","host":"s3://npm-registry-packages"}},"0.13.4-pre.8":{"name":"@adobe/helix-cli","version":"0.13.4-pre.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.8","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"903c9f2a8e23d2246e72987c4cc7adb2c592a30d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.8.tgz","fileCount":73,"integrity":"sha512-T/KtEr5eNvNe+vGkXqYWMhnfSrUaUKjF1r/l0axfYsmxBqMVCpF/jcMFlxDZSL9LBVyAY08yN4HPcz7UKDB0Vw==","signatures":[{"sig":"MEUCIGuQ/LPAl+Cgc/VSRAb/bWyLDU5dkqHOeTrCAwiQ5eZnAiEA/3HPonR8UI4u+4opsVMD9i3gMNdeYibrA4gcTNdGpck=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYnvzCRA9TVsSAnZWagAAUyMP/iBpQWgU1EF+kVIFKr8Q\n99KpQYEVfRaq/EVRnxIcNfDH3rSDmvb/N/3fHczNlzM1ETEzLO3jPgeLyRHX\n0sTbbxPlcHidycm26zkft4UErDh4vylub6HryG8SVgXSv08dYGnbN6Xeixym\nquOx6umYRV714fBArlt1QAnTFIU3rZ0NUv3/BXxxitmUXwmDsjU0KWq8aZSU\nDOHBuJV2lwUDqbmf2XjKdfEMnjGtXaLBwidEAM5XewwagYO+NllWn0tG8q92\nnNVUwPnsV9uHEwgmd1j5xW7bGOWxBii2HhzBeu42cy7l1CJZ1ajDo47Ij+8N\nuWnCWFSGylskm0xZuK1Vwi9OYthmy+gX6CciNRdt3zM5VLZm39jxzYu3wL7d\nfYZ98KB90+bwSdNDikRuXS7hiNprsGNx1WMM1F3JjwszkRLncAwuI+JoA4SQ\nNKaZ1qM5vqj16LQrOo/ZIUW/UMk4Y+yNnAXctURH6DIlUV4DUYB98LlwerdY\nVRGsoWKx48Lbs8nnVGML/WU1ljBqQkaRPIJ8Xc3TvnNBhb46YnsvhBkeTCEu\nieb71viAYi5Sl+QQabyOPmFk/Qffjlzu+ngV1F/oUJ05V7LvmI/kHXnDQKIO\nR/s4ALs+Zbr8A6YM8JhDiboTMIWilhYxU9AFy/nzNTojZFA5YC7w12S9t3LD\nV0Ma\r\n=JPLU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"9e77179840650c824e77bdd0f310adb473069a91","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.125.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.8_1549958130877_0.5596316928723586","host":"s3://npm-registry-packages"}},"0.13.4-pre.9":{"name":"@adobe/helix-cli","version":"0.13.4-pre.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.9","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"91c077a6910a32eecc56d3fb2875b649fa75e29c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.9.tgz","fileCount":73,"integrity":"sha512-2Qu5gzauPAUMshXv08PXl7LI/qrQr+YtcR2ThbRQwAwsrvM97fhZNlBCK+Lb2YsqsPoCh3n296RzAclPK0Gu6g==","signatures":[{"sig":"MEUCIQCrqhJrFtjZxrxmjitup3hoSaFRzhzivmWzvGGqTb5rOQIgG1RUPWbFKhHlxbUR725ROWvaR7X78GyM1RMz55/e8sk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYohSCRA9TVsSAnZWagAA/IcP/jEFQC47YT7Kr7p9dR1c\nSfRDnTss8uO2AuKXT1BkvDPTcFFeQo9p0DFzifFbYmoxNoUjZIyj6Ds7cxkv\nCcW4dBFPEHHsLSAFy5CSA5TeLtduJbLqEz+BAAAFfiOWDjuiEvorEU9u4O1S\nOHVla3eIeDnW+ZkkVcHwNsTElxh7QQwHghVXQ1xdH68/jXNwIzAdBwCVWCdL\nfGmI2R9cOVPHWqrVU8MsZ1W2bb3LCfW/Zj9jdyDNSF7e1ToEno3hJYp0B6V3\nsVsnYpBA2cUHwnB4n03wWBDJFkvrMFkqjOpLSlt3cfmXdJXv0qTVhXMdrh6F\nQ7NjSxWaS4bDZmI1Te3aUIpIIY9BvHvT5iW/s8y5fCMRV2hPnDRFY+kLGlBd\nM0v9sYMT5raWZY+xeAfDh429xBLi7E6bwdtNRxa+IHXoWViGVjao4Q01G4VM\nY2xJ9Rm5BiRgGpJGH38V24Gu6fCk4zB5RZ9oajPAoxQBdzurXDMTeUqlxfDp\nHIiEA+4YwTYIAH4SPL/C/Wutogvm9Iph3es4U/YHKicSGsSqZ8iUJVg/nCjv\nxskn9zPiObLBkf5Ssga6qrf1ZaEPSuGwQkskLjk+i63Y9awlBHSPv0hB05al\n1SnID/XXtRVnfKf5/8ZOzwgwOGnIURWFCjuunsG5fII+nc4f1aoWsDk9YRKm\nCY5I\r\n=uhhB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"56a3d0912b5a2f5bb767017cca2506df0d310cad","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.125.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.0.2","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.9_1549961297856_0.8852120659286136","host":"s3://npm-registry-packages"}},"0.13.4-pre.10":{"name":"@adobe/helix-cli","version":"0.13.4-pre.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.10","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5b6fcad4acc4a902790711d99634ce5a99363a74","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.10.tgz","fileCount":73,"integrity":"sha512-COpcp+iF5R+ct4R+AKTlcx/V+ac5u/U9W5nk2mj1eDfIolW50EmhHRDc7lxPbA37JLymuT2w9gTT7LlfNxFacQ==","signatures":[{"sig":"MEUCIQCk2fCBaxt5am1ZnfPiC6lTjDHdCPPoi6v5E+lK/9h/jwIgSSzPj7cw4wKhPztxg1vcGM0nJa3sM6C3xapRH6Dq5bo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcY44qCRA9TVsSAnZWagAApzYP/3D388yiSEcA9u3l0VA8\nQ/TIpdYtKnBNgeXxOEvo4jRnvftc+oSJjxinsYM+LtTGHlV3ovMLLt6ywbwI\nm+UOZhiVPJ3my+hZPfB5+cCLMeUo/YsvkA9eZIhqGDqwmVZVT1lhT8JQP3og\n9VChyT0/ad8lzLiL8CY3vtkVGtM5WE+omrvFLMermpijdD7WpQMzdj/GRKDz\nEXcXQSxq+bNhl7ynh0wZeoXcnhIcm8EnHjT3JvYBTedwtOCGVGGc2Wq+F9IY\n1/JOS0udNdg9ouLdyFxuEAsRPj94w4FgikykX4bs35d2bp2Q7zaomF0SL0Mh\n29vlxuy6Qr45lBCmgWZoipveq97/bOMzaEK1H2926nxWo7n0NLm3WUgUhRzI\nAaIknVshL/8hWSaCPm7z6SUy6+OnDB4Tu/sKv0FJiPgGN8109aKtuekOiyCp\newneWFdPAJgyUg0hxnRwlbbYpZuQYZaHgskykoYwluXafdLUh1ke8oQgJtc/\nHZ/blW5etSJb9YKj9J9Fkc1GokKBE2Gu1X4PESbaVAWyyJc8DspoVedQDfsG\nuDpNdZgiYp4+vYPXLGAfgwB5hVZdhQliqAZnxhzzBCAoFVERQewKI141LBk2\naH/jvmR4T/eAnTsKGMPGMXXsJapZ7zrJbDpfRkHPy6yrH6KHWesBOotXiDWT\nHp9z\r\n=2vPM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"f9717ae24ed16ef40fa1efea25df936ee7cccdc4","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.125.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.10_1550028329075_0.31535519061145","host":"s3://npm-registry-packages"}},"0.13.4-pre.11":{"name":"@adobe/helix-cli","version":"0.13.4-pre.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.11","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7043dd4bc9274c30c3af5f06959552a5db91a913","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.11.tgz","fileCount":73,"integrity":"sha512-wOQt0QhkO7vlbNd/dxZdQPVpcSyosdQebX/eRTmxU0BX4eprSOoshMGQmIWdNJftQgblwNrCOmK/nF2Egl0z6w==","signatures":[{"sig":"MEUCIGKDSvejvD3/PecrNDCPyUduGyQSxtVZYlrLCxmtGpgbAiEA4334RWMU5f55Dr1BX0AHSQ7rBx2/078FT51Sr142v7M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcY9tFCRA9TVsSAnZWagAA+yAP/3fJ5FT4TR1McugRgb75\nLSdibPVa0oFhtXbAOGVjgdcDjTyy1u893RIu5JI849Pr66EvIZwGxotdXKjc\npkRATSWLsUt0J+9h3IW9/hms60F7PHMHuYjKqStqarrlS1DuTVZ5UBvN+nq8\n+vBJ36e+TPJVZCIqbqeN0VnvrwmuCuevOz/LCq2dxokutU9I79YUcX4CuM4q\nc716Ya0J1oECPZiqCTL1HwPsTyJIKK3szVE/ZAg00TZz1a4qhcHjqXfrvXS/\niVbjum7Q0MXzYr3WTZIQrqpB8oynQnC/dsbBYhm2uYikWxfszqH7wH4Ozu7f\nV0WXtoHycg5Qit+pLTcCiWQhlXB3SMse7ujMmVhbPK0aVDfN6gFR+oVFZTHn\nECQic3cxypt0OABmyHmsDSF5kGZP30vJnsVn6WrTz1GSgKUYoY9+Mi61Oyaf\nnTsEFEC9kkv3ongIeIm19pEIpV3D7/LXrvfYUKaOt68iXHSEos3tw/QX4+Qn\nQaZYavKk9cprVJ+F1cFve6cWqDBJBSDQe5XiKfU0iDLbkUIZKnMqNmuHm4zd\nFXmLZiplcm44KzvDmxVmcEKpikl0qL2NQoPy0lZVzTb3QW5K92SiRbGPhhb0\nZmxGRUx5LoXwvG1XTOceWRVQ/jD9uS/sr5ab68OApwENhvWvb8TSaOBW3M8F\nwClz\r\n=xnhR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"1ce18f894bc136d87295dfbdd844bde1ed7e1ac9","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.125.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.11_1550048068472_0.9758240698092668","host":"s3://npm-registry-packages"}},"0.13.4-pre.12":{"name":"@adobe/helix-cli","version":"0.13.4-pre.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.12","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4f239983484e4c04df3774e58e29fc42dd078182","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.12.tgz","fileCount":73,"integrity":"sha512-TWPZNyqv9dme4XaCFYve60kpxNRmBuAAvUIn7s8gr7QKIK1tn40u3j0AxbrQ2I/H2v2uZ5GVyHdLXixWTSlSxA==","signatures":[{"sig":"MEUCIQCLs1YJr2Rh9i0kDZwrjI1Gj8aq/Y6bOfhTXN5pzFSlcQIgG7UsMAmbqL4fIsxEn93pEu9Gt90LeNRkqsbZ/7QcSoI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcY91dCRA9TVsSAnZWagAAju0P/2WqpgQd4vIWc6Ij0Cbr\nLwaiA/OVdqR8/b9upylF0IlF1b+/6yNUkuX694wHfIV0QgkuTv34T0kK9y5O\ndLCEro1bemzJ4Ppm+xwscBmYy8y2cAfWsQKsh6VTLckmOB9Imdp5x6GP59iM\nqGxS5zgVJei3kM9aJW0gq80WI+BE8G1xcyBsu4x43byCjK6hQQiqScZEPId5\ntKhVmLK7aEb4eNTx8y85Bzhw6v09V1B7vBFhaw4ftDmUjlTDow1X+NilL5XX\nS9OKg91TKm6CnImezN63qE5DFJJQHqaU78DsFtHVe1/fKHiCzMBE0hQrqxYJ\ntQJgwj/LcC52mivk8o966ASkOXbFcPyMfddA6n7QBeY44e9XgmJIc+0QMlKT\nmdQr7Ako+F1QgCIBK9jzS5pNvxas0Kq+ppVWSnmchlQhc8x+FfBWYh/mPnik\n7hQvI7qaU2Izvj1Txut3kMKYatj9BBJgNNF9g4zlpW04L6ATsvmGLsfs33Xx\nR1IyJJbBw5UijF5GKNSdJGQt5XU6sUPefOUGPSstBKggSUyw8aSufRO7iC5x\nXwuECNGQKdWHDm4ErR/+yzjRB0TND4bbtCrydPq9H0KmT3kVQ6x3IGDf4cp4\nEMLXVnPd8J/57nmW0vhAoPOn81XF3DmyZNJinQmI3/bdRXkPQfdgXIGMrWf4\nv/eS\r\n=pLbK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"1893815b1082a3e92c4e4c4f18c5900395d64c7b","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.127.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.12_1550048604978_0.6700828784856308","host":"s3://npm-registry-packages"}},"0.13.4-pre.13":{"name":"@adobe/helix-cli","version":"0.13.4-pre.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.13","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"183a3ee55ded2dda77645fbf7f5119cbea2d721d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.13.tgz","fileCount":73,"integrity":"sha512-pvNzDDBvVepWcdvVYLfC4SeaCHQrAHVJ8wdSDRs3B/D3jW/sysI3hmfr9OreSfJEHyW78JQySZfqXt79zfTDFA==","signatures":[{"sig":"MEQCIE8lPSDPHpI8ZnFkBKSssCDEhoGwCpFQ92+fd6wVTQHZAiAGmzMe5oCUYWR1cRa732AhuoGsX28KAFJDzCTu8RPCBQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZD8fCRA9TVsSAnZWagAABI8P/Al6AFAXKkI/OASlEAyJ\nT5q82npucUcLL9A3jkosP2DYDhukuKZcNCuMKmMFnitr55H3EQLnVJHuPkly\nRlYR+QW82ICulVzPRYXwXyBn7Py2KRx/vinHgMFq5HUbtPElnOQSM9qCvUGZ\nCsmco32XlNDOflEae+T6Wtbu2Er7tVoo1v2wDX5VMSW5Ki2QGqcmyB4FS727\n+dChFLDV0ORO0uLngAAjGfeYBQide11sYksYVd5Tq8mzeKQfFOPKtCBGVfkJ\n1faTdMoxVGlwdMFDZHjf2xI2h4gOtKs7rF56uMiZW2RHHQ550QlxCL7FpL0Y\n9kiE/QpvW6JSVyvqNzndyRoQYEyxc818NKWlJMfovYRcGTMiyo6UV5bIOcjL\nTrHv3NrC1L/SSBG6LsmQIdQOE9zC/8Z9NXVPKJDDT3eqzaGK/ORSjDVnS1fd\nFPCg6I9pR6u1UW/R1/a44CoeU8Adhs9PIpu+msxTqaPvQUCdedmkZeaIw/Ym\nzVjPQ7UQuTnHizMzQwImO2JWocFcSVrRR+2wDNm3RytO0KbOqBHUTm/65+T1\nFQxnpi2c04n2Q4yJ6cR4l5NWJGIjG64/Yzz0M3HKVHIiWUlZFm78VCks4bWY\nk5Q4Zl7jyGnd76PimdYuFAmfrh4kIitfsGtKs0mLPreOdHp5Fanfy9IHH32k\nvpYp\r\n=+IWj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"c8ddcd7957a526a6bbd7a4c1bea8ff21b556d462","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.128.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.13_1550073631057_0.4407886592424084","host":"s3://npm-registry-packages"}},"0.13.4-pre.14":{"name":"@adobe/helix-cli","version":"0.13.4-pre.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.14","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a53f162f8eafadde853342f1ba289902b3f9433d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.14.tgz","fileCount":73,"integrity":"sha512-RYvezSKIyaxdZHVKg9Zsyquxolph0r+OgH8pzr+6o5KPgdqVrMd+kNyCCyJQshLOdgQfodvqWvo3U1BYvT+qgw==","signatures":[{"sig":"MEYCIQDfJiUDD95pXtInG+N2GLWmmu7/EbSrW2E5WnjNJtTn/wIhANdhDbFSS9zk70QVY1LFbbFeRsrWsaBFSrRYUVDvBjze","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZEUqCRA9TVsSAnZWagAA6AUP/iiI6z3NO3J5pxlds6nL\nBB6/NcgASaVtdO8XUslneUNvkzcrmffeCDEclRvVZ1xIigCf1fV/N76rO+BJ\nhFM/IWUINHZqaPiKEVg9d+fsfsJWYr12Fvf4f8/VW8uaZwnjgadT6KjJU1p+\ntM61NGG1YxutV+mwJn4xdAebt907JHPz8ULHsu1Miv1kTmo91EMj0qxK/+gE\no+ZDfvcOfiVKUJnWQmCmmGIT6+ewTJ7sSbLh0J5o6+XZRH5EDSCYU+LKN+/g\nxb347eiCljKjP6LSROp7xTrxdm0INW5zq+KCOLus8Yd8ZdZKM5wukdgLeIr/\neOpxM79dx9zcKv5e8skVdCgNXsqAniIY+EcleAcMHKGwiQQrr7WP9kupAdv8\nFGnQY/xF8jm6OD8GzxSXMN4alFW33ga7S80giK0ss4tTrbOmksB4Mep1gS4q\nWvtjql7j17vttely4Le7m53Y/S5UVXiVcjqmDPQGvCsJvk3SLg+wRh9uc0UI\nD+tP0SUxLPz6EgIBgE5OPK1BimBBYoqPwBsYoYCsmngmItxkq6k5kiZ7tYRz\ng6tsoDDCPvAOYdqNHSqfQig+PnloMtChg+U5Br6y14kXhdIvmQqp3okJbCWs\nfKXCOHYZCyAt4qoSpV7va6e2uKP+R54SdCVlmG6CHUDpUAbdoYHqXl6GB4eQ\nyd9u\r\n=nn/f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"306718f9a3693da88c3f50d2c66b32d3984224b7","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.129.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.14_1550075177979_0.0450804792350612","host":"s3://npm-registry-packages"}},"0.13.4-pre.15":{"name":"@adobe/helix-cli","version":"0.13.4-pre.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.15","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1ef2f7a1dbccf43399d8bdf93b2e96a5a9d6d592","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.15.tgz","fileCount":73,"integrity":"sha512-l2PjrA3OUTwEtgqMFcy+Iy+9eV6z7o19K7wIu9Mk3vIFLRuJtMOS9dxCL5DhAGsw9ms7ovZRrpex1TqzYsVBMA==","signatures":[{"sig":"MEYCIQD5Ju2gxYzC8PrOVqDEipN/Emz6thtzPUQ3hw+cMXPP+AIhANJRwpHFM63HLQkYPbMXQq5VKjbvvVYOW/pxl8EJZhxo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397385,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZLBLCRA9TVsSAnZWagAADI4P/3DLzQe4xqELzgBeDiCR\nir3OmKBe822SDAcvWSNilLDFTS5ODSYd+adOjVcDOVLfCyDTdnzlbUz7ONk1\nUP+v0f40JfV+JwEcII/gDjjqncyKV1JtelZREXscwEMufp8SfY10BYoU3P82\nC6HQmMwi1KWYjF/E5edLhXSf3dEO0D9rMxcQ+oYlXdhIAI8Rjl87JDCo/A4e\nHqi2c6iwY6cAcMD8EP9JgfThLMJKleLtztkna13pKaY5XCHuUuqQp8TjRgnN\nKiUQIxz82dYdt2gwcjbc5+BdZ/uQ9ygszbmyB7xsqAk95yDaLL8xQHoD+gYY\n/p3mY2IIRIsTm+k6pPsAt5vp+tJm1nncCdEJCBTOIrRhqb/w5PNkYVgOi2zy\nOxCwojnib6dqo/wnoyt9uY6OrLRyPfQUb70pFBGw4NSbu2rQgqi8oczfNcW+\nPn+ctntK632vqs2YjVyp0Ra9WBX6snuHqj+cZZ7JYAKlrmmxA0/w1UYsdbZS\nlLtZ6H2rNBZoo8BDoovCSDrU4lOzjui41aHnRt3TVb8/f/o40jijhRNRxuMr\n1r9Tbi0aQufPtS0Y046CHauwFU4d5gygX8NN7bel9Luh4Kda7Oz6qWIcnXQ8\nVvWfVid+p0svu1FtrAP+FnUwi0J/9+D/XFlENSxHDIrkTPK9zr5m6Msw3Iw5\nrkkb\r\n=AVAX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"716c27f30b486003b38e6b0fbae448ae2933dbe5","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.130.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.10.1","@adobe/helix-simulator":"2.9.2","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.15_1550102602551_0.25809101033300097","host":"s3://npm-registry-packages"}},"0.13.4-pre.16":{"name":"@adobe/helix-cli","version":"0.13.4-pre.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.16","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"be0c5006a36ac2238fe6fe4c4d383a06b31dbcb1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.16.tgz","fileCount":73,"integrity":"sha512-t+K4qBYlvcY8JqC1vli3XmP51r+Ln8LjVOBWU56IDFoTx7zMPewoUL+dI/sXmp4o2k5bHndxrUtKcv9xGdyKZA==","signatures":[{"sig":"MEUCICF+4h3W6Adjc9unWWGhEXa0v6cFOw1l19RgdrPagwVQAiEAq+/iy89jrYjjRTe0JB0K1h4rBbC8X+wELYllJDxD6Eo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397670,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZLqjCRA9TVsSAnZWagAA9jsP/16MmzjG2za7zbSHD3CI\nQqHDQ7knEZmjGsmvohrdXetzqJ95OKLbRvyuce8JukG7QjVv+85YmrjKv7c8\nq1nnDbT5M48Vk2DTqraxQunBbe6w8pUMRgEN1vyYj4P0iWQ/ncrHrutFh8CT\n4L2nzXQDDQFpH572QEET3NQrnqrNiGEMZZN0F5nSXrckQE2h3x/9iX7Ncu++\nhsCnbtRlIQ270rxiKz9LdefQZ8+ExXdubUk3r+Kg//tVRndsz+/ogtEKiemM\n54Kj+3chggd2lOijR/C21wTJEsXaCERhZVW9LP0wrGC/Yj4sT6rcAlQVZp19\nYnjf2JUhoJK5lWbYhdEZA67098aMbYjYO2RQv80QbfOXZjSuz+3Bcf0Onz5J\nvDTO5AT2rIGBryiyLAU4gKEaYGEVcsJfZUoQe/VaG44xzUdTUIdPCn9m3Wt4\nCSOGaYoL8GwJ4ME4uEYD/Mgxt0Fq92kam7g41zlqIDHP3yaakHSdM6sStE+e\ngZWLZVwGgcmRUTJNJVInwxit8pDaRNgg4XQxfEbKB/0VZqMVE/YO0uodNoAH\nqTU0UeCkPeYjMZwmOEPb3D5EQKDi9hXrMN/RWTJQ8W3NiB2dFHkltEl4rxsX\nme2qb+9NEO/M9uZdiMn+R31yTnSW0g4r+IsxxW1MYwbIYGuURXYRjmKiYVXT\nPluu\r\n=uKWo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"9bb0a7512bdc4dfa0d14a11a8d7ef53337059a78","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.130.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.2","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.16_1550105250279_0.9277831015817872","host":"s3://npm-registry-packages"}},"0.13.4-pre.17":{"name":"@adobe/helix-cli","version":"0.13.4-pre.17","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.17","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1f6ad8c1c51366f3a549983b223ee0825d6da256","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.17.tgz","fileCount":73,"integrity":"sha512-4K4RXDaVUELi4CPARbJbUDvrLLrg3pBJ9UITsoZgtbejDt9arB1I6G19E6xR/J9pnld3LeLmF6f+RwsCZScTZg==","signatures":[{"sig":"MEUCIAWEgMMcjvxQfdIrsr9tHSizWgN3n+s3/uJOW+z1fSAJAiEAjBcGSmOaGRC+cPOFEKgYeGCd49pzM20gcVlmJU6acYw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397670,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZMNHCRA9TVsSAnZWagAAX/sP/RX+Rld63v4wjZHURj3L\nmeixOYhiuJfglRlYiZjkse/tTCb7EvuLJk/WLAcrpnLgUKrejwxHcr2xRZ2r\nq6HOKMKvQ7OqnvxY2cTVB3cu+6RzhhgtEoFXCydwqKLDCijm7YhDc8qPxVIz\nNYFSJSbyfdoQMwx+qhCO9sMvRquLYP2oIhjeKG662g7ZI8PgbVAOa4HzdH2p\nQrlC79hZTjUINDCwSWDbSPKEJcVA7sFpQBL3Hh7NffOKM6N27THMHf5BxZr2\nxvvz3wWlt8jqlKAGz8EcTdohxhShQnDUW5UbaIS1jWyFqO3tWaCfNrBEd+CV\nXc2daJBUxUYxlwdmbxsBp87wZcLMnVInYNE/VVVvtRodjqY0qZZs3p4/jrau\ncx29yJtVIuiaMAw3YrgdYCE2v6puc32VyLZ4h7TrjmhFXQxJ0XKsUzP8HRDJ\nuRriYPvtEVqS3+7yyTVmbK6eT8bEdWaW6Rv9qYzI+IT8ATlYHQK3RpAYYAZH\nHpTXFNCDdvlfPlFWF46MZ/pGr7bcMBKwsGgwH885vxkxZbYWM1y8PDmD+qhy\nG7tg+2Ks9rHgeSdKrDyclTvnPoFHAEWYaR2sQ/LXV1knKtAQ93LXZFIVoa4M\nYRaYyATkW8sgMGVxbraGGq4qMpyXoWUMnSME7I+NaTL5z9axN4PZQhS0O202\nkm+2\r\n=hf//\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"9331c6e0f9e4dc1bba89a9ee75dc3d53bfb4d968","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.130.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.3","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.17_1550107462319_0.4555295857245969","host":"s3://npm-registry-packages"}},"0.13.4-pre.18":{"name":"@adobe/helix-cli","version":"0.13.4-pre.18","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.18","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0a7c5f39d41d419302be56c4a931b347b198ca52","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.18.tgz","fileCount":73,"integrity":"sha512-hXd0BfOEQTKRHO1c8DYGofz+FUYmu/6fZz45E+YWsNN0izg2PdAMnN8u8I1A15P5nZUMgk4WDtxpNMRsEEEi3A==","signatures":[{"sig":"MEYCIQDKM0lHTADLiVVV543tL8Kbdl1VA8Skl88o3zrfZq8+jQIhALkFqinyQyv/clDXhQdA/iDW8ER0fw/dYTG1WxFYdVn+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397883,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZMxlCRA9TVsSAnZWagAAXrEP/jTut/iR5uoV/OKo3Bi0\nXHUI9r1eJ7SBemZf9YyUQ6IaqbKR0676fkOY8+bsDIND70dwBLc4VN61SlIG\nJCMjMZ+yKNUcxI34oLMHvFf8cb0+AX1BJYBaLNodXegY3/vZv3kzKfrmE008\nrZQE1lmPD3iTpK2+zwitiI1/SuQeaFhekA7q1DXhwxC6pd0WF1oejTsybHgP\nZ50k5/A6b4VQvuS2PGBK9ofgalXbL1aMbT+gAwyzydl1kUp5aoJGP+dGqxoC\nPC94QKhVMJn6zY2c0gcZSxDFuLs+W5I/gPpiHPJMI1tAgKeVWLDJa0QDNaji\n2paS+wGln+cGh7nK+4cfnjG2yMvNK9CwujSVbYPLAD0e9wbx+zsqCwb7GY5T\n6JjgsHCNdaBrxLOY1K8Jq5aI+yAu3bzy32U8XiaQ9OSIAghnaURmx0MriSdG\n0ifEH9QJeoJskKdSMDlCxbiPH219Ze4oFY8Yib59UmipJ/PYYvLfzaM2Rc5t\nFsysdhGABJzwiEkOczJZnydt6xI/QU+yF/qOc20y8R5Qcc6/hbQdBgXRkElO\n4y/m65SV6wNiB6mBHC2zSajJvQWVhh5OV7oMKozlTShOC4mko3Y48ZPbOl3X\nvNI/ndOLhZorG1AH2IFFoNsufuVUxtjqva5IKlqTx8366/8ugRGSE+CLc8o8\nIxl3\r\n=z1nc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"ebd8c281cad82057cb27a1661997274c2d8b087d","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.130.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.3","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.0","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.18_1550109796243_0.09725073715539923","host":"s3://npm-registry-packages"}},"0.13.4-pre.19":{"name":"@adobe/helix-cli","version":"0.13.4-pre.19","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.19","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1617abbc0421775f7bf6dfbc124c13c755eb937e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.19.tgz","fileCount":73,"integrity":"sha512-jhEir/FI1N+Z7pfepdkhGhybqMI/XFePf93xd8sKsLzLDfSKlkX33RdWDgsfD5crVtkjSN7OW0Zma2GBU8FXgg==","signatures":[{"sig":"MEUCIAaE6VczHYVYP8dsEF4g1mJRpOoFOigsqR288nsGbQxdAiEAlEbUtwK5NDZ+VBVyNMgyCzRVpgC28noQWKXHQUadNl0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZQPzCRA9TVsSAnZWagAAE/wP/3GhXXQ19Hd4tkOwQjkd\nO8yZcc9MmUzByVGdQILJybJYD3UAEH+iUVzYFzSLFusOFErVoSQqujC9kb9q\nzt2tvy4V5MPpGq4ngKupSj+jzGFRjvMwrYLE0kvJZ2rha+7xtATtHVbB6L7t\n0ZwdMCfoCIUSyaQ88JIJ1Rf91r1GmYXxam1nnM+7gWNwso2Uh+1uXPs9VATJ\n83xIue84qTQS6x5ZD7g9p8xBbHZJ3eB2x2hol5XWTEttb38PXzcL/LhG7+WJ\n5R1c5cL/C3+g34ON08H4DE3Z2EMPRuepAH4/VgzjVWInak4G+v/Fh/VKzc+L\n8APrbyEyI4BnZnfNXv72Y2E/P2rwpCW7D1so4cqNm3HYP1Vr7zLkaBFYfNDQ\nSh15ptTql3iNTz924VOGYMsReQiMnngUecDKvzVaw3OcpjCao0GLY6rdElZg\nR99lg3sfediPCI2uvdGCeCkALXWLBGeASOLEE1Sdu3zxgmS06NTIp4fvSlYT\ntL8R1EBXlHtdnnpr3SyYyki4e+75+IyLE70vB4B9AiuNHwKSUYN7Hu8MTMQb\ndszki2viOPYqzwT+YrN/GNkpKpDDNQvURViHpQx1gsK93wd+DB4g7tiPMSbO\ndc3WjidyoDZmq1ntGF3MTGBUMuxLdwhYSZq+V4J1vWcdkh0ab2gle0NhX0+x\nAe4i\r\n=0Cjc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"31b59bd993bde49be59bb29fb9b91c74fa381708","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.130.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.3","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.19_1550124019005_0.7127043477745356","host":"s3://npm-registry-packages"}},"0.13.4-pre.20":{"name":"@adobe/helix-cli","version":"0.13.4-pre.20","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.20","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6268f3f28da69daeac80ae0b11761a04a06356bc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.20.tgz","fileCount":73,"integrity":"sha512-O3JQFa8iXyA9Drb/lpkZgmTxTHYdUgDbJIQV8VX9JAfoLy4DDNBpNQvRfHMDk8uf9ZJveiDq7mDoXP+5hR59zw==","signatures":[{"sig":"MEQCIGeinPYCAPC3ZHDoR4FE5n1jpRFi/LiPhFYDwyFFteygAiAjCJ7kjIJmlTL0Ixnwf9+yl35Mtuuqbgegbi7BWDS2Hw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZWWlCRA9TVsSAnZWagAAX5wP/15sBhpbqMzjqOYWyI8/\nI9NB8dCQ7VUptMho97dJgAtE+ob2pUE4dKXeXdmSGvEBSI6lYNLzoR3GQQm0\nFnK/wUxB6BjHjJ3BKejI39NHjff9qYALo6YbDwtNanaujcM1nUTE/Nr98LTZ\nPRa46Q6+oWB0+Im/KwICQbw77SObk1V0vAOtVKwgAYX6QJ0FsjDNBoHqXX86\nfLEU3ZIRFoy7nmRJkltfim48XYzGeZvnRhZlsFQQPS0EmCRLRytrmpMdD8dw\n6cGkosRXp7EtXbyoR1c62D1rK36yKCpm1jmPvpA8bnjtZxMpycGZiARSLuwZ\n2CHhYRfqCG7bIzIJXIYl0qSTx+TaWJkiP9JyWrKV5ybyA6LgKG158iUNBJGt\njagGUcPONl5HRQQGztmwSMdhfciFH37SPsUlzh0s5D6KJ2Oy+7gzt7M9QZ+c\nzhussmHu48u1gJhUsA2i5q+tRqMaUCFa9sHuJyu/I/rwH4CcM0MXDDnuhY1X\nDeAuCtSnbwecSJiEMsKqzCzwP53zZ+sTWkqZVqozKS0M2S8w4Fgyu2zLR1+d\nVsKIozoWdKaEmAcyYCdsMjc9hdOkLw4vtJo5ju1CTyW2C6i80F3yXkQdJo6Y\nj1+l1cbopUrdJY1kK05UCLRDoRieBnd/B3Sw52Ql6Hz1TKCaEA0qS06wep6J\n98Xp\r\n=wjXf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"e7abb3a5ada83ab73d45128be965dc28d409bfac","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.130.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.3","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.20","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.20_1550149028472_0.8211949803322898","host":"s3://npm-registry-packages"}},"0.13.4-pre.21":{"name":"@adobe/helix-cli","version":"0.13.4-pre.21","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.21","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"fa580af6473ff6b55d621fb7f8484dbea1f7b756","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.21.tgz","fileCount":73,"integrity":"sha512-VDGCKoRbVtZ+dJ2ff0Lil/TxyHxP6XzojWwsUupJ35YUqZhvKaHhBes1IyvpmsuEz2uhhaiNKuyATQVO8RYN2Q==","signatures":[{"sig":"MEUCIQDB52fgecmjRNbgzLLZ8xIDOd77Bb2kzmZuCi1AYzD6AwIgIAT7d/lBGgWXCpiNmtrKVt54LKJ4e4UuiJI2T0eTUDs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZgD3CRA9TVsSAnZWagAA29UP/0RM3MvE+yKQcf+NgCs4\ngpr9vs6hILVKPY6Fn2CTBtqlFK7FvA2YXUR6wNNE66Vxw8eqJJ4JKw2tyZGd\nD42qbDM+en5XEbwu/lbplRmzA/bOnWUiTyCUMw8Y84s6rm5N1wy/k4VYr+vA\nzjsifLHbvaxyFMgZFHuoLeAK/MAUrf7K8onat1fngK7DfWAqGZ0iNe1xG2FV\nCVQZQ0EG8e1HW+6zQ8gmVQt43hVjU8FZWcXxfJ5Z7HOl+isMYWUV5R8Ffb7i\nJffEmOeUVQA+IMI0/AG/SoPBi3uxwqIfZaMVKL2VIb6OmJ8NKwr8QINzczut\nMHAcCO2rV9I5HDE9kP9GgLLrefJQQFd9fKrYjprncL1KDbxkDpVMIl7gT3hZ\n2iZuvq+HEucFwhao++feoKSjsdrJoAXXFO/at6LhnKbvxAN94US0d3sHUOCA\n8OJc66JR7QqbeEuNox6IlpUjYRgY7kQ28KOvIrKUqBqu0g1up8dbQa6jq+WG\nReD7w5nPnybyie3o0PSjBqub3RBeeINPCKyfvBlX9KQ916nwIi4a/rWGACSs\nC0CbYbGa7Yh5V0SChlZEMeDi8xgcuSYRBqvCxdGDbRoorW0F5kWkihBqa+hy\ndNxtAA2DqOKb5FIMzjY6SfWWJi7Wm3Fk8vTrbOIW7KVa4zAJMv3Qo3U3bQ5l\n0oeP\r\n=hW0w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"56f22f94ba41cf2672000a36c90f57b6a25f0f1f","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.130.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.1.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.3","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.1","request-promise-native":"1.0.5","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.2.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.21_1550188790563_0.5085027370829118","host":"s3://npm-registry-packages"}},"0.13.4-pre.22":{"name":"@adobe/helix-cli","version":"0.13.4-pre.22","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4-pre.22","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c4e3834dc72a5c30326f811de624487846973219","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4-pre.22.tgz","fileCount":73,"integrity":"sha512-NXU+qhqu4/Ah/Dp2xYi9oAmd9yKRTgADR6WdI3OYBP7/yHgpF0S9cKnN4O0F9vsVhYNjROkSs11lmb6rW8K3Nw==","signatures":[{"sig":"MEUCICi/hXYtPSVvrrUkHhu2Zo+bRNem1/tCaEbbEhYUzYv0AiEArz6I+jYmu2oXUOxIrtVAFY4luahWsNE6GFmeFfuWpZo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZhwkCRA9TVsSAnZWagAAlkAQAJmkkkWdX4Nr9zx0jZLB\nPgDd1Na6BLTQXH9heg2I2sOW6BkEhve0+ZsA6rDJwX8Ml/EBL3mqkkELbrhS\ni7u+UpdBiNty/L1ky5tuaH2QzKIFAuIrYeYm2FbeuzDX23N4wtjhoXbV1gQv\nVG/+cf0pHkOfLcFVe51REcO9d+T9f8pyl0ZeyGb/76GocUG+w/PGYXRxexAn\nioFEZDTfbL/gIn8xjYFAbWgMRy8UNNBoFmE5nuLL8H97aElaPDh9ttrvMo1J\nOLP1x/G4z36igeRuNzgQU7l+rX6354/fuKK+nut8vPs7EV5AQEjxVaxILJUc\nOF0j12nKwLUBGuoOF1pRhsRdDHVFSIbi6CFMcvBQx4Yf5ngUAdmVI4FCVKi3\nvemwxYb7WsZTb8ondHepPB3todrjWHB0lWN/QKLntBLCUtc3YSRQ3c92LQcT\nAnZS7uwhWDa2R3ORnHy8LUH1BrlYvos2CV+beDgwK+hZprC+1Xqm0FAIlgDG\nuWwDod74y+xLfFylKKx8CqLUorSxUKGefFmVS8IZgoMBK/yh1y2UKcxEllTJ\ndcJt0ijECM6CyP1INb636sfiWHXjVem7rQOr3miov6B8GcM5w/FVGyzaD/8z\npY1cu6Tl1BUBXKJFFFmHQ+VJlg7oK5E9YnqfIh3joYS/dWiukzY7l5/gCjD4\nEMGB\r\n=k2qy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"e6abcd447c4e29d58a10180e8fadc8e8734a99bf","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.130.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.0","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.3","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.10.0","@adobe/helix-shared":"0.6.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.1","request-promise-native":"1.0.6","@adobe/parcel-plugin-htl":"2.0.1","@snyk/nodejs-runtime-agent":"1.39.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"5.2.0","sinon":"6.1.0","eslint":"5.4.0","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4-pre.22_1550195747478_0.08865239663699143","host":"s3://npm-registry-packages"}},"0.13.5-pre.0":{"name":"@adobe/helix-cli","version":"0.13.5-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.5-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b97f170f3243f47c7ca0b05933c43f77a7f517c2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.5-pre.0.tgz","fileCount":74,"integrity":"sha512-2KwnG8AGUpzhtcR+Tb/st+0lsL1YFlxUJC45ySJjCJ7762hHKyUzfP5OluXwul7HhdBV3TigKeKAf1nnr0IRig==","signatures":[{"sig":"MEUCIQDbyQmPPv+0XH9Xx/7miv4VmrJjEWP0agoFgXXZpNlAXwIgNMT2JEejVEQrz+lrda7HyGkSRzOgMT8evQKkAbtsssY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJca9g4CRA9TVsSAnZWagAAaQQQAJ/ZoRjL4YmiN1BkxpJI\naVuIGpxL2J4jNlmVEIPjYcPf7nj3FtLJzn69NgEBXmlhO/9M5KmcdBZI4Xyk\nR8B4AgXAB28AprwY/VaWjvtSiRO8aHislc36SYQE0XAaQCtytykPVfNYZ+NP\nG1TyQBUtrmCfY1+upN9hT1z2GkOtUP4+K4HwF2/y31Rw8nDnVJzn97kmpv0B\nHJBZmfXNf2y440zsyxOyMTA7O0QWwOtclERcezsqr1KgmMiXHn3lFxlpLrmd\n9PmvfpV5el+6VSjdfICnmpAVFgmXaZQBfazVV2Ja1hMCXVlrYr3lft/mq4gd\n2317tG76WARpsFqQmwW4UU94MGtPnVgBSl5csDEGy18aiTqeO+iAOCihIsom\n15c2QydXuKCfw4y6pGBLl53EOpU83ilGCf1btMJPrNWzAARy1w8++NsahuUD\nBAmI1AY+UVSe3mhkpTj/gowFs+indO8BUK4EIBr1RNk/aw+QzwAKK1fRXkrz\nOxS0jtnLPssDfiKxqcuEaLfiDkALbRA0qfT9FZhjDGvLXbdOb97RnsbbrxFM\nZpLqfdIVC+XJj6Ype2tdCLCRXrpjFEkWjXbtp9Cdi8f8kFRCa3aJejwZZ3nG\ntAmEsyc5ugfw4fa0xqSEEaLUaYmK47o6KS1DFn06mpDdm7xkzvoUkJmCpbbI\nfiY0\r\n=l1/d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"60299ce5d5015d0127fbb4f03c83141726a1deb5","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.2","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.0","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.5-pre.0_1550571575380_0.6993911766832124","host":"s3://npm-registry-packages"}},"0.13.4":{"name":"@adobe/helix-cli","version":"0.13.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e0956bf4ebd818c1256c669e276f6db646df810e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.4.tgz","fileCount":74,"integrity":"sha512-pqH0rwAIDTvPM9vbPOKIMbOWi2nwtAj23Bthh29APdngre/KfTqNT5EXQ4av6dQvf8ECcNMd/0HMOYPTFyFpUw==","signatures":[{"sig":"MEUCIA9J46PpTQYqqsfTc6NcXR4HhrKCOC7WsKwEzF+yIvoIAiEArZB0nMClZV89yqQEhK2A6ZsURVyz4Qn2C7B/FxMxhIo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJca9hoCRA9TVsSAnZWagAAVK0P/Ak29+GRBtAsVKEqYX19\naY4+41bvmkQgmF36IW0HSxqAUN0Q7G8URSQ2XQZafwY2Q5+xWQ6GfJ1KQ1Nq\nTXPcAKDTFiU/oW/kiMIRLk3WIiEtYdyM1UroAFxOxGLa4bavM37NNvU2RBQ0\nlbP/D1at+olB/s257y6fjx7rwKktmHVaIxGXeLEaO4z5NOxu/LiTyfrdW7g0\nYtfW/lW0FHh7HmgQbMVADZhaIzeBmfr/RhFroaX3Q6iDPb6OLouNli2TigB6\nZg3rdIDJY/eMfakSQhAukmMR7Ty2LgOm5jOMX6bJ4mjjisAMSvGeaL28pPad\n99KWQSY5fK1I1RIndzLvBqoLSYQwUsAgSagfpx3f5AiGF9kKvRP2i9sbOVMR\n6+OJ7luzxTdXSjFvze/QuEkLmMor0C+/ckJUmNWcmJmTh1FYrUOcjDkYK+M/\n33kWuD33TBM7wmlvXoo8EEDgdFwPns1YazSyNTceLrisI1+uqplPZu1RAoca\nnlSn1NUOdTitJGIp5ilQMcT3DnV1YXpryNAkciXM4JS+Y7BHmm1nSJO5UIvC\n5Gx5Jj55wftijluqgqyCyeAsJRaYOtnZ/jQYaL6ddlpf9X7mf1sI8/v00WpN\n9T6ThIM84fxkbG9bn+aKec4IWvnsqyaVVey9AywoRydnwunFMRcdJZrpuU8O\n1veO\r\n=RIN/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"6cf73ca413f10e254f79cc2bd008d5be618cbc31","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.2","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.0","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.4_1550571623721_0.6649036163331372","host":"s3://npm-registry-packages"}},"0.13.5-pre.1":{"name":"@adobe/helix-cli","version":"0.13.5-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.5-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"06399bc889074822df914b3271ec83baa76e63d5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.5-pre.1.tgz","fileCount":74,"integrity":"sha512-omvS8bqQfowH0zWhmA99tT8RSZxqlusbN6XJoc3j9FSfHy8K1Sx4GYyNwBBg7fvmkIpQ7MOYk3cLDqIArG3BLQ==","signatures":[{"sig":"MEUCIQDlBI5HlCRHqdlGQg2r8NgJNEF6E7djNDKgU1agcO9sZwIgH7KXV3g7RM/Y93uPorVD4wtxFyYaYnMxDXeEDGtz3sk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbBV7CRA9TVsSAnZWagAACxwQAIYNjzBZwyOgn9vhTCs/\nsJ6UERmqpFKtY1Idx7xDinY3WeXlZjpCVcUeADCAseuPzNSIQoCSBqKpo37S\nBhaARW0zKOnllqY/Q442sg/vP3EuXb9VJN46i2h1EifrwsAjhb5JXAJxoDFz\n00TAz8EFUDAomM4DoleYxk+v5oit+weJA4oxV1zFMbfAYtQJYo1fv7AEONfz\n60reFfTmVUE0flYSga26/gzn2NBLmntUtTDhxdBoMClbD+TEKDWLqx+AChAp\nNu7J1LqQHQkLCSKzvSU3954jL74D/Ba+JP5+9wgox1JpYUa237LgBZdeBB8m\ntrOO50c77p8/mcKaJ3qIRNNJ/saHtKrb8Lh9UddekT6u/q0Jco6a4YyQjruD\nP4xtvuJCqAF6jp/LbZl5t8eSmRrayzDP7xqyJZHgivsHPqeWMsCqMCnRBT4h\nTvafi+mTPz6EJyDRCxBSGwd3xxnvBIdZo6F6W44inm2qhpGzY2yR7KiAF8pE\nKt9x5FzxIWZXgzpeVXecn6jrnxZbUXoJs0zW1AvllVavOmfc6DI85/xB3Ekf\nu3lziUgM98QuyKFuGpArGmTQ2FwSbB2jsOf6JkMCZhMbZNk+EB0rZgxKkPcp\n7FQvM4Jpx9jOCIgqp5lMKAH+lXE7j/uMK7h5S2FFX+ylR9NiF5iV9nVhqjDt\nGH5K\r\n=vdVz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"161b7d42277930819d389216ef5c2edb376ae11f","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.0","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.5-pre.1_1550587259004_0.13846623427702687","host":"s3://npm-registry-packages"}},"0.13.5-pre.2":{"name":"@adobe/helix-cli","version":"0.13.5-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.5-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b978055a6028f6ab9efb91d532f124a4253af5ec","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.5-pre.2.tgz","fileCount":74,"integrity":"sha512-x7/UhbCerDnzjCoK0kbaLW/qba8fTPPHCKIeMCr/jWGEL2Vhd0YuDaxsGwwt/LJHUG9EKp7Vf8H6FJhkx9S2SQ==","signatures":[{"sig":"MEUCIF6zWU5SUqKVaHwEPQOm5NjQYS3pdJAtyGo+YMRoQ1orAiEA0LteJdc61lDGlCrUEjFgeiJsYhNorPbv6UwWE/AOHAc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbJO4CRA9TVsSAnZWagAAbfcP/j/YNgulsuaJlfW+9avS\nlGitsuwg8hiXTWloX/b1qr++wtvkCiigY51pkzwnQhj6a7bTTsPCBMzRiPTr\nJBv4KMBgHi3s24TEhf0cJ8qaaYUrJKS/h/uZefj0F3fC1F1aunK5w6zmcDG5\nrLpRgqIRs0xdUB0TvPtgo3g1VRig5bRHqQcUeM0KkIlBjxAo9P66/D23p1eB\ni+0WkdS/mcjUfCaHQvTG3qmnuMT1mcWT6HSuWCBWowaiVI9uoZdi3Mc8WcsK\n2roUVRZ7d7P/WwGmtkfDz9JRXASiTM4WwwquApuM7S1Fzfp0l0RSCFCllQJi\nHlBQevivUsjvICpK/oKFEEuWYiZiWGrYtCvqZRAKGWeCucfhmzJWxGr4tICL\nlh+CKBR7D8aUOcGpdkywFUfyGH11dYHkEitzuY2EyWEWBA7AsnuxOVmZiy9i\nXe0NEn53zT22qAjxGZbZ4s/U5SBldg9bvb7stl8wJI1TlujwT0zKria6Ol7J\nFfkaD72vv1P2DCnLtdvttge4yEB6j1MewYXxzc5qLNR3Q1nUQAohcWveufWQ\nHD0/s6aH+H/3D0KXcFg5flFN19e30cJKGxMXmGDfluBstz2TnDmxFtHUQx/V\n9/O9Tnn03RI2J67Q2VoR2d3LbSJsNI4DL5iMGIdJ81UPabD5iVKL5lqaSdgl\nrm4z\r\n=aqcC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"3ade3e994abafb8d920554116eff8fe576495617","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.0","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.5-pre.2_1550619575573_0.4731286340486043","host":"s3://npm-registry-packages"}},"0.13.5-pre.3":{"name":"@adobe/helix-cli","version":"0.13.5-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.5-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4625ae9c5b25cae485f8076365769372a9e528bc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.5-pre.3.tgz","fileCount":74,"integrity":"sha512-S8LWZZQ/P6KxrhqTOtAneynSVcCSSWBSzjOwNixGsMnppFnfy2vxemxntYXA/iMJppO35+cI+RhtHsh9KmCuUQ==","signatures":[{"sig":"MEUCIEj05EtE5tRuuaXd7EU2ZpVXGJYqyZbQt40IoxekhnswAiEA+Vb604cX/+M7lJIOv9jXZj2wo6IlxuVogMnENOw0GsY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbSciCRA9TVsSAnZWagAAF2EP/30FNS6Kql2DkQpgxqiU\narQhRNIV92fcPfXxEPVEY0RfupnvfuxZmtMB2gV1yP81FKVVbvudaG7NQDIL\nnb6vUFpkZjKGreZLyZ1mq8aQY6ILs9llHINy59xapmBm/KRJIyowjv3xIsQr\nbh1+v5H54/KirCilglGx33VQtZ6y+4AndbG2Qxcy6kU71lSN001ZF8Hrf4YL\nMOoZvfl0AOCat3FQyokuDpquDKtZdl5nOKdyjxFTSBR5tR4tTJJt8bGN3IO9\nG4O/npfaj/cbZO2Id57aLAX9oLOSRnA4JAcwERhLRr2jRYopLR1IpPPYB63V\n5+x1OUChQjz/ZNQ45uGGIJzNWFPuUWGajQ/jfQ9cW/8Y3GZCshKDlPMFfcYj\nrrwvqe+IJYd+aFuxu8Ylx7ArCMGuhr9DHeTmkde4MpHioNmf7Ok3zCTGXZM/\nZY8FJoAvbXXHrEEiHtAOAfwULAV2umSSgxMO7n38yPB3dEDwAhOCxkQHDMvp\nYVHIJF8YnjFvtCh5+KK8ZrnEM2ArZkBwdZqo6SAY3xuMFVRBkhyTClHIDD5i\nh5OWf2b5FRcFThvyFkK4VX63BlaQMAXw1kS6zv8xNeJBBVV2dUzFu0uEdCYg\n/bAmWSoKQyc1kADobl8uTZgId1r+a+ekuJNKbMq/K+OlxKYPKteBDSLYRK45\nKARM\r\n=fBw8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"b54ff29f853f4ac1bd6fedc11e99dc60b8179ee9","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.0","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.5-pre.3_1550657313625_0.5054698698957454","host":"s3://npm-registry-packages"}},"0.13.5-pre.4":{"name":"@adobe/helix-cli","version":"0.13.5-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.5-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"72aff6a912d222f7aadb31fba1382d9550ff631d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.5-pre.4.tgz","fileCount":74,"integrity":"sha512-zKKlZULxSTIcgeZrln8HzWN5e25kf4izgDp64MEtZKgCAjjU1W6nnYwVDBT8hPDJq3qlZedFV8A3fReveJFU9Q==","signatures":[{"sig":"MEQCIDIAF5GYMDy7ifGsOHxLWpUI0egfZ/pXkmqb4D+7kEg/AiBqQU/7GNB8DhzS6p/wA8kHynkbi6TSKA7oKISkNqWnlg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbUYpCRA9TVsSAnZWagAA4H8P/1YXu/SsbGnOM56eg4FV\nTUV9l5tYGWgn5Dd17gC8UT7nJUNXYr/aci7DjcMf3sTg5puKXS+PtSIuYusp\neUJC4QimczAh0pdn1meMIS/YyE/foaqNlAV8g9MoF+1l9ZjDUMMUE+1icwKi\nMiszsI8WQPNiHrsjjUgjahE/qXb3lDZptwABLKjGMs2HXSNHp1Syl/XACwtT\nPLat0cCwajp4dtCAy84vnNdeLa6LMKrJaXLlN7/4Yw8f3DAOpVFMI7ixWOpj\nJ5hOUGo9F422zGJsOMdYMZ/7+mVNwFG++UuZvkTyXNoVuQc3mBOtAjxOh6R7\nj5edEqFr73iNe9Uo9B2CCzZ5v1sHWoKn9ACOmLowfzLSi5TC596qHvhuYGSg\nnMM8iBPMizmh7k6BVYMvnQ7IqUIBNfWFuh5EURfnRI1gn1tqCXRqjQFN+n9R\nWUXRLGd5SnCKhnH0zZWcNSs+5otI4glcIfc5gA98+fC+FCrbpm/jJEG2OSNt\n456mhtYViTyKK7qxu0f2COsiWFhp0FLHu5Xj9mQ4oM1HQxHCqBKgiD+eHvir\nQvpWkekDgWS60+3fzjOLRKiDF2ywu3Ph1UZx4T+bEaVwMK7wELnkICDgbxsC\nFJzhrCPIHfQoCbYdjIP1gjGz+71pZ2hmED0FKcZ6E7UhwOWCKUUkKnxvgDRS\n1APX\r\n=ppfV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"0dabc599a2976e789620f8e3967b041543e72069","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.0","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.5-pre.4_1550665257292_0.5231714165611645","host":"s3://npm-registry-packages"}},"0.13.6-pre.0":{"name":"@adobe/helix-cli","version":"0.13.6-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1d40f4c841baf0da73ff17ac878ab07929f85b1d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.0.tgz","fileCount":74,"integrity":"sha512-o7Mh6VOjuXDSskgiJiEaeE8N1bW2xyMLGxpLWjRPs7FPGmf7vfWpQQZSqDtcqroXZpNmZOvpJbilqiILNGp6mA==","signatures":[{"sig":"MEUCIQCWfBWPhGYKGlq1tx+WsZyodzSbcEH990FRdylF4uhEpAIgV64tyCMHNqeE7OzkdSGQd3iyEeR5+FE5YEvqpSsBtcE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbU6jCRA9TVsSAnZWagAAfgkP/AhMW1fGr1kiberGU/0Z\niaKu1LGUxYFKPG7IdmfqbcQ6g0MtyWbaLNYPhAc5rdplbxrgTcPneVuIPez2\n1/5wOntsRbpW/TIe3LD03f1Nu82qapiqo6e9jpMiojN0HdMatp8BOqOCHuxW\nOp4wBJJ2Nvf15RXOx5Q8rocz8uiuXbuJdbCyzppUe+gaETPaKJFUAqOYdjLN\nsKgpwsJjBmoQ5kFx1cq+8MTECHlCVrKJCXOz1j0sgOFfuoWwnQvjcysn2ZHm\ncBymgeCBPsk0yliu6H5U+51AUDrK+JYgSbZQtrCiAwKyK9+pqsyhoUUWDSNr\ntmIwY18Vfg2D+cOxPv13z5kRSEV+rfY1vVEb7Dr9Bc88500Yb7y5Ac0Kb03a\nOxbB6ICAKjBTiTXf/xbR7dlxWpCzoCUmYepc1RXRmyzbOUJL97+EwEzt4cKW\nFBd52ff2JUq5+/kKuoOwXRg/A+t9RpbsKV6Zq3CrhheG90tK2Usw49PdCPRB\nBEXCVYIUmAJZP2pPkfpuAc9yMOUwfxXG5ptUiEtO/mUF1Nh8cZtJ6CVyNDim\nwWYSY3ahc3NaLK3dzsNIGvMeHbxr+JjiNC5WIAIAn3aQFtAnktdtPICcQ+Hq\nH+7onH3Ig2noRmjVefv5t4zr8jivmv/PSCPF/bdcZBQcTAM3+igwsI9e18Pz\nVDmq\r\n=E0Fy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"e42db2c5044596e7c7ab905f21ccb8d3faff3c8e","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.0","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.0_1550667427229_0.6537518664056565","host":"s3://npm-registry-packages"}},"0.13.5":{"name":"@adobe/helix-cli","version":"0.13.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"42e2d18d76101b2350927a93fd95a0baaf8e1ca9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.5.tgz","fileCount":74,"integrity":"sha512-dvibEqrXoAZ8F8slvH7z/A8VluA0Mhub5bkGwhgR6xqLEzg7PHtgD7iZUXzryjIpk4HuR8yaEmAyzMlJqqsVDw==","signatures":[{"sig":"MEUCICR5JTbaYeRMHj+PGE4Yx4MyT4mhA46AJ1RKd8v39qU7AiEApy/ddFq6XajX3TU907LHGiOy2BOpZkgG6i+iwqbjY20=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402565,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbVK+CRA9TVsSAnZWagAAXGEP/idM3FJsQqYbVY4967Mb\nM23UIhnFoO2LKgBSeg1ljT1kwKR3rqhihE2vBunLcxRxNtOsSqNrkoSNQprZ\nEKHHm1C3rg+UwEkegILh3UOf9w3BbEzws+gMBbi+GwggGqMag2bmVLf1YL/9\n5oVlYtYHUPGsERcY538jJjbhRhBxe1x0/FdTbvqcboVb1cBhoefWGSkaomtA\nbup98C11QTfn1HJ7SnAuVwadLAICrBOv2MkXBZptN3AqD9Z217KdWp9jNv4P\ngz49Xv4WFqHr+8bWRAQJVs0m9NT9dVWxlypJ88DIUT115SKvashabcNiy2ck\nJyz5r4Lf+8yq6DJ2Us00HLfUtpSigXK6jgkbBVdmjtrFkM30ETF0w8hzJs+H\nXiE2DhUh8zw6eiUecz+D8g1b1ehM9wGPZKPNvfjekZw581AhCbrWh3Ia1ODb\ngKcmQvBxtYxs0lWFSIGFiSyD0Habj73mOovDE+npHRk6WgnTQdyyZ2tEwNeA\n6tJpZO0deqjcZ7zYiGOdD/3DYTeueV7JjhHXqPOFh7V5hz6YpgLgsLSM3oIq\nj+6BmUkdacefjaxlLp97LXdA8ttoc73aycv4uPKi1Cjkb/A0+FfHTWOQF3dy\nAVIJtXy0hApR8KHhDGr7uogFgU82gFq7yy/+9OGxBdqkG1Qea6njqt0QmPmn\nEJxM\r\n=fVt0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"0f39f5def1984225882e20e3d18c37a913b24b8b","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"rofe","email":"npm@rofe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.0","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.5_1550668477813_0.192187534075152","host":"s3://npm-registry-packages"}},"0.13.6-pre.1":{"name":"@adobe/helix-cli","version":"0.13.6-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f894bd7a54cc124557d3ca7950dee42de135082d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.1.tgz","fileCount":74,"integrity":"sha512-jzQPtxEqU8Y3+8JuFGJvlMIPsmsz0sa8lsG2/DuXsL9QPm14KVPIfzLiHe9YsGtYkHHfUs5dg01vpnBYGy50jQ==","signatures":[{"sig":"MEYCIQDgAQkE8+5dMJDFf477HJ2o6RONsNTusSf+8mY8SEIjHgIhANNi2OPrRypz+abjWi/bs2MeWtrR4dbJPH/uqzAG+S/Q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbYLWCRA9TVsSAnZWagAAQVAP+QHK2dMvyxC85P82P0vA\npXVOWo1gqlG6FkBAoqnyZ03qVZBDkzC/y/+i+r9sPMI6LOkIKVOnTdJt2ctL\nzfdh4Qu7/2AYTGojKu+FLnGtiDx8hEQP+iGB4RLu4+vk+EDFQF5SgbMfJpjl\ni+6zt0h1eDwpZfRbl/+drrcrUmsfpV39u+sXRUD6HNASjFn1LXcODZK3h7iw\nd2iWC+IaDoP5T7heCyun7KCPeIDIBuosLeY+ebc3cb2BYRLIT6a8SCP9ewk6\n2/e0US/pgiOXOUb/q46d7hfdIM9epUvFoDjBD6ELTz9USkjewixdFOnGP0f4\n/O+ZLjAyomv48yG9jodLaB6SJDxxTwcsTZ7b5w/Z7Q0Nv86YStm4Tcre2zK1\nW9X/r0BFyl0SptY395ojY5hK+TllpsBksK0fen3YVgdnDMvU4VEnJkfNO5i+\nESYIl5sadIl23DJKCoV/uIgrURIZh881/pNb4jVVr4we7DOhYlx6OUSm3xZw\nHQmF2ZRQ3msu8/tEbP0p+Z64dvL+v3oLOoXWElOCe7X/ec/5cMHtOL4r3TNR\n167cZwMiZHIhEercQF9vULg7k6Bvd9W3Tq26g9qbQHjD7ZwzSCDBpdKTRm+p\nKe0fkkSpE0XQEN1PDQjaPc3ISo+vacSocIDp6O7e8GGqMTyIcn+OMHosbTNJ\nMGHN\r\n=1Jsh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"07ce9c888beab85d140793e29b66122a5d1b8b55","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.0","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.1_1550680789647_0.25294385989916846","host":"s3://npm-registry-packages"}},"0.13.6-pre.2":{"name":"@adobe/helix-cli","version":"0.13.6-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7fdc4ceac84a6ffd85ccb27d354894612a1f195c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.2.tgz","fileCount":74,"integrity":"sha512-c7KeQ8/OxJEHq01uugDX0OvspJ4W1iVbYHwb/GRiEH+rtHWYGIvI6iHAtORW6fhkP8ja3ReTLQgMjdr000f+vQ==","signatures":[{"sig":"MEUCIFpB6iGNwD3v9BtclMMaOo5Qdj5OMam339y5YMb2CVJzAiEAq8Ef5948Mtes20nGE+kSM/3FGsIqMdPvklEYlSA2xzc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbmgHCRA9TVsSAnZWagAAruEP/0hH6LSAjJLfKr6BfHq0\nYN5CIJOFd17oyKxioG/zf7NDbWTmMNjTSk4EZEY3dcrcQ2d3sxMoVqvy32mV\nly7PIpKelcFvULlcWa76Fb/eoIurbjivh0e2zVxZj7LF61zc9k3miX7NOn8Z\nRyvGX02uDzWtrAUXPnQtrjVZQpaS3xPw+T2ZXZE7OUAk2L3s5Nbo0tp6ONri\neUU4KMtJh1MnAxdFNXVPInEa0eZ5hXfoiLP96sZ7MgwlYTY8puRz9oSUgNHF\nwXj8ykB3FKhfApkZP2icqU+c1JAkvZ/XbPUcFaVx5FSoB7QcXiu0HUaAF6CZ\nx2LCMV9/ScZVVxHYgIq+Q0B9S8UuEWIhNc0j5DewO3CthirQKcdP5WjGAbyR\nAfUv1qmSimLvkZZPIzaFZ2PBZdlGuHphn4EQ28kkY9bWxxD+RaYylWtlsrfE\nLF7U4ZNX1vuYo83x5J00gx4vnEs60DurQK7JpQJAQbK5uMZIXL2uvJMGHeJt\n0FGeN4skTLXLlbHJBNzhmMLxNbqlpD3bZSHE4uAm3/khaStkKJTzskz22H+Q\nbDoIQOO75gkntfmltuK/TlWX4jOER5fyzb0FHcNVkX9okiMKocvJyXqjcllj\nYHfsJs8QSVePaosKFrZ/2LAEshazuEuvbkBT2058Ve2wEMICCRofJbbIQGY0\nJvqT\r\n=DKEn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"325e7aae1078032a447166c71df20c65f3b8e813","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.0","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.2_1550739463062_0.1562843326520007","host":"s3://npm-registry-packages"}},"0.13.6-pre.3":{"name":"@adobe/helix-cli","version":"0.13.6-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"63a54a0790280da5cbb3d9f245189152cd4b76eb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.3.tgz","fileCount":74,"integrity":"sha512-mgMrB7waY19iYX2cmCMC+NngS7IemYEZdNvrHjffJ6tp/hlrKDXs8jrnAwx51YkMeoqABgmOJJBbttuNBT4iew==","signatures":[{"sig":"MEUCIQCxF4/TR2EB/yxRY5wRIkFD3H3qWQ4BHncv0WVNRCQ0zAIgUaTO72LNxFV/iG9UVaOMMbg5aQ8CSLweroCRBh8SQm4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbq95CRA9TVsSAnZWagAAt9UP/imIzKeuTk0E04wOlvT9\n+az54Em7Os8eIz6I0itPrTzuq0jaCmn73hwzkBV5ROsky2zOkXdRHY3fJ/vH\nIc2CI+LFbOOIXoq9f/E6QXOtz29GP10H+FRBDhP11gtYoCR9RwJsQirT46rI\nSNLN/P3H0+hj2AuqYynnbaOaKjU5iLiVShyOD1BASQvOMA0gh66TANNXtzmA\noJwoq0JFY5XxDG1+ouJ784wVZXuMl3dUv/ieKiENeHgtfvLDmtOM+vp5zHGu\nGq0P+tIQFHpAQjK3s0ewsF9mHW1KykF9yVoOKxrQSvCyaaAboSI4wkgIBeQi\n4tYEO3rlly7ewD2qtnhunwxLjisRPF2bfJNxD6Y4x9/+FYdh1o04qsNhePj1\nO26Il/EpizA4APee0KCtkfXZd6H0EPo3QvbebYJMMNNA/rh9EDcwMAUDw3xq\nmsFL5+7amaNQAJqfiYwFhmxRURS/a0BZrAQbdbqxIj3vrut+ARInkmn+mr3+\nNQVEhUHtjpPrxR/1u+SWarJ/ghUKn+KzrGbc300KwJb0f3AyOq04AhC+0e/V\n8mcEv9L8uBXMvuHjAcs0XNHltFgCRmbAEBMPidPY4VaQ9dUvDubZZb7dHggm\nfypTrA9ZgQJD+pgL7zXv5kb4mpNrclz/P6Fsgi2ra5iALSoM8LOLP/33Ihl9\n8AFs\r\n=E9Bm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"435fa8d49ce80008f934fea67dc962b895b720c8","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.0","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.3_1550757752718_0.6673814823849942","host":"s3://npm-registry-packages"}},"0.13.6-pre.4":{"name":"@adobe/helix-cli","version":"0.13.6-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"dd2cfce49b664188c9455c8723c3148a812ecccb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.4.tgz","fileCount":74,"integrity":"sha512-X/kWOj+gAmcHSYb+UNkjytMt244q+0w2LMWNXFmnPP8NB7o3X8tAZ0v2gX/7qZooSfqF0XNYDeQB4OxDo0y+Fg==","signatures":[{"sig":"MEQCIAMgJmG3EL8SuI04G/2R8kBNfvbc7Y5mwkhh3Nucrk6kAiAc0lUheMaD7BMZefEGwsrIGaVv5ZRsDT5UJ5gY0GdYMA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402565,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbsTdCRA9TVsSAnZWagAAa9sP/31zfQjldThN3leoKxDj\nRprMhmojQqMwe2b9ZcAxE99LYCjfOkqvLizljzIu+S6CNA7gG8kMk+jhVn9b\nYy/2l9UZOVJwh3+cU1Y2080jCDBqvFt8h6Kb+0kAySAXgHXunuf67N5+2wmv\nn7Y5RoAipYWtV+VStf6euw9UiuxGX8xJ8O8UwiX0/TdX9rfGZ4y4p5nohsj0\noSpP0q49womcXeNM18JGJ9oL315/drricz27PZkVCiMMKVL5DLwPeTWMAcl9\nBBgosC17BAqcskQpkMmQTfWrCu6gPSzoAHln7ve6A4Ucs5bhEiGJAgKa3dAy\noyl2itJYRSBFhuqNfeC1G8yTx1exmiUrNmjsFYxxeV8JMuF/ErZpaWwsAwOz\nRqZ84Nsc4WTTw39fMjLxo9f7EvdQxMgY/nA05nBZlO1bBg1v2m5CRwWAL96w\nQGSdxHiekAstN1uQ8GRlfXacDl7+p5hbclrWgEUE5/5zGkR/u0DkmDuI6QFG\nc0wJTHQxHsh07po7fHKFe0cRTqGbw8pPEdvlDN+UVl9tdQyB23ciVp3UgJUv\nojVfhyDENRRVzgW6ImcJKeCwt7G1BgoVMvQnofSUfE0yMxObRxeuqPjc+MKN\n4RRI++sCd8mnYnbUQ8Amg0ddTHNT6acgLrLtFY464kEW925qDGzIlAEVXNso\nnSQ+\r\n=1f+k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"6586cb66a6ad67111d3b215a04741e2635c61941","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.0","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.4_1550763228989_0.5928984640052284","host":"s3://npm-registry-packages"}},"0.13.6-pre.5":{"name":"@adobe/helix-cli","version":"0.13.6-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"98c7b8c65c4dc062cf71bd78554fcaea9bc5eca0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.5.tgz","fileCount":74,"integrity":"sha512-yHBvcCw7H9SsNj+zStg/CuqghlgTGVXIFQAMW4OIN2d7dNgOcUBU21ZKk4L0rbYS+5zfVE2MH9UArjrSkoVzuw==","signatures":[{"sig":"MEQCIAQhJuh2ruRGGmIOrBUbHGaV+Wz+Re6AOuI3Pg/Nb9QaAiBXEXhSc2ZiUn6CrUQN9klzQmPFvi8HbN7QdGYxHI3y6w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcb7AZCRA9TVsSAnZWagAAhogQAKUBk5RPCnP/HzFKpYuR\n6oViAiRprmWN5U2a3ju6wrCT3M3dSHXzTxmph5qe382EtxlFpSKx1LZmuDtV\nNfLXEiidSb9UsVkg5IIwmbn18Joz+CAs/QnAb449UyWZ/1wESe2dQ9fh1M1q\nstGOU31eutGAMrWvb4zf1FguAMox1CVhLtwN8PYGV4rXStdOsoDsRbrrWsuL\nehcmPZMxvllFP82Mh2RIFHRhoCVgsmK8eFeO9RxLfDTBk07CbRCxeyNnSArD\nzIA1LvtksTXI8YIMSD/3vQquHzRrmVyO8zw59pGvuFNNJQ5+ZrD/TfdekktC\nhZrtxWGqNsY+kuuEfkkZ2R8Q6LXCkprThUdT+RBAKKvIXTo2ej7dbnHJT9ec\nTbj9wn2Z5urACCimf7rgyS5dQfnNJNZEEY3KFcgHp/eYx3nR682YukUC/5mV\n5WISYu7JzBb6UXGS2Fk21ODNLtj2JJIdD/HpcbWK824tk8jYErimcqxO5yqx\nMYbPa5IsVLgpe6TDscYqIBAzBhW13HpYoEZoam0EAMswWFpzurHRP1l9zap+\nal0L2ZEZJ7Fy12L2Ckm6cJYxqwt69E5UQCJ7MafjFcYJcOPec7JNbkd++aZl\nbayW+U44b9zCKxQv1PVb+aRL+NngM5roUxflmGpVSq3sO+Cw3UigNI/RosX2\n1OTA\r\n=KE+S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"543d11c0163e6eeecb43dce0ece87de07b09e7f6","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.0","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.5_1550823448829_0.6650681200099107","host":"s3://npm-registry-packages"}},"0.13.6-pre.6":{"name":"@adobe/helix-cli","version":"0.13.6-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"731b6ebcf780fbe061b92b6c788764c43a556568","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.6.tgz","fileCount":74,"integrity":"sha512-wnwrmJnRzZ2D0AI3cvvOpnm6Qi7nfDXey3PT5VJRG4HpvQglkxfBUFdQ72q0/iDFphXozwabvXs3YUmGWOGYgA==","signatures":[{"sig":"MEUCICezaWdpKwRzDSBZVDxo3eq2mbPl2aQDiE+lkooriDRVAiEA4YpNk/QlJZ/EYW4yAumYEVcKUBhSfPxOLujV+68e8fI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcb7wFCRA9TVsSAnZWagAAKpsP/3pLrObYG3W2U+sRKxDU\na/W6VO8xeyCZHRFTCzDc57UZ5CyuA0SUVaItEi3HaheseWZeUqe5G7oh6/SX\nH6sX8GncvZS5jqCHrPeK6SMJPljHuYQAhoBrzkf2EySNfJuUpM7ILQyCVVgw\nGJ4nFm661SdkVRbg/tzJbXbGtvo0IG3wJfxNICtYQJpVOczTiqXxHJBGdhVz\nxhpMfvdN0t07fEhj+WVLcIT34If4rPIbAFNxro/5N73lodndd5v9iTwUoWou\n6ujB9sEv9emzks/TzMIgmvcJCGuyvrznBGjOhvdX9htmpNdvdon3tbKbot0v\nR6GDiX4rYKArl4jkuqT80pXMTZiBoHTjUcoC3hK1ubL0Q8UzZsIGhp4pE/Rd\nVV0vLYmDa28BO9ToFcBRS21Cu/Ey4LG8w0DmFHiLmXs2apuoKGgZPi2GHBpL\nzIb1gxRGu4Q8qkP97EMYlh+nKAWjSIbxT4+xrPOGDf440/BqZjjX79mXfPbR\nBItYSKA2LyzxDbKqlQjN8MZnnKMc9ua6FS8RImtZIE60lXtiIPEXFuNNucgu\na6uVZQ8oSG9Ag5pLzITFayeZrZOmOopA2cgeZSrE9cr2zW50IhN52f/UeXIo\naIiFgPknQUt0pBxqGDsnFc+oHi51ZGqgtNTYfMXGmGZYpA3VN68nQOMgp451\nStVu\r\n=9gnN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"ce9fc7bdb13ca78bc97ac131d0c990cec4e04aee","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.1","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.1","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.6_1550826501045_0.2717889524215331","host":"s3://npm-registry-packages"}},"0.13.6-pre.7":{"name":"@adobe/helix-cli","version":"0.13.6-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"084493fd19f8799ae9edb756fadc834787773d48","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.7.tgz","fileCount":74,"integrity":"sha512-+W6HghZfogWDaZ56DzbfWMn69T7uvR6i63McGBRHMJgn54T6YncI1Bv4DB3NAwruv3sBm5lq0wVM3Q//4ud6pA==","signatures":[{"sig":"MEUCIQDNlpqp9Bg+7StddwGU5++qLbn4nDZV9qDqwdu0iRCL/gIgYsmDogPRPZ3dIi4UXrqqpgLJVbYM4x/KMmFngkpkHzc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcc6OnCRA9TVsSAnZWagAAir4P+wWzqdAhaJuq/ZbLy8F3\nWGBcGApdZy2XXgstUStrpBnGRhWGvumqfuv1eN9iSMsrT9Gy7oplpfeMAimd\n6LYOa/Swd+8yV7Xx82il9XwH2VYgNbBkAIV5LOg5DTRjVanJKv1rq+f7hEpv\nYVm2J2w1t2T0/1bjOPw/AbPn+kbLa/EWXsF4Ej3bTt7VLT44R46TH6LjC8KL\nthmcuQkIH6+ZYuJC3s5mJJMKazXIY+0CDopnzovEYM7n0GQT0rjNH9jwiIAu\nxPnRpCJfEvn6T2Rp3O1yC2jVdLCx+1HOLOoinzYAtS0vjXE7r4+8B4oob8m/\nSc+by+LC2G1zpHHEaBMMxWkYfLVoG8rXUTyJ57NS0DUem6+aMpwrv4r61+ai\ncGn56Y4OGs2eJq4rEriwLCiYhCVfgO/c/SAY1NR0NpqlcRZBaGbbWq7P7ySS\nRlWkMFIcSQJKtDzKJHFrLuonPpiFqCBIhiOgs9MDHa1h8j4gBw7cTvsIBSVx\n/kMvptt8tXyHUPb5q8L4tfVIzE0nJZTDmGFa+Tjm94+yyvXFtgmCGOwMiv3k\nE3nOKZdjwMuAkGmmV7Kc4JTvqb8lrmByFPLjf3AAoUdE3hMj2QCDo5M2WPLy\nd+gNVxAgeSkz5gAQqPtP5cLXfnQ59iZaAqrOI/452kXKny2QkcdSLMJMHqzM\nM0rH\r\n=wVJQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"847f3ef647887880753e3b4bb693eac0f6777c63","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.2","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.1","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.7_1551082407150_0.02615024421374934","host":"s3://npm-registry-packages"}},"0.13.6-pre.8":{"name":"@adobe/helix-cli","version":"0.13.6-pre.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.8","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1ec2791e36c5a868f8d9901f31b2fe6e57f09ad9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.8.tgz","fileCount":74,"integrity":"sha512-u955B6Kle4ebPD3jgYzPqLLyWTlVbEKSiBYY8XMlzUxmPa/5H0qOEmdUwLhGr71MEGvyDqy4RYDdz9fcbrAHZg==","signatures":[{"sig":"MEYCIQCb6Hqnjmda8ek6oGzQ3XAO8OZ8K5GYW1YVaibAFWIADwIhAJ7Ugs0yehFcGh/PqwjuVeXzN6YhDLypoLuKnVXG/S1V","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":398001,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcc6T0CRA9TVsSAnZWagAA7aMP/iUnnNzzo1xnvcI4rA3e\nZ+o5yy8wvPXBAZ/G42kaFOhMiXh/AO4eduabGbRL5u6JyvQax099xNVysIje\nymjGrdJ5tk7ZEXLfz1eur6zDWftHzP5CF9bq/ZUxXRRZCyj+XYkX70Ypfo9Z\n1kkzZpXlf2ThXLzkMCsv46DfBGZp2ew77T4f2PjAQYkc2JNSNLzXCaPsOHRr\n2elWgNhDt1lFPoN09mDWtZQPM2QjMbnJJxlwrdLoC3SS8KzkyrvatY3E8R3N\nqAs/jPCAsHOZryZvA23PvNiL99RCtNRTvSOPPLxtyIaATMC7JefevJo5yERF\nUdFuZVjJXG7Ku4YiTCDnAyQVfRgvETcbWk1Gf88bi3acW+rvqQF/xY+HHdGL\nXf9tpfiBBuMloF7MtgffHLnM/C/sXGg6mMDZatBdE/7QfJMYKt+CAMCsLmMw\nvFRDLZXCjpCr+DYRMvpBBH5ENERc5qxvZFgg+B7f0MSJa+r26tuNKppujtF9\nKvK2RGf2F9D/E31cEDYmvI/uS5qusv2M1ZkvzmVpagPUsTuyDdgONQstu+SI\nZDMML/prMwvAErlaSqG3xQWw18omwgZA79dTuvNcB3nqWl9QOAaRFFnn9cjc\nsGPgWhmZUiZFMM2BYKlL0sJM5b30XlmQuKqJ4nolr5Dq2sMHwofwQDu2Edj5\nCNPM\r\n=8ign\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"b8baad026701a82b28da85005e29f5188331bae8","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.1","js-yaml":"3.12.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.2","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.1","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.8_1551082740080_0.35149562470986373","host":"s3://npm-registry-packages"}},"0.13.6-pre.9":{"name":"@adobe/helix-cli","version":"0.13.6-pre.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.9","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"30f1fefcb2d42c970ae4aadc8ff877d6f1fc319d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.9.tgz","fileCount":74,"integrity":"sha512-uGpzA3H/M6I94NzHke9ofgAqvv6gOkKDliaYC+xI5WPq+Cw6wgDwbG6tTxzXNq7f6hqQMX2VU21xwBPfDJ4b0A==","signatures":[{"sig":"MEUCIQCd7SWK0nTFPN+RW7M0PEQLZaIctXdyfpuEU0A7V8JmAQIgAmlTLxlSx9Y2IIRQWJQheKdMx9jDKCXQA6NapF38o7s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":398001,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdWHiCRA9TVsSAnZWagAAyKkP/izOFaFmxUGdRgiOSbJl\n2plpPGa/SDzO8S73XWEhOrb2XqNCCtJ7fbj9vy7Y8cgzrzuf/asWF5mnrnL5\nLg4sjnz7ED6pn911dkJX2TNu49XKjks6lET0OhRb3TaV6HgvhF1m7OP8x/61\nbFm3qb+UhJafVbCGxpBwNvFMBX+TwzOTE5UWMokTY/V1CIsFL96SFt/k6XZ8\nDSuM+j5/TxrVkdaR3W3cJgAxXhTQY10D01zW70Ybm9hJbHqXDUw/vCH7xg14\n9l3wroSN5NXt64O09BSanrS9eD+A1nFWOap4A1ZxJx+wcDyrybmyV8/hwkuZ\nM/+ojlZkZD6d6YRHQfjzDrFnzBkyVJOVWSRaIEIDwOzfSk+DZfOrKzBvQgBo\nN/3oE1tDPc12/0GpDLzW0ILrN4SR0dpDHQmSD38UNjJ8UOzPoB6Xj7CVY4ft\nSNqIQNeFVLLB02zEkioqFagUgg/kwLSuJt2o0bUOw559RgXQbf+8Atou2Vih\nWkeR3wwLOpw8ZIqNo+rKe8EVsygNbF06qaS2EaV/nUBzzsXmBPWk3+U9f7hL\nY9XQAW0i2GMVEuNpx9enIglZLnAs25v7dV+hUho/KR/bjCdMqzbifAVX3Al1\n74Gc5B118eobS+QexThlDYa1Aj2qzMqzc4dhL2nCykCUMEX3kOPHZTNTPuHE\nt+42\r\n=0vXy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"b338328701a9eaf4ef54f607a23103bd116c5189","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.1","js-yaml":"3.12.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.2","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.9_1551196641377_0.25647735713458797","host":"s3://npm-registry-packages"}},"0.13.6-pre.10":{"name":"@adobe/helix-cli","version":"0.13.6-pre.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.10","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4d351ff44a1bdfd5ae80eead51a1879c077b3fce","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.10.tgz","fileCount":73,"integrity":"sha512-SgDYDgklias7XKdH5MZ1A95y2kZkFf1TtXrISn8Lq1xV2c5ZxyMNzogevUz6j5uvgRn/AzK6FUtAOcuGjURzWw==","signatures":[{"sig":"MEYCIQDerKmHAtsZmvI2c+M6HaL+J5T3Daaq5U/vZCbHB5zPigIhAL6tdJkTWMBkiu13S7hEHPB4p86eJ0RLIQKOcAXTu9po","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":393045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdkiHCRA9TVsSAnZWagAA74oQAJ7GaZRRn9O1O58gFrMl\nbFHINYTKE/GZuLqCWDDVjijUFuh/Q8sKXZUDitjyQ+rUkOM424rSvwYpf7lX\nwqGhu9b5s9K1AN/zGQYBwIjgt0aYCLYBgcZvZr/3ZcOv0rKU2B9a0CuaIVwJ\nZO2BnnFJ2GQBH6F/08DblHW03fWOYOVDNYMMIaXSfL7PjtVYf/Bn+Ka7ADhy\njEEqlmJBmL82C0z8gLdS1zxqHPb5MKDjypze0pUQgdje/wH7qXYASGGg+0PP\n9d9qyCvI+1kVhtkInbe9zDqvtTDfuOTeAn7hhMUnNcmivqaouqqblAff4Rg6\nuz3Q2INnbaSQA2TfaVr0P15f+D7kkWdjx28p87Nv6/vXes4aVkj2Ucb7tn+f\nIJF6jOg60PmcET+KsD/1amNG7Nl/WsBhKrsGP23EwHroXAJR8NBbp3rwViic\nLFZnGKr2w6tosr9lldMgZ+L+HAI38ZjY1rdXwgvLJcNCk1c3JocFoWiECmnd\n8zC0IHMJ1vkoRc7voM7hsflylODIhxi/0e4aW957ZP7YGFtPiO5WWfIjqqkg\nqGUcNNScI1tRXe4ksbOeAKZFSX6ouW98ywEnF6gHTQyC5HPrJyQbqnyFjgJG\nUbkwZXb5F1VUv1Mb6OECyq7/qC+HwGGrNLCqZipCbOsxwx96GpwlNKtJvD9C\nQhjg\r\n=jBRP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"c2491344cc4cf0fb2b6c45c483ba59742d8db842","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.134.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.2","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.4","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.10_1551255686828_0.43132236402954405","host":"s3://npm-registry-packages"}},"0.13.6-pre.11":{"name":"@adobe/helix-cli","version":"0.13.6-pre.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.11","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bca5b38804420c72656c31d5ad4ee8a1612854f1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.11.tgz","fileCount":73,"integrity":"sha512-AkexD4YkfwpGxxVlAQ0tEt2Q86INPtqt5oLfYW7sEmUC5kQuIso4+tbWfz9aX0NkdFGRfe2lRVEbZEjEUV6MhQ==","signatures":[{"sig":"MEUCIBFTZqEgGFtgAvE2G34sHf1GJiL/r7e3G2+sOjJMa8QgAiEAvBJFRVhhaB4yqB3s8409I1w2seoBgsOFB89PmZZCI/0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":393271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdqMCCRA9TVsSAnZWagAAZl8P/0CUWjlz9QtuhZbxPQHh\nxVehhWyw5kenfUFzxBJ5yOvfZ/iGukBWQNT/eoUBsCJLutl0rpC127U4JTJ+\n7OKEiQXBOE1/OsUw+xXnRnYcF64d1YQiu7+mWqRlsEgBxzK0uhYmkzE41Vpp\n+jch6DqAaCDQFM4SK/qWolOF/MIQVmwKE9Iipf7+jTcptMa/c/AanuA18JIT\nhemAyRmIDOXHMAbq5mF5opXgfEHy9+6rXaqbR6D3N2z0n34vacYqGDhHoE5U\nESAVFJCiXWTtnhQe44OZzmJcooHShN6l4UzxcDsk8uiR2ErdASUMUjxqsC87\nZLWGoIyu1iMPwJFzGaAAbz1A/QBU/bbyzd7a/+3sdqqq5D9geun4OpuqZzeB\nvJfefa8lrypJZGlZdXOEyKOIv/AoqVORFrKYYGW5dFBeYpxQP0fPJBXQO0hl\nzsoinnNgqDfaQswzYdBMNL0qui7rhWosCVfJlEQqCV0QqaIpPVNHw2ljvovN\nopmxV9yYmoGktrpjM/NfpREhl/FO1VP0CpKeWmb7Ry82VRrov8L0dNUxS2F4\n7Ui/Qmxew4JYNT3xCfcBG3t0rkmo48aUMoCQtvoP7gMqAqm3ANCC/Hy9CiCb\ng+krMzPxn5nanSHy9wcgIZz0ajfcuCx4SkBAMGYkOyPrq+nh8TxytzBwDLcU\nK8KA\r\n=FDiG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"dddb9601e7e92cf0790e39b9fb06b03b279bde10","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.135.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.2","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.5","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.11_1551278850344_0.21284224954602826","host":"s3://npm-registry-packages"}},"0.13.6-pre.12":{"name":"@adobe/helix-cli","version":"0.13.6-pre.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.12","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b2f4ea74215bdfabfb31dec09c046bef4d64daf2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.12.tgz","fileCount":73,"integrity":"sha512-ppxYNqq6Sdw7e3UbMtw5RofPH7zKVVFPJX5nZKdekvNmT94O8UptjrLiOcWjgmBXTzTk8kfNEMhYDEBackU82Q==","signatures":[{"sig":"MEUCIQDvWEWsSIUtFkmDrp4S0lo/dW+U1cNfs8cFbj/+eoX+vQIgDDT16E3UCVxACDZ0lu8gaIY5vPnqBJkdSBDp3eK2nR8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":393271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcdyo/CRA9TVsSAnZWagAAwHQP/3PAnvXK6Po3eGTJxB2X\nGCAb2tgAPELSiZKrKsFLOxnN2vgyQiCy5tW245JPMSJ1szig1RHe9ruDbwGB\nu37/9qa2EWaNWkrWgnKUfDkioXoZs/RyD7uBiVQH5jO7jXt1YUVtgB1kKRnV\nFIaHL3qUuMPwI5UweWCoxdal+FTlCvIIJYNZwCXjazOV5IX7L/t5VEcG4+1e\nt47VqCoxPAgx74lULuHfPByEMsfkdJhv9ONdPJnanNbIjUnOrEFO22TYvE71\n25w4tW5fkBm+9IYT7/hAtj3tJ8ApHQ29kumKXJn94ZtBXwdPqkUnPsPXhW40\nNnuvhglII/gUEqIjas+D0HFIZWwKRX6Cq/8Wk9E1EnDyVcKGtMLkT7EYgxyO\nqL5FKJo+AovaJ+BCu8HySnkh6sGOYsJ+U3vKA+i/EqR6BoNrPPogDkootAyv\nvA1WvAcljMt31vMX3b5cNecKOkn5obGVHlybcIKBNOQzeng725EGCThjp2QB\nv7MUiAnKA3p5lSp6KYPWAWoLN9tZMlP3H9UlENssVa/baAyhssaFhizUH56N\neIi84YuXNlMuOB5LAwLUR+zlxJsU2I0PfBv1aJCv04f9jCTSLEW3sPjkTxM5\nfHnlE64Z3ZyeFc1MbN8XS2t0OQjF3kA4h3rToWM1AJiygj+Z9IKAtnkVFfTH\nxTds\r\n=Oauc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"7d846832e6f4e31bf26725872674f432e2c64c6d","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.135.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.2","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.5","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.12_1551313470521_0.6965778954438848","host":"s3://npm-registry-packages"}},"0.13.6-pre.13":{"name":"@adobe/helix-cli","version":"0.13.6-pre.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.13","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1f692bd5cd323d69155231b0706acfc178434b2e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.13.tgz","fileCount":73,"integrity":"sha512-5Xvlu3cGR5KNAUoJ+mfqkbbKTzwYhBSueZ23RpD+wPBPJ2R5MSJCId2opckPZiBSLLUTJwjZ1ekk1rT1hDWdNA==","signatures":[{"sig":"MEUCIQDZWXRi91gd9mL9ktkM4D8Gz51g38vXtdd8NHh15sggPwIgFOzq4TIDRJRyHDYOX/lRUk4++mzicp7rXbahKu94MlQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":393271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcd2NZCRA9TVsSAnZWagAAplgQAJl3qRySqDSUHZ5/eqW6\nb+rDefDuUj2C5Egsr1xh3DFnmje2O3kunINUXML7c196gJXKglmLVcZZd6SS\nNZwOhrvmuVd6ytNwqzu04iz62wi81oizb2QEu80+xBHDChuSdzT639S4CR8Q\nVbvv9Fuxg0PubFzwQz4emGf5Wtp7rzV677QA5TF9u4J09HAqYBj4hrWwihcs\nImUquijVrl9pKUKQv7893mIYp4wWfB6LXwcicb6cSerygZHeDEL59+1XSYWW\n3ssZQKESYGVsNciM4a/OmZfJDdd9FmwyXut80PXLa6iD2LZU7AaJcD6Ln84N\nSr/PNkxuAaBjiu+teIA2Ju9QtJD2Y3vBDLYcSeFKoZcCiDo40t273VQ12f9S\nAmkpgEl7ZFeq36QgXmIBn0mtsoMZLo1yAlDvrLzKM9na6ZlgkByx0K01B5L3\nGq5LlWkO6J+VTy/NElNmgt/68hPUmOhJ3YYiDgxdlcOKedTQtMhuEt7j8N04\nSFxge8WQJSY1DBzh8CjNxg/x8kODZS4tYQqLI+ybYpx1OQjBawlkb0OdjubF\nDOpt/yvP8WbG2vID3oY3T3iyKoebAwB0y4qlUtQWnz61rPs5IficWnjbcSml\nlgldDZNgiyx4k0i6S56nGukw5kGCwsQPtCbIseWw44O2kLjJo08c8iOXJDP/\nW9Qf\r\n=yzlq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"9af2c29f4bdd53faaaf2246fd315294afd0b64a2","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.135.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.2","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.5","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.13_1551328088831_0.8507364112951521","host":"s3://npm-registry-packages"}},"0.13.6-pre.14":{"name":"@adobe/helix-cli","version":"0.13.6-pre.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.14","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7669e9c6601a149b37550aef532d9f5027d0e4c5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.14.tgz","fileCount":73,"integrity":"sha512-QuFKe+9wuthpN/AeKRou9zq8l6ZFNlMyQQqOgQqdYVlrSdE+V2BUJL4rGU+HNw8Uw3wIB9/Fhya3Z/76P2vxbA==","signatures":[{"sig":"MEUCIFInKJom4aJtVeTSFMTWUatzLtjf0cTta6w22ftvt3/WAiEAtY7ToitKSU17NvdZuEgieSx+gsqXWj96WJx2fb4iQac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":393271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcd28fCRA9TVsSAnZWagAAMMIP/38VyWGWgd2+eRwpE59I\nHx1oqdujqdR2fCGKAKzw4utA/In8jlrxVBjQTRIgmYP0V0EGoHqBaXKXggPg\nmW8u9oDbR6drN56Cmxg2tJYwnNkTM+CYC5NTV4zs9Uy1jtfL1/zTr1xiaPNW\nHToePKEp6FOmSRf6QA7ilg45az7XlmpzUHQ7BhV/vwg9ytTeRduNI9fluD5T\n0Jw8pKxiYw26Xabh/Iek9YUSh4S1ePkfbpPK6Kt6A46nvvq7iIzfdHxinTb9\nU+UzTWhwNffIucVzvrKQaAz+UKEWCbwOf/2ENBnHUjKQwDuBjPZ+plvssOHj\ncc41vf2pHB2jTj422EHPUpwq31L46ZAKb1jGEeBN9A0GZzDGMbgiWFQ+WwAS\nYe3ol+qO1sNCeXh+gmc/zomZCZtAPHGvf2vuD3JmgU1f7pBai0uST0d1mCxh\nT70TcnSv/1tAR01TbyxACCA3GusUUFzsZOyx9zOMRSQKT7ALAyD3H1SNOURq\n44QotASJjdB4l1vXBnZakuyngFCbtdb7PHkGPlxR6SJm62dXxnbqrLiIQ9hv\nvN51VwYH9E8Z6+SwI4i8YvuTH8wozuS/flqy1BebJhs7meMHELGElI+asTbF\nWMkbhPTAECFyeiva8vN2pBq3eG4IwjRZx42eEapYpWEn0/ktgTdyJWpKR7RX\nqdi6\r\n=vyRN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"d3e003d2ac62ff9ab2283abbde6d72c804bf5d15","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"opn":"5.3.0","glob":"7.1.2","snyk":"1.135.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.2","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.5","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.14_1551331102476_0.9759517818898429","host":"s3://npm-registry-packages"}},"0.13.6-pre.15":{"name":"@adobe/helix-cli","version":"0.13.6-pre.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6-pre.15","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"932db8e5f2d523d6135a7c3c1fca34880d4f2a7b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6-pre.15.tgz","fileCount":73,"integrity":"sha512-fI6XCa/FP43IoVkoILcmnVqSJKBwn0wZRJ4tPrdxfeRfIPg8ubVAV2bI6psy66h5kKMpQ/5WGgq9Ac2uy5Ml/g==","signatures":[{"sig":"MEQCIAdJxGNiwyek5iughaAPl9OvDWLybTLFmD+N6gA8GHJDAiBrAWxza0joIvLMumeh1AVicsctsi7NkMZKyVt84OCdMA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":394774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcd7XCCRA9TVsSAnZWagAAjacP/1hOKJoE744RPHx2bRyO\nhM9pkYDZQv9zHrA5YG9QwxQJhf6OPLcp0/Av6YEE9EIoPnFUwLgXK5ddNdcz\nHemMPAkZbmOjd8KPGRQCVzZzzJIDdEUylWjups8Vof4EHKgimMA2eRvg35d6\n7puoynDa2L/jAqYuN8GWEN0JvD49vmoKEzGBkHe+wYj3UMCH2Grf00CTH9Nf\nHKffLF3d8ABZyfwUfbqBJXLruQ/lyR0C9bFDncyFPrxxPI1kW3442fyV8fk7\n45nF+re07PiaImYBsMU43NMQEeDZudOGvkVyRbwXumyGfaX6ueZlKAXaAKg3\n6qGD3em1CXxK3MesJrXvkoSy74EMCetKamVpdRrg9okrhwbF3sqkdTIbhsH2\nWGGiWoY40qSlDc2Gbr4Dz9FA/c8YIIMN5HfrTU52PCaPxo6466fhcODLsckg\n9Hhk6Y1ChVSNY04D4bXknRDZpLhQbrQUU9CIQPJusBDGrgpUQdXrSCTzJHMq\n+enWdJtCoSrh2Iwa5e2btCnjwPsnyL3NqxBn3zw+T1YntM58Ezz0YlJaLBWm\nAdBQtAQ7y/VSxdv9xX7efaXhe9kDlPLMmUoE6jFdkN3t/Is7K3u4sZ5VJVkm\n9rfeomWSoiCEn3FXhbZd6rgEWtA9l5U8RCiO3flJSoA+/9AZxd9YlRUhFClm\nmJiY\r\n=shDk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"2dac8ffb7ee895c45145f228f40bba45492c020f","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","record":"rm -rf test/fixtures/api.fastly.com-443 && MODE=record mocha test/testPublishCmd.js -g \"Publish Strains on an existing Service Config\"","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.135.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.5","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.41.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.2","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.5","eslint":"5.14.1","replay":"2.4.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@adobe/helix-testutils":"^0.2.0","eslint-plugin-jsx-a11y":"6.1.1"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6-pre.15_1551349185663_0.1171032559945051","host":"s3://npm-registry-packages"}},"0.13.6":{"name":"@adobe/helix-cli","version":"0.13.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"cdb5c88b3744881d6e6e498d5c3969730f662339","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.6.tgz","fileCount":73,"integrity":"sha512-TXc5gZ01QMTR5+fT1MlVtHesR7CmYHI4hRnBJaPieiRKWHcwWMchnmb2NbY/xmMxvrOlJqA1+Fhj+WkwmidicA==","signatures":[{"sig":"MEQCIFmaZ+c1OLDy7qvJ8YA8598pmcOkovpV/+o6Q+RJS5/eAiAXJwKs1+lrpBvOw3t32kJgIbWS6rH/aerkXd8uaSEFGw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":394848,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJceWoXCRA9TVsSAnZWagAArPcP/ifEd0HoEmMjb59x5zay\nuVVh0hXXMKi1YOnPCI1HUHkGNea7OpUbbpbGmaBvx8tGfV7rFPaRpnpWWOY6\naLKRJNH7GhOHAhEp//hTRRsVEaxs6WKU6mkY//Fa7J7XdDGgFrRsAx223uEH\nJzISSNqmJeYh4KzvWql1YMiupLRRYH+3qgDyQ/ibn/jC5qkR8Zk5pvQHqGsH\nvSzBD5ejdnwLL+LB6iEcmRb/ecs1vOUERkxMANaYXKK/TltRpWhNDipjOhy6\nYCDH//ZHtZG2CT26InXRoflSiPaOpOVXMEvBM25GHt4PTHh9CZepL0EVvzWk\nkUUNsOh00pwYFmIB2fy1GGZLvEcqQ6lD5VRf2l7tSCUxNZnhZMvqmlAYiYGe\nAP9ZGjRJ463LREQLrP/2gCwIkW83ndJ24wtUvWGt61+WTzk60qtvYsrnbNVr\nT9OA/GZpUXfcWOdzwPyusE5tNH3kaaFSIZ0IOVlET7mAO9mfqr2lqU7zAY3P\nXucW04w6Z2z8Vljw4mXI3Aj1wxoYUjcVMG8RYk1HF7tqVbwaPxffLnETh8YJ\n3Ah/J7YchMx5yxR2iGaFFi4ODO/8I8d2T8/j/yWJzvAQwxeADIzZAff6rHXI\nH2iQ73JE6G5p6z1+1VbM6u3/vJ1aozts86g1RWKV+HxC/u7iw79QnNYTAOx1\n9zsb\r\n=d7Sg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"aac428fda8cd1247c4e7fe3505d1a13b0e08f4bb","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"kptdobe","email":"kptdobe@gmail.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.8.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.135.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.9.2","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.5","eslint":"5.14.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.6_1551460886901_0.5234094929232778","host":"s3://npm-registry-packages"}},"0.13.7-pre.0":{"name":"@adobe/helix-cli","version":"0.13.7-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.7-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7308c8abb7401664a3d254b2f2505f022b0c3070","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.7-pre.0.tgz","fileCount":73,"integrity":"sha512-ydbk3ftem1Vv+FdflGMULSzWYC6x/OduIdZxkUdFW6O6PiGRhF72eHrThBCHbmY8Ga+LZac4mAEAxlQZ3qzoCg==","signatures":[{"sig":"MEYCIQD6608n1VSqTY3rIpmJiUSgqa5MzIX249KQO2TIYuXdMAIhAP+s15+QaziSOyzSHXufDw/1ovr17MxYqwrQuygyErd/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":394854,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJceWrgCRA9TVsSAnZWagAALdsP+wRYoIlPDxZmFoxE+uj/\nif8wPUGVQJsZW4fIz2kGBN0dTzJ6C6qXGTBKk2Fc1aJcHfMFOwd+gsZldA2V\n3A70zYwmbrvH7jM0gwGCGIUYw9b/EkIflVxvrT3UwCXOItRS8kYXvyLFjGE9\nIA6nmzLW21hGiw8yRZUXzbldWjTHsW7KNfo1bl4aD9UAQHs1VXv7aG1r24jd\nS7ggomvqMjQEokok/fXC0stfW/tPQgPLl3LbQjiCesn4QIp/CvP+iAx8VtTf\nKoZ4Me4pDrzlh4A/WnQBBMOmA+r1Ta/MKLHmYz8X6VyVQy7t0ZGzztChg2NL\nsiAqS3HDnDNpja8xZ4zClmmRubLGxd3bBGpmcJTMNtQSQKwiOchl/gncTC5k\nb3KgfQQGFltdxacUbzd/VQQTMFToKyw/Rkda+O330b2m0wqecJ7/u39KZWmj\n4KpWNCbQxEskQTIE9yvn83n9UaQsBpUyddscUrcu74SjYE+yFZxTrFK60L7U\nszJV0YPL3d52ELZ8KXasIVrjE/CNH42TrrENfOQreFuZIvPMa313UhvGQF5r\neRxxggsoeuR8Ma5hFTsoV6zLadnXmmbW9P1Lg+LqiUOzPCmhD/G4nK+p6p9q\nbjxZqOG1O+sNja2PLTXjRCSWvFwgMtKcUJ572Az40o8Wqrr5sFcUwZzwusn1\npZB3\r\n=OZ4S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"295aa041e86d6ad676a2b5cead9de00fbbc7400d","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.135.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.9.2","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.5","eslint":"5.14.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.7-pre.0_1551461088039_0.4018954403519792","host":"s3://npm-registry-packages"}},"0.13.7-pre.1":{"name":"@adobe/helix-cli","version":"0.13.7-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.7-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1e49a15037e6c3a7c2e6c5a73d08021af450ac99","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.7-pre.1.tgz","fileCount":73,"integrity":"sha512-Oof93CwXuVqecaHDc6AOUdXCeJt7+U4ZqAJml4dlGV+X9Ixm0ra/H0xTc+7GMzOUvYnuyAD5XAK+WJZ67lSmbg==","signatures":[{"sig":"MEQCIDRxpSa56A98o4MBiYOre0pXyd1oQDFjzXSR6N/IGUb2AiAbnbRaOzVNNicyFGkfa8CO8TTPkP8PQ6Bhs/m/5BjDQA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":394855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfQtaCRA9TVsSAnZWagAAIq8QAJO0YnCH2jjQtKV8GdDb\nAvY6WKdAVe2zVuJ4hpzvIYB24WF2PGA5VZl5HtX/+wxpeaw8fskHUFSBkeEx\nOOx2EANJ2vmfLLHlbWnsZ0X4KvnbZcdKw+BKGhTIhPE9TV7DN/t1KrVrJD//\nUc5jfQl2BpmMRR6SDRFochFdOBRoDn0E4Hl5DlBWZW5Gw6ft4uF2b+XkjG8H\ngIugAXSX6RHw384WQLZgcpn9K42kcjUzFKhznpqxRym8pRrejZZ+SYrA7Cov\nvlOPEZaaD0Si/vXFgxL1Z2hMTHb06nnMbRy55VCpw3kE9os2heoJ3TxGG6Nv\nforDRIPcgXxGURopxOq5tfGqCTvPfGY7cSEJ0vP0aNNQoshl0mzkwAv6dGLz\nLXCd4rOlQ4PThO60qbwsYmlTQeWgSFLRbmsmvZvvUmSbthoauIQrzqEG488i\nHkMY8otTlsiG6A/gZfd9DbdJuoQjjO4Ccp0Bc1zk3rTrzcDGleyOosInm5QJ\nSvd7SZbtqIbj52sKPzO4FfOqrLD+uezKqfIPeWcj6F1nkGSWQHOc1i1Re7wG\nWfWa+a7/3sL4kfmHEPk8hEHkIPgDVJY4P/G9IYxt6En+vSlPdX6QzUS4V2M8\njP6wOOkKxEbKySD1vJygEWXX++McyTbou1kHQp2yA+YvQhKdCQfGrY2War7E\n/zbi\r\n=51Zj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"6e22e3cf181a3f018413362d38160fe3c79883f0","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.135.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.6","eslint":"5.15.0","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.7-pre.1_1551698777489_0.5815941181549487","host":"s3://npm-registry-packages"}},"0.13.7-pre.2":{"name":"@adobe/helix-cli","version":"0.13.7-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.7-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a906ae7e08d17661b060f8abbcff14a3c1450aea","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.7-pre.2.tgz","fileCount":73,"integrity":"sha512-7EdgGxdnjMvMi2vPSdVB3f751KH4aK9p+hxc7fudM/ZzJnyupK+1ZcVSo9dwrFyFtHY7stIVuSn748ztdiE25A==","signatures":[{"sig":"MEUCIHHV3WUiJA8tb8Viws4w0P2gZ0oh697ElB2v5Jtg3Da0AiEAi348S9tFyQvKH+AMkoqQoLOx+mWAGL8OM8T4Ytef7dI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":394855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfjdyCRA9TVsSAnZWagAAoN0P/1LdZQFIxUdmqkQ6Ssff\nf1NmtjF6wxmhTaijlIXKnGNDmFx82NUKBx7trOr7zmASRoa00+jQiOomDKTp\nSd3wGhTVL33/jzxVMCtSTAOXeBD5rMEhUF1zPTF9OLSU79b9wuMHyyVb8eji\n2FmixWN0lO8LRmBzXRaWHOQwTz5VHzqDjWLrGgdt/ivr7bf57jtSbnft9y6a\nJLh/iUiYFLjaLYExHzKaapMshbzqnodeNCINwXFkl3bGVZcfyUgXQdPkEv2x\n56gKPknR6fNmxODHVrMOvrypPnovG+RCDclxw0aT9fiobOFn9RJFwyFIN36n\nbGKHrx6XOFuqjXP7EfbnDvhfxe/1Vv0fRCkBq8BskevM9OHKUTKbBiJWfGRk\nAKmnQyMvGK67LDA/icu2HdYLyE/BzGUqYEmQtugu1+kKzm02Ki7xqtjmxDhM\nA2OEIh2as1z7ud8/UlFne+JjdYMItbVPvtq1YKF4LKUH25X/kyfH9mwel/1O\n+icCxT9hNI/HbnlTzRqO1hY4EIZnexRTpIrIKQ4iQqCsZJmr/u1vt2hHLTHo\nzafSzih6ZPzLYCqIby+Fu3W3l76aKXQjhAmxU4s4flplUjnGYGlflIjxzLDN\n+u9+60I91Ms55YMOavxi3sRBWucXEjljipNetwvHqf2uhfeWwzKCMcIL0gGY\nL011\r\n=onc5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"577cb4eb5d6d99b36c2c1961a3eef545945d0aa4","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.135.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.6","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.7-pre.2_1551775601197_0.42842941188815775","host":"s3://npm-registry-packages"}},"0.13.7-pre.3":{"name":"@adobe/helix-cli","version":"0.13.7-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.7-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4d97a38c7839726c9339e2cf677f039336659456","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.7-pre.3.tgz","fileCount":73,"integrity":"sha512-X0oYNaO5CMVRpaaLsiMXFUq+u2KFgTWYG0KkszbvauMV3Dl6GoULwFmFEmMmjAVimedIGPYaji346L5PEm79QA==","signatures":[{"sig":"MEYCIQD6c0V8ebS1hOl8guP/kLbUeyT4MHaYP7soL8l0dkdBTQIhANaUtvwep/pe8QSRu1Fro7QJbuXcdEj/Zq6BksQqHYdt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":394855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfkpDCRA9TVsSAnZWagAAiEIP/jNNvnGzRNjf83vwTtjk\nWtMZcWDkmxpCgbrKuvP5ZYF/pHHpTj/lX0HqMPdmF1UZjPEycFDnBkxaJA3W\nS0PHuxIRuJOMinw1vkmpDZw30ZRKdD50zN67TUsruPh6SCe3yKFUfHDfuH5o\nmd1VcPlW/NOP2xKo+A5vr7czY+lNIjtCKTvrfQF9xZkoh7wE8IgP8lMMGCZw\n48inX5ZtHIqIZg+b80s7CV9pTxQo2JLRdfhtoxFzopBoyA+LyOVgRqWrfg5m\nPNo5aLfUSGvJgThlRQ6aI/Xyf8qd0mgxXLc/k6Ko91ok6w3zqMCZdtQdPVvm\n/7qsGrZSpbZM22yEVwu/8YxNSHJq7l6m/tYkc0Pq7oBZ4q9X9Ff5LTjspkVp\nOuwhdpRZuGy55Dp0KD/E1TFhXACIRSFbSUPPPC3c9RJTuKeig3TX8a13xtNJ\nYkTxKZv+47CPgp/Ax/qfooLACx2E2rxxGIRekp+yAh81oUrQ1R9v0DQ52d/Y\nsWg8iRIYunu5c/Pet7Wy1ObTAuGh0KrNRdmUNA86ueKxVn9Ojhbuxjm3kZmT\nUh7BuzlCgZ/r6uH0l4NX2ihxZo8jzqdA1gzkp/puNyd19YegPXt4QMZIIuKC\n6tbA6VPbgtK9n3PpH2itGIKA+VoK2cHmLEnUckU9yD36IPh//1i6/OMWiEhT\nwqzO\r\n=igm/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"699f5aab6baff77871d4dad4882b50b45a175b56","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.135.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.6.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.7-pre.3_1551780418711_0.8204599199473808","host":"s3://npm-registry-packages"}},"0.13.7-pre.4":{"name":"@adobe/helix-cli","version":"0.13.7-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.7-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"18890438f39cdb61c64a11a306ea703dbb30f055","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.7-pre.4.tgz","fileCount":73,"integrity":"sha512-QMlOofd6lVMKZvpWjK2vDbvpXs1NlFAKOQ9PG3cpa+yEHucPaVWmT+s8q3DIn7qzRLsfSVY1AKgtlM6WTJ6fQg==","signatures":[{"sig":"MEQCIBynplHQDeHmUVMHcjptLAXZiFUr6tuUe+Rv+Rka3IcEAiBk2s4BYxEr4YALPOKxYxukWoFr5Lejm8YEdPNZyww9AQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":394855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfpNHCRA9TVsSAnZWagAAUFAP/1iV5RwFNPkWFeKF/agE\nwtIoxlf8RRwyMl/E+kGtTa0CTHbyLLSBPacSodk98hEYidnviDAYVJ3Z5xYf\n+8om49t6cSecu/6C5mnw/j5edHP0lAVSdveXIf6eaQ4v/S8CiBwAtQWoC929\nBw6gniWLVm9NOZrl/Gx86gQiwpcxmYU+rJQdW8i1iA8SFHwR0y5W/JQaBmur\nb4GuxAzYSMFvbSJJDtmCZCSOOtv3xjBrC3GIdThqKLT7sz+rsReJImsgv+Mf\nFhbSlfJGcimmg96pKP6Y0SbiK429OKPAsfEfuUG3P4tgY5chZgvivZC13i8e\n4X3FLZxi2iFV4q8sFYx/RKqsr64EFXRLDtMvvnbiKqL6i23lp91Zx8mDEf+q\nQ5X/pYxvaP8gahd5CKOvIYi5aqOy69kNHrL//YRGUwaO7beHfzGIGBC55n9g\nJkK9A+sxo558I2jZOp4blmYe38JSlGZ7zjS3+GXi7kShC9kQySbN89iQ5+t/\n/I1IwHYIQOh2etgWzeyl/qJ8d/rF8TlxDHrpdv5cGJYR4ey1uJjB8vkfY95d\nYb4+EmNIJRylnE63OpY4RsgqGalcE8mOzh0mxp6IM3XXggYJAE107KHj9lMh\nJJfUzgdi/0Q8XlURMEvMJhkKZwsYAlSCAvATzf5M0Eb0vJXNFtuoHD9S6/L3\nYoMX\r\n=/9Bu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"6e69d838204355ef8866c9bb5306517c41dcdec9","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.135.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.7.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.7-pre.4_1551799110705_0.610753775088396","host":"s3://npm-registry-packages"}},"0.13.7":{"name":"@adobe/helix-cli","version":"0.13.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3b24758ce181898169c7d62c8076ee6a29146e08","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.7.tgz","fileCount":73,"integrity":"sha512-kXWhLl6HWLj801s+78vulM7v8HwWPO/CiPaGlq/ykO46EZpaWu/3SZUPkmnfnNZPPfVR6lyngkfbaEnY81SMXQ==","signatures":[{"sig":"MEUCIQCa8kA9VcZEiINQkA3D+ehHlihIlh0eqegR3yLL+EB1agIgYcFr4xMWZRVdkD7nwbNwU+gldliUtitpgEc5Ufi0qos=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfsLqCRA9TVsSAnZWagAAmxkP/jXjAoFAPp2rp1m7Etwn\nwqS0/L4LF1a3+pWIhQXQ1qf+4YMqiXRBnFWfy/TAPhupn/+86WJvwiMcOBcQ\nQPt0UQzl/z1f2PuG1vFNHEw5d9wJNDJ+AW/pLHBZDKzTjprwdI6SIIVTJ7d5\nOJPtQ30Rb6In68t6fb+SBMV3ZLVhORkxzZvcwCqEeUFkGwDRNh+hEZdnzd7B\nXitM4naOjVq6BGDvz9jiQ/qdehl3U0pHeZA/YeUo/CYGkqgTCjhwzQFsmpbh\nFJ9++1jRPY/d55hn58RQY4l9Lt5puwog5SvmQN6zNw1eaFfdtETM8mz49SOJ\nSbI4tSr2j5ojQa5C8/380P9BwWJ2l60zd6myKWcniXrJGjc79ve/KpxFG9dH\nZN6RVe5hvd8zpn20XgyGSg5Nqv8sVBtAOrhHgkdbVBE1LnhFvLn+CHhcjZ7a\nBlAlVoB4UIggMlkX2NFGzjhCKsdSCvyo0KILSEz/LgJ8jDRvT0IM7sGh05cq\n/sGxMI2ZO+c1UKjU1hgPp0HXA4fc/QNYL1Az2XzuV38IyV911etzBiXMoo96\nGgQ7IdPDDw0CXxpnO4pcOPBdUOLWNwjM8Vv9F18xgAFCsrv84bq/59JZ1/IM\nRLADG+JKRh28GTetfO0G/tilgMimBD9bqERte12UTofgWTbuf0acelOcGVU9\neXri\r\n=CQFV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"dbd4acb9b6dcede2065fd31e56cfffb5563f5db1","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.7.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.7_1551811305726_0.03358723075297143","host":"s3://npm-registry-packages"}},"0.13.8-pre.0":{"name":"@adobe/helix-cli","version":"0.13.8-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.8-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"76c3f52c3c1b9121a82fc8376f209017c156a4fb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.8-pre.0.tgz","fileCount":73,"integrity":"sha512-HhzZEhfJ8pZeri/C+sI9j9cW53ZWPrI4JhzbM3GDG1XTW6oPDodPVUArZcaEXeFUeavi61C/iJ0m0oJM0ykKFQ==","signatures":[{"sig":"MEUCIFuEMBKeGTrGTB1JZX2k4f+03JeObKC69/hBlAmIyddfAiEA1bRBT+5Q8HWJYQHzh8rlooWTgHzW8QF54RfKvi1AzYU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395340,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfsPPCRA9TVsSAnZWagAAY8kP/jhiDqHmuW+ohtwpcU/i\nGBdKFSYu/JFmtc5KgWftukq2BysIL7vuVE0yayMV2Amhhs6YTSR/xNRCEavN\nZ6V+r5FSOHO5QyFuurbh6qx+zyLyNBnnHJyWxuPLFU8+2BiX90l2ay5cMI4O\nDecw+C7lspcWaxTrHZds+wvOVFD3W/FnzjxzIbCXciqAZI4MWUmKDAO7MpRp\nFrgqoWKQnbSQERlnebnjh6ImJbIw8MUEMCwACI0FqtRlxKKQAEZ3NsxiRqzZ\nrPMHyzq+F8/p1byD6Q4q8p8Fa0oBCOk5R1EcAE6uarztSfqE05wNlbMU+j3X\nGBaxhInxc4SKkjJj2I+mXHF0CrrD59/vpAfRSptqHxRRl73+Rpha912B+3eG\nqOhfI6ViMcf+GUZZAjp8XY7waBQpe7MzbYgKOD5ulOC0SAX7F9esEv6C/oDr\nzwycaiB/EcN6HzTqR5EeS6Cb4gbcD4dqvezmlpDO8j1Rm5oKNnW86czMX4dQ\nmLpmTLjZ217eWAgIxL7dio85JafFvPgSy0vhTv7XANPK2U+vWVyZggI6EqU2\n7y0TkwDkhiorMfjIZvZ8+5mlQyaT0OGFdqHPZC2rzNYbr2m3uxuzFNonNZzi\nmm1wbk4tHdw76on2lqze5ZIPvgQYqguClh4R4JiJlcLN2IJIoinHYFfihIw8\n4Fzx\r\n=9Fat\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"6b5ecc011665a79bb0359c5eb19facad302ca2e3","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.7.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.8-pre.0_1551811534655_0.8614036292380076","host":"s3://npm-registry-packages"}},"0.13.8-pre.1":{"name":"@adobe/helix-cli","version":"0.13.8-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.8-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8d42dad138cf096e582579512fdd4c23d2ba70e3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.8-pre.1.tgz","fileCount":73,"integrity":"sha512-37Y44EhpKf/g+t8hb04SeMPMfCNMneP712PRM7btYnBs3nsZzBzLW0DOo2SN3bvp5nVOJrtE4niMXvLKZv9fGw==","signatures":[{"sig":"MEQCICe4YZap8r85Ipek3QBCLN57MS5SlZnme8s92sLwgKUJAiAOTukAz/QbGIXppn/S+c5kjAPR6HuaL0GfYrqw3Zsr0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395525,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfsiUCRA9TVsSAnZWagAA9eUP/30FF/CXgQix8fSv59Mj\n6cuYkSFUJ3nKzzyIqVsN4fYbkesORWZbf8oPN+qjllq2qI9Mfx2AHCE4isu2\nbjMPN8/QozT4lOlG0aRGXoDlNQg/mlXH+xoaYsQxp9YJqURc1ZlKVCEMs7X8\nOf9ek6XZTTAk7Cm2Q15n80wx9Xxh8LUnUOsr88wGiMoDYn8A6/kjkT+tufBL\nC8ra5BCDNNrvvPdxtPjKpmyGA6U7jfalbyaxI29U80ggS/8zi/h8kNhQtFmc\n8qdLCKXZXYkz1fT1lNraw6tU+VyETKx5pBG4y7ilSVJLoUYV2pqZTru3InNL\neqw0kXtmDQU+rZhFQtV22ZZf+hycZkiL+NWujs74vL31FnL04Oziqu3vXHGy\nsXezq4ezotmFcnAcT1eZlDdta6OVRrgbHbW3I+f3FreMK2zUqsXQbwrREyQ7\ndmHhSup/8rBw82+Hdm12f01SCnuBZ7Yirt/YK9z4fYXWj2ggWghpRe7fNbi0\nJJPjOkgME+PwnlhP88QkrMc13KQLFT7JJGRXh88c1hKdcMBr7G6jzt7ea0Pr\n5KmpghjCWVU0iqtLiGaA0X+IR0QkR7iEoLFTWhqmXlzzWQJVImXNycXrG2wD\nwEdWPzVAXzvaagKZ+QIHnPQuVb84qawl6Stt2y8hQi742PwZuExFKSrVrVFx\nW/HC\r\n=ms8w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"e7f6b39c7b0646f8af78d09546242050293f4694","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.7.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.8-pre.1_1551812748567_0.49658216365143804","host":"s3://npm-registry-packages"}},"0.13.8-pre.2":{"name":"@adobe/helix-cli","version":"0.13.8-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.8-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"79be4471e4af024ca077d566326c783b648c3030","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.8-pre.2.tgz","fileCount":73,"integrity":"sha512-KRbSnhInB8KqWVr8xXd6NPqCgLoovf8XbeyFW6JB9cmrYFMZwU60tfhqPuMTV9h8N0vgxkkYYJp2hXjc+nYXog==","signatures":[{"sig":"MEYCIQDWFVRehYbWljrkthjDwrJBpWZpaFuqSfCBsk/S98AaXwIhAI3ig52CcBlx+nYn3MyuhMIeTM/dZjK6hXLviDcxaT++","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfspeCRA9TVsSAnZWagAAXbUQAJ+w00rtNCf+9apMfgdn\nLZfxrhhzaZRN0Bptg57Q3NvQcmZpDwim8SkZVQlvvcL3vZsgk1IQD6Re4mEu\nhZO80MRADByzVYpkyaCkjx9XIPUR39u2CT6unDO/tip7KzERS9XDA5iEXsLE\nIOKuIYiRwq6NNl5j7Yl4rA4kdotwFopWn9CgXYmr/0ECuBhDggDkh/KYT/JS\n3nEKC6kEn1LOZqSzZaWuozE5TO3PBxZJNHho+w2qLNBD/sn4ixjj3rW3JX59\n7S+P9CLIjDLJbzCEbfqFrz5g3gSKOagJx0MTPecgA9iZElz26T2F6hWPAgLU\neDI9zjPWoobxzB5J5RQcCSIJpEWa2T3ePFrGo0DOjWdoq71tcolxo0gaa6+n\ntDUW0pNYXFXzwP1Qtm7yEa2ialz+YTM5ZK5W8jAW+8Jb2nHqoehGNu0pJjNo\nZcE53rL6Tu8qlpTkUFI618j25MuqOVuPMXG697YXJ5vVjxNZ0Tjvrw3IU0Aa\nuDvGA97qbFctiubW94Ky5ZlihQesNkdywrTF1OAKiNLXIlKmww2BEn9AQA94\nL0mgMQSO9nvP9kC8Zf0FDYAyUUDn5BcKbYvo283VJJPxHd2+nnWER/TTISUp\nypMtiATghr6gLDcOkuPw6Nah03WBrZbpBOjA12SplY1IFnWVkZPMATYMFeQo\nyZUi\r\n=HjpI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"ed4cd0ddb7d656ac90fe6ac814a495cebfc890af","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.1","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.7.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.8-pre.2_1551813213922_0.7058532931976167","host":"s3://npm-registry-packages"}},"0.13.8-pre.3":{"name":"@adobe/helix-cli","version":"0.13.8-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.8-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c04c96ed9fe7074dd3f627593f6b41affd021aaf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.8-pre.3.tgz","fileCount":73,"integrity":"sha512-t2WplVPNb4gnxNT4+QlXNGDFKA2yGjCGLLYdVQq8nho2F4oCeexM9VYPBRZ6yaU+XbgUNa2e0Fo+k881ejc1mA==","signatures":[{"sig":"MEYCIQCrX0VuCCuNnw6q8lBYmpMArPNsp3btxOo2LlqOuWbfwwIhALvHroiLA1xVf/mcCKou0VLX10J/5dFtNiOB1HlGqGFI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcf4WvCRA9TVsSAnZWagAA8mUQAIJnEOw1hFrRdSHP5jqD\nlNeTnXv0okoR6ifJWAXek/phyvoqx4eZFmH+YbA+rjFjvl4zqYN6a//kUtYk\nf8VEF2qmx85Z0D0SIzC9EeRaYHZjQmA4GdVuherRj/mRcCuA2N1cn80PPXdZ\nxwTzo0m/JTSs7hNjPnhvabNlMGSEG1EQZMxW3M+u+O5a3jOTYoLD8bzz7cXY\nXkHV5ybRHT2eiKssD4BSSsW42HE3DlVv5s/0z5hSFUnWVjsKK8CR4ow8uHyF\nPA9wR0+H3zt0W3gKzdXBzlGMdi7B6ciVEOVp9ljnkLRlQKVoa2Rwa3Ui19wX\nuSv3Qd3cf7rdUDCxwY7BT7rBeK0zIwWzrxKFgsNAe5VVej9ahminCBdCbCZt\nG0O0yrv162PeM+Fhl/KMC+WVfMv2hK4LLm9AGIEjgNSWzL4bPnuD9pXTM6hn\n7pOvES2uWiY2N1SI3cD23z9yb3tfey7cbBvSiTFgUsI8umaoouEWDr9Aq1Kw\nZKornVtq/KMjsvlU9i2r/65PvLLf7OV+iIreofMJEy5XnLCnpy82Oy7mxFos\nCiX+DSVNf0qEHVlGg/bl4UrJ3K4KtoW6XxS05A9u2bP6BM7I66NqaB/wTHBk\nKaft6ptwc41Y3JKBIGzwRoZV+J7F/LtZcfkE00JYc/zR8VwHuHa8X9HYPCsa\n6CfS\r\n=qMz5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"4dfd2a9fd9231f0a651a9a639ec286de867a0408","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.7.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.8-pre.3_1551861166307_0.1842901738786893","host":"s3://npm-registry-packages"}},"0.13.8-pre.4":{"name":"@adobe/helix-cli","version":"0.13.8-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.8-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0001718cf9335dda23c346b7596e1b60e9f81539","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.8-pre.4.tgz","fileCount":73,"integrity":"sha512-zTFgwcCj9js/B0iahzYlzNQItnKzoUguQlR4gv6InH4AbH2Dm9Wxe0oPDGrtAMiaHrsjLEO50C6cANUi2ERIYQ==","signatures":[{"sig":"MEYCIQCkjSmXskyCt5sPoz8sXwuIWgXuSt59rR1cIXwQUBo0wAIhAKU+r4ePV/X/gkS+9gyE9WhMM3cG5or4gdzGvOBbharf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgNELCRA9TVsSAnZWagAAqL8P/i2hUkkaB3HcWGbyiYvX\n/4dA9vGw7ETugZvJ2pY1gmWHM8iU9DLeYwS1WPmDY/IKih/EtJQeLK5ljorV\nX692rJePFUjbNxbYrOMEFGMdK/Fla83hwmhAgRBktN3HIVLQcksL+r10xbIv\nMWVM7vGP6ri2w/qZ/k8gSYtDJxz8rqXQYWE1YZ+Bm9ogHZVCaHV2QAUMMRnv\nwfU7jDK4nbxJ2TskAyobaomFTV7EzUc+rlQ83whkrJ28yk47dBk+u2EVb3tG\nFT7egCrL48F5HGCnWbEGeDQ7tMyZq+RK1EuMFMU3xqgzyiV487I8G2Q/ArCE\nNmSTeWDfn79uDlTVTRTufJq0WGoWXgOAl/6f588BwNeZD6Urp2ECl/eyTW8V\ntmU5d3yvrSn8I7dctJWBlfUQwicS8yvHpjGrnWxpue9G2KaqnOCm8mnb7izK\n+ZA1njXENkSrbUMEZu1Y/tZf4DOHRtT0HKF/zV40+DtDKSGlaV3jkAzUvsYQ\nb1nOZ9587qapOIyoawA62SBE2ZNQO99UL1NtvxUOtsk7eE++DpGhG8S5a9ht\nzA9Gn2srxdQa3fkiQdMJL5HyX7BUrard8vBVjREKrvSEmo2w769Ahl8teW8U\nYdFYjdlmPU9OyGDZXjE0tmxhqroaK1mqcbrTKsjr6Mh4c4DUj2VNQG//Ndu2\naCot\r\n=QJWh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"a43ee94ef347c232a797acb7be4014da95a93bd7","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.8.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.8-pre.4_1551945995261_0.08252167131925514","host":"s3://npm-registry-packages"}},"0.13.8-pre.5":{"name":"@adobe/helix-cli","version":"0.13.8-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.8-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7504e895e00a4c6c0a2bd35e1cde5f539e09c978","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.8-pre.5.tgz","fileCount":73,"integrity":"sha512-lSvq3K4YEtgekJBUvWJv3wkc5gTDPJMvtvym3W6Wp12fIJ5U8JL3OelUG3DmXvLXJshERpg+IbcBvP0a650I4Q==","signatures":[{"sig":"MEYCIQCqc5Qiix0WgN1AiGdH4oaITOYWQpWI2MnnmwXYVYl3KgIhAOA1VIMLHjBShB1cwNWELKgmA0ei8eKf3/NfLA+tj8oO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgSTcCRA9TVsSAnZWagAAH84P/Rcs3jK0AupjE/0VSSGg\nSBTDcbeSxkXUwQS+q1ASml5ytaQWiafYh0t6pQJ9kVNIo8APdePSW5Yx0p6g\n2/rxY0U1dSCRgLl7ZMTrsaTV0SwsSvn9GoGvb9LhWxQtl22bgbTTL01bL2KE\nwQ/QdEcQby9HMMvfDjSbcV1gGQsJQIUh7yjlQ9pVZeHkbZB6RIuEBKNQCzGH\nVUf2uxWjBhdcMDGeJBkP29ELaffKm47WaLKtOrR3BgjmHO2FohoV21TIyXLS\nYtVyzmJAozIiKnGt7shkpOCm3RVOeIujgOhIqrkRqqSADovVDJYdLy+WOMI1\neduh1XM/XkcoU6uWHCUnOkVF5Li9wK3aU35vxOeLmqlIFKEXCh7u40mZN39C\nl8xDn4bzJOpHI7TZacf4eQoljoFXI0iO1RXUJI9ynh7WCu4Ji6od2nUyDS8l\nba9H1Fm/ADE7OVBGbLbeByQ9/4y7v1JEr07AbRTmhpl9WVJtA/O8aY/+KJiC\nkZT79h1zM9PZ1COHa2RcO2W4cimJ60ZhPX8tiYrpUrNT66/jDt0Q/yry0ncb\nd0B0uJwKuCK8URgrFOgxG3KcGjblVCt12uKo49Wn73e7CM5HH2DBpEnz9qqd\no+k7DmXoJHbhkMu3v6dZbhOuHv8N2lb8uWqXpEkrGe7GF+LPDq73s9SXXNDC\nmiNu\r\n=X5Ft\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"26734c34427ea010b47c98bf3355dbe0f19616ce","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.8.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.8-pre.5_1551967451292_0.48151666276141314","host":"s3://npm-registry-packages"}},"0.13.8-pre.6":{"name":"@adobe/helix-cli","version":"0.13.8-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.8-pre.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6477efe2352dfe69379241a53cf7c03145eaf6a9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.8-pre.6.tgz","fileCount":73,"integrity":"sha512-069OE1KCnwvZJEu2kepHrVjIw8iImOS32GjPr4ay/IRFoemoiP3qb8p9HhhN+hibFsSxR5IdniP4iW2lJZaz1g==","signatures":[{"sig":"MEYCIQCvb/t8yOx7BAWdDAtOQqGitJylLtQ+MB12L8zmeZB+7wIhANIDB3PzDZBfp4LJs+epLGtPaDTQH2UQcwm6pQH8NjW+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgUXDCRA9TVsSAnZWagAAgWcP/Rd21zahaMJmC50O3Cva\no87xUqANPGPoEt58EzuD0D2r1pGynga5HpP7EBVRPIMsc7F4M9t4qT949J+h\nLyySljsiNlQgujcAiHi816XfDfOG2ryX86D+QUx/rBOEO++0ml8LyOZWtXvD\nsRCbGmsvGjucJh0OwgP6mOiABG06go9NPBW2i6h0ryf9X6wyfiZp5+/RZpGK\nKO7PRmYeJq0qoXz5WCJVW3N7vF52QnSIoeHlGNoMV4ZKzvpS4dZwkUSjHmiM\n8PT2wKeh5uiAO2OrYEedS+RVuhBRNfI+caEfgsB/tua9/9rluZmZLM6L/LlW\n5YAA3Hn7t3vUh7KzO6HBHcMm4PFSALn1HxQ4+SBWXpWeS6liGPINVL5TLbUX\nE1pR3kNoUh3tlBCy2jMCrCgFKsmil8XAzrpIU8sWZL4oKXJsQT9uVrsF3hwG\nAieqO/G+1Yxt40wQS0Yjo/D1Jq8UbS3FycWYv+szYSdeUabfEYNqIXsuSP5d\nn9gJnnC8NQQoxUkZl7tzGGWoi+pefuGZ6RpKUQKfDAxMx8+itucSZY9JzjL4\nFhL+7C5Td28SvkLPZrMH/XhDd+/XH+syG6V30jFSuKkXmNCfMdN7fY00Gbul\n1NT3hC3UWvHRLYJz9AF+8XHr+P93W7tWnqY07LWPmfHlKrFYtHgzIdsph+G5\nnpaM\r\n=WIkf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"6f6686a5c0b248d44a2e24995c7545308452da83","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.8.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"0.11.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.8-pre.6_1551975874834_0.7771846376437057","host":"s3://npm-registry-packages"}},"0.13.8-pre.7":{"name":"@adobe/helix-cli","version":"0.13.8-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.8-pre.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"dde955b48c60f407042f53ae5f59fc19ca98466d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.8-pre.7.tgz","fileCount":73,"integrity":"sha512-TItagy934F0lSAKeoPUYR5qpqHCEkYtqFtJOBiGlCxBYDW1S30PwxmT1ByS8IW34+O9suT0klo7dkvBEB2UALQ==","signatures":[{"sig":"MEQCIFQmw/DEPdxiDi4hlQuW2JHK0d/62nvnXXfRUHo3W1cCAiBZsSfqTBy3dQOupKEvx9bTwBIQY3WLflu2Z8WhVqhEBQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgnXCCRA9TVsSAnZWagAAEo4P/jckpzIvcdDGvBKUcLsd\nVQ/81T8O5RDeSxtvukd1USDzrd8gtr83BY5D9ktGAZq6r6RnuNhsmgoRWOBq\nKeUPtp+uLGQH9UK79b5JyYR5AJNQW/AvVn2ztnx2EGXKVPoYacYKzV+6GgSL\nRGHqnYhZXn9N/bsk+e6qCdQE/kXx2dRA4caTWMmYR7FJpbKy+BorfmxXwSLE\nMPd8Y9cGzwwLeQgU8gMTUrRPzZjPKVt3qYpSaW+Af+u6QMv+dN6ROVlGkNk2\nneSbFy4b5Q4tbVJUONIOU8u8Ex7vGKqrapzzhktZ7VqUsvcUCyqibvme0faD\nf1UC7lafb75H35QVd1JofqlsYBeE0ZYLbtSNbkAH4sL6X9D2k5pxUZ/pBnC5\nXgqXuCUnmS34qUNXhDnySKyrM1aqXe1BPsmKMW9ayZPNBXFQy9suq9GUdyzY\nIhN5xjFHqdT2jv06mGaPeI6q3i9QPxfjyQHELQz17cRSafXYZzfkT1D8l8Ky\nvr68J5RQFXFSsJhQNdMuPiDfncJNfgipfdE8x5vIQYOrZ9yNc3XtcR1w1f8e\n9mcU7lT1kBjxPSMZcsXOF7rnsly3wMtMeW+dIiCvFKTblUZatnzammTXrbpF\nD6lVNlGdU4uy6vHuUlQM+ZJjOUNMBBckoTjaxa4y0O8uFRjcYjKD706jkmOP\nA4xj\r\n=sPeZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"a652ba4c82f2e6c7859da62e6716517fecb39845","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.8.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.0","@adobe/helix-simulator":"2.10.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.8-pre.7_1552053697876_0.062491177645842555","host":"s3://npm-registry-packages"}},"0.13.8":{"name":"@adobe/helix-cli","version":"0.13.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.8","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ac9c11b6e6bc419f49539c88b63ea3ca5ee303cd","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.8.tgz","fileCount":73,"integrity":"sha512-5tOAtZ1qRWXPq4pvjGnDbNo8hBe1C1fBVKrNOQTHL/1GhLpHL1jqFHe0JOBB9Qd8uaXaYKbbpmuoskiFdTAfaw==","signatures":[{"sig":"MEUCIEGnVUwnrrnpKM/Sq/i7iczNKJBh2GmWpaTKUbQCeqyOAiEA5CHm+6sjTcZX2i71QiKkr4tdmLyz4dO/99PYILqQ8NM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgq9ICRA9TVsSAnZWagAAd+8P/1QM1rGRv860fRUSg7bK\nyuQeQzGmB13jgsjaumMFSGG/fPgQLgmtuPtdG8mp/20XNXwnsndDuKZwmocN\nFtowyzapKoZHcGXuRjkeC9qMywv8+GH929YePKE5dQnr1375bnQ9rzFv4AI5\nrFidipswyn+F74WBfIY+1b02XiLoDFaHwq9LS9TN8k0/H+10ousIJYjHvUr+\nT5JKhIFVmJrpVbFGqaGKNuy6MLMGslcUD9S+hITJ3gU/oORfFoZL4r65IhmP\nhT1jVAqrU0vb4Acm/0x1ccR5lXGyMBn8KX51tpojzTVjyS/L4yEql7YI1B7L\ne/rY6CN3hZK7HCWkU2iPa0MG2iYjUGOWOjutt0BwVYLJLKRqOO8LEOt42ppq\n9WJzikDIEAVzH6peZ8t+D8CElqhNkOwICf+aLs4eVZ07dQx8Vnqve+uTMPQQ\n5sQvmx7uMLFSE/Zhq5NFR5vAImGrSGGodxU8yH8eLYWe7qSy6HC7Nc1oV9wn\nSClXwyOGPpmOMOrlE8ob4uJkqkOK0FxgJTV7t7KgZyb2jA6PLw9YtVtyVjNR\n+6LVtE5OcptJIjXPoj4mYXwTvKrOEAf0Gl/fzj7GlyxmFjqgdlOsqA33JGbP\nhhqlzeZjV4euF5no7j3xptU5+PhR2dB57U/mZ5cKkCqbCg3bvwZG1LI5wTTV\niZWk\r\n=TTKv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"f090c7059605172983b7538e6758b78690095575","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.8.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.0","@adobe/helix-simulator":"2.10.5","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.8_1552068423650_0.5283132872035781","host":"s3://npm-registry-packages"}},"0.13.9-pre.0":{"name":"@adobe/helix-cli","version":"0.13.9-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"df6031695f999b7008a4f5523d46e2b8b62bda4f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.0.tgz","fileCount":73,"integrity":"sha512-0Osr1lzQ61r5CQYWuOoFxdaOvGGLQlaesLpG22xWTqXXl/v90DOTkGDlG4hpcXIt6Ss0S1otUwOEU9jFsGugaw==","signatures":[{"sig":"MEYCIQDFn8PAoWwZKn3kLPIE9xw/m7vKwP+P5PcC1gbfkTv3TAIhALRSBI/Kes170T9wD1y43V1NQQVvD48jztV+CFIpRYLJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgrAMCRA9TVsSAnZWagAAmfAP/iS58soKCmw9BcOXZr4v\nKDKoeDN2ufuWiUSOLUtNH6TdLwru8KaXXpUEjCeiZqKQGKXYa1nRsOTZAlJE\njTLz3lIIL4uPPJdQqLVMBDGDfycU4i5DiAAwXTZeCoaRhBcxrdC9Zn7F4pa+\n8e57PyCcwaH1Fv5Q8djOeHxNYtddzCdR2eVxM+JJ8CwlRekoHfF+O/f+SBkH\nN0VJy3JSgaZS4LFnVo2tHDsBITeFUNeGd7WdOHDw8A78YfzuRqzwLUNeh4VC\nyVxbADXZXHkXDvb0xfC9wkpQPtMF68yK+gYnHzLzXhJkKNmoXHBQdOQ63TbP\n6BtmOe9l2nmhrjmmjv87ji+r6LToOaVNLWugvxs65hb2E+e9WU8jMJhQNZvr\nm4aKfIaFTHLeY8Sx8grZSS1+wRZIAPZGsdrYol31giyyc/TXR5eunRSU7G4+\nOjseP8y8TBWtB48QW+4+SYI1oWUxmMcxcej77ZoRGVL6FDDjPg17j6QnOcJv\nQw/e9uTeu76Ky08BqJ5LXRy3OijPSoIDevPxgAvtBNt7ngdk8NdRFg7fe89z\nHXaSvNf1sCwWXapIcs4BTnnfnEA38eZStm9TKnrye+Hq3P6kk9kqzdsO+mpU\nl2FkkX9iRBn2K3AEryQUTBvUqrfmHyPuYmcwcSGn4cYz0wdgKgm5VEdLrtac\n85BX\r\n=B+ix\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"dd83fdd8eeae3201313c65e10681cbf3afd1774d","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.8.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.0","@adobe/helix-simulator":"2.10.5","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.0_1552068619494_0.30408617750090006","host":"s3://npm-registry-packages"}},"0.13.9-pre.1":{"name":"@adobe/helix-cli","version":"0.13.9-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3b7da4f9614f598716ec098fbdd95c770a9414fa","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.1.tgz","fileCount":73,"integrity":"sha512-QwQ5E9e0vK+ZbggsMXQMrZISEQMgikvE1mhwU2I9lap68qw4TUwOMcCUNzEhkkIfRWvk50zicfwcBcP3sMaL0g==","signatures":[{"sig":"MEUCIQDMONGUCuzA0u+utFFdCu4/DR1h8GGCkHH0vpr5BBJfcAIgYBoZ4cLvyEKg3lKSo6OceFQMrflav3Cz5eBoLPTqK4E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchUPJCRA9TVsSAnZWagAAKCUP/3MERTznfbunir/kvPZX\nLugid/e9graV6kc8luzVa5O0VRVIB+GKwCZFUiVXfbdC5K03bcIhc52vrfmP\nVGruWbxA+XHNeeuHdF27sGvg5Ht/aF+4v9s7mMZO2zpuPo6fNHD3+XGM7idq\nTrMtv0t42O9RbQoN0PMYL57xEuczHGnvCz8RXY0TTF4Mz013yXTbJr2zCEUU\njYozKZ9rOhQOtQorGAxiNIai/OTOjsvX/Phviju7b+uOt0HXkHI9h6m15LkV\n96+LGpgY7Gucv8z9przODXtsue/mQQS4DToFT/QURz9l3+Muhy0o2cYfxECb\nbsix1mvwEazMKzmAiudptqFzzXocUwgre3vVhZxM7b2YBHYDGEboqSw2izJK\nnlh9skgNo9MOsns5o1LIfyVGD7PovnL4darmQapqkiCXaOegjetgTMQDDMwF\ncK9luKrJUNOfttSrtUaf1SGp8bceH4VIvBz63CRsAXp1EO6jWpOSpF9z8mEG\nKrl/ybpmdcsFTjHZJ/87PVrGEQY8pvH2cUxQDDW6sDGiTSxDVe8D2oDcH4rd\nUYCPlfWC7nwKhImYrmoJ0Oc9NI8DrpKiz3qWHJ2spBVHJGVuRriMFVOGg9wY\np0hQfPIC9KDx50DlFRPsoa19jU0X2txOUHz7IV6FXSv7csEJnLOhRk/P7jiE\nOreo\r\n=QK7t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"cb13beef7e000850f41b20cfbbdd41430072adec","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.8.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.1","@adobe/helix-simulator":"2.10.5","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.1_1552237512719_0.4635375050800752","host":"s3://npm-registry-packages"}},"0.13.9-pre.2":{"name":"@adobe/helix-cli","version":"0.13.9-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"830698a59dd759fb1c0362870e33990043293210","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.2.tgz","fileCount":73,"integrity":"sha512-oYMqXS8knmSjnB/+/0m50Mu1PRWlQlvM0iWwlR/oj218zSgBm/NLtW0vQ3oeRioQRbpmMqQvnHYGHXHt0z+rIg==","signatures":[{"sig":"MEUCIEkBm09p7uobAn447X9UfsjC9fWnDko/iM5KMV5cIfHHAiEA2FisOKS3htv1yaKgQKEH7EfxIipvagNqTBlVoNuZoA0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchfRvCRA9TVsSAnZWagAAdpgP+QHt8DtbQHEgSLZRKzr0\n1AmUzd+syagHHhbXNeOz3xwMnF947E/6YspnNvdAUm73PrSHsSU6r5OdAEQ+\nvReT3G9+K7Is1dDKQjTi0SXW8E0ZltLEwlI79Q/u4GhDKR9sNZ3CfWzI58vu\nRmXcDulYDSHLpxiiXrJOroF2JpObm29qKKqqIubKmysHkJq42J5cp4elhOIc\nwhTMzoJ8Si2ei8C3UUQHAURyLVMeWMXQnhFR8zdCH3iU6ozS2vrskm6BMl22\nkQRtbYWnElnL8gCjKF4P9iI8nyUlAeZQY3FyZLXKtqDXg6svUHGTx9Az9N9P\nbbeN/e4gZgYSVH7mBvrmg4bjd5YDBCzw97RGW5xglvgtctKr7cPowZiWaYrI\nLSKWR2qtcKTXQI+IrgWS2Gv/vL8psgqlvO8tTWpzh3BHwK1L8QTrQ55Oa4QG\nKeQi6d9JfNgOxocrG1aMEc4rTSJTK9lgrx3PUr/izzFFkwZED/IsVLcMsuPa\nHA1SQ9ot+oey79OU6ABCb451lCok5LJ/1aQ+ywhBXmkMxzYn0NdWMKLR+GHW\nd9OaFbTZ8u1viVcXJ0QR1CrvW8SImQLNewMX6SNflDxUFPwBWuZIHSyBhSEr\nqNLjxVCzw24z9d2DQwWKt1SxDZyekUt5rMmpx8PPMrLwcMprAKIL1OrCDtjO\neht/\r\n=y4Sx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"0c0cf0c929c8e6baabd1cbd765496ddef561b54e","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.3","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.8.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.2","@adobe/helix-simulator":"2.10.5","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.2_1552282735094_0.07042620896257712","host":"s3://npm-registry-packages"}},"0.13.9-pre.3":{"name":"@adobe/helix-cli","version":"0.13.9-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.3","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a591c90694b16e2b2e67801bbedab860df40f1e0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.3.tgz","fileCount":73,"integrity":"sha512-wZ5JUVsmtoWWiswitZxLGizfYUoiZPOT/aqD/Z1rKxjAzHpNHfWWtQSw00gr+wEGQH1mpqLmoHn/wu4AE+bpqw==","signatures":[{"sig":"MEQCIDgL3EivErhcZ62TcgxaQDayNxdUPAtkgaNuT0ieSlH9AiBB52RTfXjTXy28wqJFmeQrhvLCtnA0itQ0W6creWQo/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchgJ3CRA9TVsSAnZWagAAcHIP/AtG6roqJ72AMGt/7Z8S\nvgRJgIR0mmwglpEbC2N9TDtx2+SLXSq53MWKk+xVTzkqrNaS7FqEpvu5P4pz\nzx8qso5E3kEKGXaFeGTjJ+NB/4h3Z9tVpGBxGVr7Ob8dliP9nKVlSZZWIMBB\nV8OnuAjp+yr/69GPD7X5ujvPUI6mh/0OX0JpfYqLpQLZQKBznKs83p7WnNuR\nDp6cHnOeknrQTWfA/noH3Fy3JQ2L10pw4ZLh822EX1NlxT1bDGMlVwzxXaIY\nNuWE1dDR8nbUctbDEB6+Q91MofwsnG1JbAtsIDfi3yvHl933s8yZU+lAO4Dn\nndNrxjD4jHYHPhbYOsSqVoqXwk/ZRV3ggjdu3vsYmVZOSuOWAPBy+9oCWK8Q\nSM685NRMZXOhi8ysvwUX3kPtB6qf2QufMGbQaiKcYd6UhcGUaHxrloh6qJPg\n5HI9cvUK+wmml9yxNy0f4/76ixSObx4dYmX6aEiFmirL+knwLg9ZllfxaQon\nZHq3ZNNqrIiwlfemA0KCFTp236Ue/muWEaX5QDzcobR55QP6+OsKOlidlDJu\nN/Zm/qqrolZ45Klo8wz3eXItDjM7//8A3U1YTJN5dOJgZRQPZFob7mYC+3La\nI9RdtVUYPpC8avnIOknvFiRWtoZ156qUIqETMwOKNeGfb97uJEqJcgtlJ+ov\nrdxf\r\n=sTW4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"a68c952e0df184cbbdf5ec73f347470a5fcec394","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.3","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.11.0","@adobe/helix-shared":"0.8.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.2","@adobe/helix-simulator":"2.10.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.2","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.3_1552286326975_0.6286564271651183","host":"s3://npm-registry-packages"}},"0.13.9-pre.4":{"name":"@adobe/helix-cli","version":"0.13.9-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.4","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a3413da8ebded52d6f4dbfcbadb5b0dfeb9d6d42","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.4.tgz","fileCount":73,"integrity":"sha512-+Xm5gt3hy8mJAE2XcTjfTPHcWwYcjGfgPHhsKlH3i//R/2BuAfpWDjaGA+LcRlAvsbWB3/CJFf0pITgh7CFMSQ==","signatures":[{"sig":"MEQCIHXzpUyGVl+k5DTXk4jWiPficwEnZenZRcb/xBJHM/AtAiApd8nptsWai5Nsu71/ObJbrjJXu2RQmdpgDGeuD2kkUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":395725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchgRnCRA9TVsSAnZWagAADykP/RosJBF1hWYzY6VNlNKY\ndUF3zBEwyrXflEYCjhDLde1uobZl21HVk+5iIfyChGKLaTb15CBekSScePiv\nEOdquZz4maF59gJsPH3lcmtSZLn0rnOwVsVxlryGCtesici16deD/ZKo9IC/\nlfwbZlRBpDx6nANDxnXOy81zxGmvoXHzHzM+Wpcf0K90QRnthJQiPHYiVemi\nqEnR23eBm15/yhn+XqnUnkjktMWafypPopukg8lYOi2D6767yTaumHFOb2Ib\nUgJ1FM8N36jSCd1MhzyR2/MxbCaMfXX55Ob64RO/sRK0mw0OSlhUnJlG25DS\nWccc8XXs+ALZPl+LEgeS5vK2Z0qECUUvjoey+mxInHal9/pIkBoBetX+CU/o\nr2u4hfenTVpLUHx3ovC4OneiHk1Y8m4OYsPbdK+g8M3GkN/ebMh3jFEeqlDK\nO22iEuIwxPYipO1uVrirY1oFUMJQoeY2oL4APjCSGXKZcgSMkWouYFqfkl5j\nGr15Lki/NIBireFYKDDT7hkgJRiCMRMiXgFYmv0AGV9qw//wUKOYW4nmryeB\nlCKNe78CWbS6lzfKS+aFHA4XngTyUTThIJhV1ej/m06DNbobVPngv0mRdHo3\nLyBv2sCxoaEb1vzUgS+jw15bvElvifZWzrHqDSmlwFjJ41+rRFLzXP+4Op5i\nED+W\r\n=vTIo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"7bcdb6c62a11b9f4a27ef711b54fcd5527af6c6c","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.3","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.0","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.2","@adobe/helix-simulator":"2.10.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.4_1552286822520_0.6103035871930611","host":"s3://npm-registry-packages"}},"0.13.9-pre.5":{"name":"@adobe/helix-cli","version":"0.13.9-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.5","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c88b4822939f7c27492b41349b64a44e4347fdaa","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.5.tgz","fileCount":74,"integrity":"sha512-pcLL5AytuDEwaE3AAPPBV6d3I3qxZJ0ucO5G608euPKOdi9KLXFMg2P1tBAsK53+gZDySoLqIi0JTfGKannuEg==","signatures":[{"sig":"MEYCIQCh/FvGGyADP+6gwkmEBwGskwtxEeRpw/dSEkNWJLm1ugIhAL+uatihotFc2SrTxQKseo2Ld4P72RwGBemReGMALgJ2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":397939,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchggSCRA9TVsSAnZWagAAnHYP/jD6tcnfWA8MuhV32V24\nZc0b8g2O3ZCdlqxUgErXTj64WASShe9qy4kamPd38b5/bavlCyTOh69Ntoo3\nA8YjDSRNcHloHu7iWKZPjVF1zjQQWiKxrKZkySQSEjLQH8ZbOq+sDMe6FF7A\n/fQF6XuNK1nkKS6CG+SMF5WAloz9LICGwTGr84fHk+xxxH9MIlJu9CsEpI1b\nyL+y0CAbJ/0MR357dOttxR9rnjO/Mu/jcpXJ3Wal7PSEgeR0FnEUfHpZzukI\nRktyq9RBkfHMvqso6ExcAT0DZ4dWIdK6rw2CHTsPuf0B8jdtaqA3RIns7O2L\n9l1Sv9f9JcmPR5SAvFgrajth6vuMFZXYJpiAESWrYebQVRYbIGca0gFLD9p8\nds8CAtKs6WGwet8ev8vxwKm6ShfdW8gwU76Jofa3E8q2jSU2Jdn45C5cFeq2\noT2Z6sq+DnPslkJY5vNwk7eAzLdM3XRk90lAGIV4xdvvQMGJdjZBkL+YaHuj\ndueiO5+yte77ZPmwwjTPV9HvWMflt1LQUPZZ8jb26hhEADLSFBLwoEKmVptR\niYlkHP06TQIfC2FtwAsUb0yv8kzgfACdKbbx1XQhpx0si3932Q6KZtkBmZyc\nP2TqWtCjjruerFwtuNGpRDYIVWmOlib2oAeMobTwK/5T0+lsy/dqrAsICeOS\nxK1h\r\n=YiNW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"742a4db7f5dc645dde812fe0486f1f1548e21d74","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^6.2.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.3","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.0","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.2","@adobe/helix-simulator":"2.10.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"^10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.5_1552287761407_0.6175902130136111","host":"s3://npm-registry-packages"}},"0.13.9-pre.6":{"name":"@adobe/helix-cli","version":"0.13.9-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.6","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e6e6ae526991098b559f58218255f304e8c9d871","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.6.tgz","fileCount":77,"integrity":"sha512-CVvOGwZF2IwpsysPeZbN3xmaz/V6yWzDqHhski7/RmxZXTFzFBW2NxHu30uIMJaakS/MTly9Q+mZtaBcmltRnA==","signatures":[{"sig":"MEQCIFhAOiLN008LVXmnt8hxarF/HR9XfzoZsQVTfJsxWGhxAiB2iOuAeF7UDWeO6wmehsQV+cZC4UIHlhNSqhYWqIptfQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchgv7CRA9TVsSAnZWagAAZoEP/2smA9d69G7MNkt2xlkd\nV8NNgGAQqCocnau7F00qF0qTSoETGSQIqHzK5507BKLmu3xGaDl4eG7gPuQS\nmTDe2udcwvUKrTCEmm8YY6lVgOBE6/mmwe4fslBnqM+3uX/nNs6L277xqgLn\n5+nsKZ/7pF95jvPZmXeIRm9n59MAhxj8iukFgbHOmFSQJVADM253nsNLnwNA\nnOtXs6+tqtTmnr1kj79IktDjlBAugydiBkbut8+SQzZbrUpLTI473wd4cB1Y\n+gyMuL74JcU1elgELg8KJkc2obp8laKvH9IZZjj6qe4Cg940DcUEjrQg6ya4\ny5wpJgLoYtaG6Z9Mijx25tMNlGns8NqksUoWBAyD0lwuOHdxSkWmntXtLOdH\nq+vx0gM8d3QOTnxbFfi+Qt2CT402tTWPO6TGfXNuO+RpBTjX69yG/19CHtvp\nNYDQvQWvBSSEwYUpE8J1O5X3sLRb952rLfq9F2L5jx6JcMjgnFF41aGkczLl\nHCv09fR/1FHfeHbxQ24CWdwZ2oZOe9aY3ZduisUmKBP4SO4nlvner2G6k5Ec\n9s4PS7ZiEoCKwHhD29pYdX+goDdyQYxiuCt/PWPluCxEu3BJlBVMy7aNZm3V\noAkA8qiLrc82BWcruI2A6iZbLROrYj8aSzegu2E2wg9yXtAeYdY2BgYGjxli\nOuSB\r\n=OywX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"82cfa2f4e5fed1e9b7bf6fb3abff3fb727f201a6","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^6.2.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.3","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.0","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.2","@adobe/helix-simulator":"2.10.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.6_1552288762345_0.4866382259371651","host":"s3://npm-registry-packages"}},"0.13.9-pre.7":{"name":"@adobe/helix-cli","version":"0.13.9-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.7","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6db0e217f01aedf04336f7834ada25757a8dafe0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.7.tgz","fileCount":77,"integrity":"sha512-XFSqcRXKIb2UOtPgq7kGwmDQEhskUzgv5tHRXiuNIEqySy9kqg9IBBkzesX0JuZFyV56RahwU137245tg23jrA==","signatures":[{"sig":"MEUCIQCg7hgd45/w76qjAkB+pohmdUoRZloiHHYp4A0lobcZuAIgOUSqSr5f4ci4QmNolko3esI7gSeJMpZvMDkE+p9saUI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchm9ACRA9TVsSAnZWagAAmc4P/jVzIM4da198vnX5AYGS\n17PzhxzGNkVZroW5SJWy2g5adt8JcD/vEbi/ot1DfngZY3ljLwF0u1Iwnt44\njjecGyIzue4kpppnMZh/hfnUY5v30z1Yga0WomtJ1VMY1X5pNPS1CAs5aN9Q\nDMOZAkF2MCKB+menLJy6P8y8qE7xi4qhcab1r/UofV5NlXJ7Jx4F6Ujl7TqY\nxq3mG2nzDB9xMXtTfXX/jEDxFfbqxA/MvltPoawElQSR/alhfaFuadm3YMwr\nRZQllSBFwiq6A1UgZgGeX79xAQ6nGp0K+ibMFwbDiY3GtUYMGpB7XdP7Kfep\nb5oV1QF/CC3ed385gQblzFM9XIsvR0X1zC1WbouwiCe8KOPTlTK4hxF8mhIo\ntYUxEvq0CPGxuKwE/Ceirvp365mGujoJtrRvSwBLX+jRtgtAC95Q9nnD9nog\n3IJ4f1n8jml7lajfSfA6QQgtPvBYRiAcu4txsZGJfy+SRkpJjWKdR7KQP5/3\nixT3hvBSp/RwvmbMlImPkPt8o4AUPGlmYl3fhkzyuSQCXcWefTWfs0MHojrG\nO1an3Qzu9VbR+3y+317Qxg76l+Ur5Qu22x0rcnyR+Xa2E4onJulJxTDben0D\nxLG4JQXHUfEcSFfqnoqLSfiRA81EXJ31T7EgycHzP6ugWlVHLycitR+Q29zv\nqy5j\r\n=ygob\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"be80a99d065296e8bfce0f58f63773b2dccca59e","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^6.2.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.3","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.0","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.2","@adobe/helix-simulator":"2.10.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.7_1552314175109_0.42488594366096577","host":"s3://npm-registry-packages"}},"0.13.9-pre.8":{"name":"@adobe/helix-cli","version":"0.13.9-pre.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.8","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b445bebf6ffb2c06f8f9167d1c1c49e299978bb7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.8.tgz","fileCount":77,"integrity":"sha512-svb5r2sv9reUdlp3Opdb+69NnqMscQ43ZXukLlO17CN3fpZwqgcN9olJ6kASV9VWXLRUnSEcQD0L8DS06PWqzw==","signatures":[{"sig":"MEQCIG23cK0V4LibiinMBJeMaNP36Iv4bnMsyKLuPazdLaNQAiAu+uDEbhBUWksxn2VeN9iT1BWXvtWC9j70H27Y2nSWXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJch8iHCRA9TVsSAnZWagAA980P/2CjFKsVz762wq/w509E\nZt0Q2LRhkvgKHdC9FCKMJQ2MQlLrIdWpGI7HY2+BWB+vnLMsk98fs0R4XKE6\n5WSazS27pn21HjeynS0HfnG13iVgbzuMEVSpgvRbonw8usX1Wy+QyIPJRuMP\ni0I4Zg96RsFqiPto4u3BiUz0+MbX8gkiRz1c/l7FwRtG4xHT84wM5rYXsYkN\nUNuc0DxJ0uad3wgguRWeZmP6Oyvhd8DiP7JOWLAgDrFvLMqxFOEdbVdCnGLq\ndB9ME4XhmWh1wqs81QE9DTYOXMwbJzgYXir4dBn6lSuFJdzLBn3IvBLufs9+\nk9MvIOU58MtnIXnUtXInVjFxq0KPAC5iVMcRW+pELG3psrS04Hr9VDkNd69p\nNqUYFx0vqAzmUeSJqAK4f0TVDbJjNLSRsxQd+9MYIRyHW1Ib8nQd+wygSaqR\nPfPE+SLiQHb1XVMirrpB+GYaPE24igZ6MK3DJz4lhPtlV2e+mceniyxSokRU\nLQQSBqIU73GANUxL2RzNB6+LFq2HrirFM4amAbCV00jcRZbDilvCL4dJmYeL\nOgRxrSI8CJY2Rop8g3ylCqW/S1suUkSRjpQrquTc+gD+qS7B/CU6CO6clYq2\nNSqWtdzOjss52QJgk8EDoxce+OX3n6CO0ieohz1ecGPV0DxxMDWeni198nH/\nmsMo\r\n=z0l7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"56bb6b6ec14a9876ea99e6f07b8b19bd57c75c5d","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^6.2.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.0","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.2","@adobe/helix-simulator":"2.10.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.8_1552402565679_0.07951226615830231","host":"s3://npm-registry-packages"}},"0.13.9-pre.9":{"name":"@adobe/helix-cli","version":"0.13.9-pre.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.9","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"37a9528cc51e93b4c40b64ed84f61b023f4700e6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.9.tgz","fileCount":77,"integrity":"sha512-MKd2Of7Btsv+2tms5WxFQLV8XibCwnaibO6pl7XxaDOrkVgbb3Zm95qOD2khoz3Ue4C3xrRuLA/oNXwXibBcHg==","signatures":[{"sig":"MEUCIFV5tHVAgIHmcfDX0B0DoJRALtbsZQ28svPgayQpKu4uAiEAwlwRuDalL2uiKaRUI0qB6PV+gomXDxoGllIjGGv82DU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciK/sCRA9TVsSAnZWagAAVtYQAKDHX3raIzqoflKicBtK\nKEqPfxslXjjVERjFXOV02NaLjcsHfLLc/nLJUqOhbl+yAzQ1YRCNvW51notc\nx+3wfSrFWFdoBjsWjG709PzKeBPeHoHHFkXd18QvOMs89/bewRGW6xVF/G6T\nb4HrfxJfcJEc98l7CIWKxKmCX6VHkZNJoGVc89Cr+dL0/FtYBGNw2hQj0KyT\nCnWtVVzSs2BHQ3Jg0/bmOVp2w1ZcBQ77gQlp28XUvvS1MXzv6JBQ7Ab3ayjP\nQ3WZoQ185ZlzEzoDLWF4uIQ53SpzlRqjeQjQ13zc7SWf42l5zagcS0D/FWAj\nV8sjDsprLfw7tc6P961j+EiDg6a4yxJIFAqSlLt5rfS/X5Xk3sz+fE8KGvMD\nqI1pg6fzWpHL0DQbndyErDvwmgWYaxaroGcLATFe4QIT6WMmg8uvdQXmvAhj\ngfmCn6zbYZmubOT9MaC5zZakSvOdjjiR0I+iuxgQt0JWGdzn4yrgirS8ffvx\nRBhtmdR99A5Z3xneYLZlXaS92h8MGI5Pec3AvMYwg9YeNeBlSe9LlHlvKfCL\nnn2gxb7m4gWmlSpvlK/Wv4gbDEqOo311KyOOWDKd1odCVZ7iuZsa+Aj3X+ln\nLjvDXtwlT78Yh9Y1sngTt/3LIMU+O7NZfInuEeke0n82U46O1Mg2LBC+pnNO\n/SF7\r\n=BCBR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"1860e43f10b2d285543abc55267358e5c241f2f7","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^6.2.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.1.1","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.1","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.2","@adobe/helix-simulator":"2.10.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.9_1552461803559_0.7852212121532571","host":"s3://npm-registry-packages"}},"0.13.9-pre.10":{"name":"@adobe/helix-cli","version":"0.13.9-pre.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.10","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7cbea01f91c44cc662a57e59ff07580133d71101","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.10.tgz","fileCount":77,"integrity":"sha512-AmcT9KXSlfFDYuFaCIO3Sg2/t4fxKtQeFwPwnvufWN8lBR6cxO5/PpPy6JVOGOomvvI5+msBAPLeahVsXYdlgg==","signatures":[{"sig":"MEQCIFhNDOE6ZJm9X7wZ9zJ2IkEd9XwABYphXQPKoxDgqu2SAiA9z6WbjIzKZwplCZXVILEpeosXH+MC9QYSpjtAklCRDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408545,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciOUVCRA9TVsSAnZWagAAaHYP/iEeyVgv24bdufH7pLzU\n3sr6Ken1ZgCph1zjkWkjrOLnGIb4rIdkCnFn+cqkk/j1VI1wPFevZc6O70S6\nh9QMLYGphx+NI0kIC4K3m+A6xwTWTQcs+khthMAilAqLIy+c33a6tXK/HTRU\nBhtJtZve/MqaTRtpQQX/EWhXbpz09BkWZv7Gll6Pa23JB0ezlrFajYQy1QgB\naFFWjlkU/XKFXzaGdNsggjrYqIWpm7bf7qtxH2mZGH+dBUd9FaaRHLSONilO\npUrMeTrGjHz0u8xlB2yjshpxIYstt1nQuk5QZ9LDeXTgp0CKajmTS6wfulY2\nDkK+zNe/Ev5L/p0BqAWCPLDAI4BtrRq+hMWWf3to+OmEqyYmISfMMXcKaIwT\nSA58KhEZXnWY80Pc40tpkL/eYHxPQnwhwm257l7NNX0kBo7WPeRRA8LiALRp\nOUaxGphxozzsquUgoKIpmCUElNx0IAhONGbQQWWdfEPwGLmFrDr/DJHjUFTh\n5pvt8MRsfzAvMS/IJ42AMCbnc/xSLE2duvfiRmjTbw8UKpYL/xaASdKcZyaJ\nHUU0uAnhVuGPZrH7OJ0JC9jBt7T4vo1no38sjaLZx6meML24mK0jVPClLhd/\nt2E3HbWWbpm//1Z+RoYXjRbw/Aqr+UYSfiaBaUrm/eEEpb/oGFtNtE/2zyLT\nvtMq\r\n=py+f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"71764942dda82a4c77de225bc8043de90be4b777","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^6.2.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.0","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.2","@adobe/helix-simulator":"2.10.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.10_1552475412339_0.6591395077799962","host":"s3://npm-registry-packages"}},"0.13.9-pre.11":{"name":"@adobe/helix-cli","version":"0.13.9-pre.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.11","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"463324ce3a2d8fc74bc8a6beb1514dc8e61df3a6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.11.tgz","fileCount":77,"integrity":"sha512-iSlA3+wxESAWzLE7eToFXwzt9FAxLtSX8zdcYvE2N+9HkXRd+14Vh8601WE7MbhBwu1PkdX0jr/eGHXIfo7Fgw==","signatures":[{"sig":"MEUCIQCGYmxtxQ2FAJVYSRhxh7K0h80NfPgNGdrpJw3P3zmaYwIgGsnW0TmQdJDGBIhI2heMPEL2obfgjUegoYmp4wfM3Co=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciR2zCRA9TVsSAnZWagAAxGgP/RrEaUwh8ElPU9baVOhE\nfk3/wHgGM7ZE9e1Ndn4Iz51Q5UPC7gTItmdZ5OnNDHT++P3Mz10d0Cyr8Zsw\n4lhir/xDk7nvYdPBSl8MeMt0Gw6gr613uh82aW70PDPaGF2njHqR1z5ONQ3R\nuhEw5LSiY8POPJ2c/pCbRo9LBKtY40k7h9HBYeudF8Z7Uwf7uNhJl9fOjnWW\nJP5xBO+o7cvU0TQkN9E28l7RIw1w55maHuH8VP2RlRn0VYQlErq/PkmCuTpZ\nQqoalTdmbS992QbFQFBTLg6CdT1njsaYRO7w0z3RL6BPWdq9QFp8G2G/nNRL\nM9TwVuLsnA+Z+yFVxad73Kij6UHChxIPnOU0+cqOP4pOh6j9sY1alnEMWQTY\nJqXsm7q9qjx3IA/++tEYthrIgilXouo8LJ540CmyC3IVLccMmkRKjKztEKTg\nDrsFI7hLuHOR6hUJXyW6nmPN5+ovjW+nsDL9nT/iGGBQqZHVPnyHQb/1cg/5\nmmH++JjBJn+oE2F6Jw6xjZ1s7Wny3TMDxrlOCqVaJqhV1vy7YbzPwBiceIJF\nN5hAuLstOjigyZ/US4yPwz/tL+xUoNGNuKoXQbhJyHvX6enQ9MO5Z4EklTui\nwiclAMPgFDqmM5TGOB7pLJzVEG8fgTR+G2UIn/FEKNYLbpPX++/Qjike7zhO\nBh9P\r\n=Kp92\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"48c313e7ea998e7ca9f8923e1b2019e8edd604c5","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^6.2.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.0","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.2","@adobe/helix-simulator":"2.10.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.11_1552489906893_0.37463112465988835","host":"s3://npm-registry-packages"}},"0.13.9-pre.12":{"name":"@adobe/helix-cli","version":"0.13.9-pre.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.12","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"023b63eb05ed43764598c49bdd76d454764b883b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.12.tgz","fileCount":77,"integrity":"sha512-YJ5didF2OpFwkvuqTqFxlP2IW2eWER0yAMF5PXU4bDwARydVIhXEdmlSjgR/Gscs2O+KNjrYDsJv+QCNYBt9Iw==","signatures":[{"sig":"MEYCIQCLVNcdtjdyNH45Nl2JRjYMMYvcyAl0OWVWeBmkTKvN7gIhAIdJb375PLLC3HdJ0ja+JVqHzXvOutOwED7Ggtc665S3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciThcCRA9TVsSAnZWagAAmZYP/R7MDZlX4ZVafOTz4oaL\nmSTycfbNQlsx97iNntgythf85XnnchDeTvvk7dy+2lw5/oTJuwyDCQWg/xZL\njkHoe/dluEgGAb1sGYeD50RSs9ngNyy+gJdsqKrtqpvtRTp+Yfc5OMSILH44\n2m7izZl6V9FoFh19+Q9skLoBvNB6i9MEgc4Wi2Ggd7ffUQgTMxuaK6AJYEyj\nbL4K7q66nnLrTkULQAfEmLWJUc6AF01fNTsxWhE/ODoH+mv+xxOeJYIvaeEm\nPGbHy++BS+z5W9Pe9e1wWastxSOmLZAuZtKXfAJQ8yC1YlDf/qeJJooL+zuH\n8rihkVXaBL4/dQqIODh23yzWAjkSlUnUajO2+zNwzpBrdlDFDZbK/WKubuVO\n9eylUtvC0aX2YC9Ua9fp+SBVltYMIcvDaRGkekBBSdHGQRrxyIG3yERaCsfK\n1H/M+vneaojGzSC1Ilf3bTU7Xfe0TyWKlZihDKg8LCquHXVGTmSNJSELHfW4\nE9uk3vvjrmIWh2SAISxYC0s8rq7/5Q6UY8IoMe0KMfA9cR15y6vo72HBCNd0\nXOMRElhSe19sN5TQwijbfVItsdpWUoGsoc5ka6f7Df9sNE2su914BL4I5bVn\n93w48eFZ9c/T1wBftscjWBwUB+VT7e8OEFCg6+OrI5fCYnb19keRW+dmPrZY\nbHT/\r\n=BASt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"fe76efec4c1ef886b2f9a032c685dcf374e9af35","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^6.2.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.0","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.2","@adobe/helix-simulator":"2.10.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.12_1552496731438_0.7233708324768924","host":"s3://npm-registry-packages"}},"0.13.9-pre.13":{"name":"@adobe/helix-cli","version":"0.13.9-pre.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.13","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3c6d9f2a79221508a5db4c3e6a25656e468fba1b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.13.tgz","fileCount":77,"integrity":"sha512-bF6wKrQBLlsOV/SpoJz+WO95CRGF/XkC+/IjdF+I1c4gPKknKT1iGt2MMKTGzYSCvE3ln5BUg3SFRY/n9nUdVw==","signatures":[{"sig":"MEUCIArX/G+llGzQkws1fGe5PQfc77bMEQejH6NxU3FH7UFeAiEA+YTxLzCPxQ6gh3+jU/5zT6HWbjHkIreHMkCUh+DTTzQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcigZoCRA9TVsSAnZWagAAzj0P/jf+YMrrAZ2UCeXmLXDl\n4yBCAxdVrBi8NOsE2ZtjueL9cfJrQDMucM3zDj5nuHmaulKz95rOvVzwr6nq\nOM8fWnQBZ4LBuUiEnoGwsVhA0mVSpZ39Be/44qUXLTNV4+YWwuMLhlsTvzNp\nK0ZpEVxd/28RQvQEtzE/pvoBdx8Ljn0tXwtVHYofNWUN0shsHRWsLUxeTV2d\njGP2UYMpf3d7xM+gDpd4dCZDIwF3XNqjhYM9vnq+B4f8cxhkd4ykI6yDX7+z\nlFGUVpIoOds4wkUZ7qp1EUEy+xPYWyABdGHQ+mFoqs8UbLZ7S34maRVsbfzl\n+aG+Ck6MLPjxncPICw+btkRxkOmM+wIw4ffzW8Rhh6MmUSNVMm/CWXVlYRuA\n0hIy6/snjMmk3xWB6WWxwTZUJZ1YV/SREAcywq/cFXHFdugZZhWqKfCWvFwv\ni91Z4BTzEOfc0hrZ2+W9e50UBMDZJCI+OvqZbFDZAC4B7LCNUmroU5VLKege\nXEaO8vdldJM2roz6KCnSOpKWPO/iCus6GUZBBouELiLWIDl2gPuGv2Gs6Ynv\nw6F/kPx/mhZot6c58/n6DgFMBuOar2aWYNLZzgZj6INekUCvrrd3n/LljRCP\nAjB5avs3cFlMChGIFdSouQaOpVOmYJxc4+VifKUvj/MnBHZk22tuWFL3f9kA\nAUKN\r\n=rU/y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"7e3a7444844abb7b735146d01c7efef6ced10bf3","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^6.2.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.2","@adobe/helix-simulator":"2.10.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.13_1552549480173_0.6068711136814913","host":"s3://npm-registry-packages"}},"0.13.9-pre.14":{"name":"@adobe/helix-cli","version":"0.13.9-pre.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.14","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ee09f5210a19a0059952d39ad2e05b42eeb1c2fe","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.14.tgz","fileCount":77,"integrity":"sha512-PnuwyVBXfX/DyrQxYJdY/y2If9IH8s7bMm1eXZAEH/cpCaaIgFBsPwmnxB8Mpllm3YepKY3/k3ZMRFCILOFHjg==","signatures":[{"sig":"MEUCICOfkoSUxkj01hxle2EQmrPT9uISnyZxKkX7OGSCHTQ+AiEA9uGnsTWx0M7+G1iw6sjmYN2YfFWKmeycMHaKXHA8cg0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcigfOCRA9TVsSAnZWagAAMkwP/02I2weg2Jh7o8xczaK0\n/BWvtYsA/qOct/Ki67UNBrfV3TdDYq3Z2zuvX9GCBltCkPLUVMkl0Ng/7EKs\nGeB1y+MoP65I4TGlCUxDu6t16pmexfLs6a52ub7AGJuMV6XaAr28SoLLC9D9\nMDFs28ZjvWTkdQsPww4z5dw2si54qCzRm9ZVV9SAbuALYlTCDzKr5UvZ2oSB\nGhXEoEtZ+WwynL4rpNvgtRIzYk1MAN6FxT6XMIGZ9WffHUa+mfaSl76BlrO5\nLlMXeQoezEtopqQs7LsHdLDqrrS9K1Q42HVpShruPU+4Pzj8+rxBqR6ikdYU\nhudvOzFBL5ePqDo9C3jvuJA6Um9Tun44sXjCM2mSScDuakspC+5nywphaOXH\nEre4b05bm5J5ZEfSq5G1HC6P9n9ORC8RfGi5Tg5gYwE2iqjTHyNPOK6rdEkk\nr23jHSb2qkL1Qn7eVDE7DOtReTAsd7TwF876onOgvwt+sVUwG6+BlsUN/GsY\nDXXzaSie7BcDi5hVLYn8ZV/UHEXEtOsVKYFm7vhpd5HiydktlGLGVoaAtiIV\nav5QKL3YjJThmI036GxAHfgiokhAdSPn2V13OSyHCIP3pAzZxr8kfK+9FNhn\njeR/vZPrSJJNlpkXoeQYksOufUpVqMOZKfWP9Ct9I0aqr5lEQ9qLlAE764mD\nkEHi\r\n=pit3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"cd8e2361ce483ac337cb8f5ff945afa68ce2706e","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.2","@adobe/helix-simulator":"2.10.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.14_1552549837420_0.5604538430577413","host":"s3://npm-registry-packages"}},"0.13.9-pre.15":{"name":"@adobe/helix-cli","version":"0.13.9-pre.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.15","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"80fe71196081e5dfa3739c3d9eb543882542395c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.15.tgz","fileCount":77,"integrity":"sha512-6HOVRnNp0t0OFCX5dJCW+znJ0IDtlsCSuGW7Rqqc80+o42ES9jVHm/T1ZZKveyWMFmvkRAG0gNn/Hba2gEgtjQ==","signatures":[{"sig":"MEUCIQDN6KTfT1E6cgYzR0+K4np3+iGILNkHncvVrwq46q0hxAIgPEYNyTG2DixPsGuwL5mQn7q8/Au96Zc3UcYRh4eAqeM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcilf1CRA9TVsSAnZWagAA4bEP/3taRmvTIknE26O+87vV\nmISCRs91tgWP7m/+1ZfIr5Lq120oS56n2/i8D3PRgXmkE0DQOs7iAxv08xOA\nt466jbFHTiY1Q3jqHZYCcWputQRjH+ma2LxEJ7l3dNB+8y/iNqDTj+R177Ba\nckEJC9xW+UHeZFZ/Veg25yWq7tfmVyqzlKG0acfCXH0Fr71PHPtsTBupPXgc\n/Bp2lQS1DTXQEj41BlGfO497ViR15bXVLQSbVRW7ePPH1dXpqPyML8fuJ2hB\ngC2pUs4gqw4XPwlSw9WBGoafqM5TSiElbTuciyeGsLPqPGVo9YiHrBJuIUmT\n22WbLkNl53fRBqz9PrX58JtfFKLILASxn+/Io/cgKmornnUH+I4l+KPQWNdn\nzmpxnPc0Px4Hii08rUY1kpceJgfUD6Y6BcVKfMpuuFFmax7CQHHDLpJP5RsS\nA3UDkOpTimqaRkmI7v9xj8XH+XWIZs3uSZIJJBTEaiHeY0DTGGuC3jEPy80A\nmswlmXZ0RviWtWENCAQHsy6c3ULYLDIGOYaag7+lFPGW3FChVCkqSsnFHIeV\nbS0bxwMrFkrUfzOlhMacO3+7e5h7bLAqBW9LPmO4oWWafjHK2tS7DrDLFHBW\nNiva/uRNlg8QTRfKz0zVz0VYkS4j2cmPAaOV+cO8zR/B7cA9QmD0NIsiT3e3\nkOg1\r\n=t/3d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"c0b80e3fc61e6ba343cca5d18c5629a8ddbe95a3","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.3","@adobe/helix-simulator":"2.10.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.15_1552570357032_0.3630147274903519","host":"s3://npm-registry-packages"}},"0.13.9-pre.16":{"name":"@adobe/helix-cli","version":"0.13.9-pre.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.16","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"18e4e8081f187b2c5676a643b9c0c8cb03c26e4f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.16.tgz","fileCount":77,"integrity":"sha512-ntoEWomZZd6rtfCV3eGh60kZzP00JavC7xLzTUaxb/9QXpDNGCfxhBxc/3T6zpardRKuC5Dq+dGTEGMRHyP/Cw==","signatures":[{"sig":"MEUCIFZ30RZFgXVbIM03y027GLKGqkImUFZa6s7UVKHa2DkhAiEA0xGp8jTiqgos78ALkOPnJwnZjCMmRq5uE92eZGh3ZDM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcimeSCRA9TVsSAnZWagAAUSAP/071D8jH5ZVqloxy7bLI\n9h902/q0/StKHWdm5NmqLZDqjsIKv0Colbz7HExshQxFCqWhZoMOxycqSra3\nvDGKaOq30WwTW1RfZuYJXlap7z+JcKyBR55GmfuLW9HYdUQgKpNNcTV+Eh2Z\nnDfIOWZF6cF0+XZ7x06/VRCxodyJl+aMdJ1pOLrPOAtcI87bsf5l083v9RkA\n7LhLnkrBZOG9p4/sFG2mB6BsBA4ZXqRbTBM8FVct2+orMaxFFhudQwi9WpDq\nEiOAMhhiMDJIX3ABH3Lltjgii534arVGHED6Y9FxKTn3JiFI0hOsNDIdrmSJ\nAeIP0rW6YrnUSB1xihhigkLDYI22ZlpDMIdoTDySN66iWw8V3YNybngkoYj5\nY54ay3SjS0IWx9oXGTkd7K95ei5tyRaG0Dfg+brtnjgSfUe9gO1jSfOlu2oG\nBlFKVuSUAoJGn3wVT6RNviLXUaAplGvzn3qI5tVWZWCouUBf5NG35RsN4CsB\nQTPY7NBqVonbXcJ47SzO3RjapXHmun+U8ztsVc+R7iGl8V8sOI9yOXgQoNLH\nYSDc+sQMYeScddFI5I5VfV7RpDyO+Pf5hI71ltTxPQRbXwEKdYkBRacVTAiI\nP5VbdGjFKUFoRnemlPPobwOCfxIv8LobTGD51CGQbO0yyDwilV+EKnxy1fAH\n/LhD\r\n=riqX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"7c0f4d0310e54cca519a1bb7fd26aaa3ff8b8984","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.3","@adobe/helix-simulator":"2.10.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.16_1552574353753_0.6341128179100906","host":"s3://npm-registry-packages"}},"0.13.9-pre.17":{"name":"@adobe/helix-cli","version":"0.13.9-pre.17","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.17","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7859d617f7e25f65749378095e8880deb811e2de","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.17.tgz","fileCount":77,"integrity":"sha512-EpQMiNNAGlsx0NhGlEw+TO8IZIyIfNY1TKyyqmh3N/3CFkBvRNQ4RhWyNoICDEUxcCYBmR70TSwl/cr7qWad9g==","signatures":[{"sig":"MEYCIQCMxAeGMkdRuE5LIEjZO5t//4R+99+mPh7L/URDaUh2+QIhAIU1BJch9kx6m5EV3R6OX2lquhMAlLNEPt8hf0uATbuA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcinA/CRA9TVsSAnZWagAAEtQQAI9OR9pp8y0PEJcO4rOZ\n93R0JtqLgLXQJWzYwMi5p1s+mxrnO0xa13+UfeSDdIUbCKxw4jmGJ+OmHACT\n4u6eX2B4J/05cBmuOIXYE1vLpnuNtAIsIRgKK0dPop2G7r5agMgKm6Y9fNO6\nlbVsu4gmpcVav8MhQKDa6JlwVm2XneUlV/57sO9z7asyCoRep3FkMJAsUFnm\nUirRJMoFQAvnjwAItNNbV+3OE7AVsbhp68JGhKSApHOj41Ft8a28MU6Rhbu4\nXf2np8qRsJb5uDPJvot+6NwGz7S3H1laee8OijbKI+OaCwiD0aVKC/22YQzM\n8dAOf7pMGXgLNiPN/jbF2AGTPaUAUJyBODa/poi3CJBCllHV7Qj8Qyxg3fWC\nqjiuhWMNYfN3FQHRtHzCXZpoSKs7/LIIUD/mAHaKXCEDkX8ayIAe+L2Yegx7\nTCk5VTVfIzCgAnYK44B128BgBtvHaRbeC5euMtoC+NYDLLrP1yCas6sRCm84\nhGUGOW/UxXHtzENqa7Px//z3MVbv2071fe0JrHANpSDfnaZhAPMtlzt6uBjg\nEtWp5NOz23y9burI0agfUfGq1olgOTMu/URPznukDp9c+IU9lU2iaQHPl4ek\nZ68tkf683N9SbAa2is8VkgcA/EL0LKUwrNFpZal4NPSPmUiJFuxLh096Mx8d\nZMuT\r\n=zyx6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"df282362e1502117b016e3c2c8792d98e60df38c","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.3","@adobe/helix-simulator":"2.10.7","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.17_1552576574007_0.6046719275661143","host":"s3://npm-registry-packages"}},"0.13.9-pre.18":{"name":"@adobe/helix-cli","version":"0.13.9-pre.18","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9-pre.18","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ad60244d0a7fbe0a10f8f1a32aaa2841d322068d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9-pre.18.tgz","fileCount":77,"integrity":"sha512-g3RD4Ua18utO7Wn+jyTStHlPhOrcrAFkuN4N64M4Owcupa9X5dhl1pEzsg30cSZl10SpdjRAKDeUVHCtfjE1Yw==","signatures":[{"sig":"MEYCIQDEJJi7jNhigvuEw9irSD2BsGVE752AfTCTcdDItKDeqgIhAJedZKJ9/cdqFt7vUoTMLVzbhzzDd3JNmqLbh5eXZwoU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcinWuCRA9TVsSAnZWagAARH4P/3W4JsGcu3bSgcVWpoyR\nYxkfzdmKnyCcPCZPxhpVmOHX/H83ZLcAYpqMaTF5AGE5hwUoCzCbL9V+iKFy\nFRIepO1PPoD8B+Rv+36JbfF+3dDbtVJ77RzKimRGRWl9+8WpEDgprcdqXJ+3\nLhUMhha+eU5b+GaOIkV/4XGmDX45KPFo4c9OK4RrsXoi7xT9eett9e8/z3Wc\nK+Wo1w76Q9CxxWuKimnayMeCgtLUnh1Kt5WREys3xDuwoYZ3XFaaeyVetjiT\n6ECdylqR9H3Gd1gbFjoHt+NaUO9E2iUKVfwqQJHDZDSjjZMClpQVHDkFDkh8\nFN4F0f9LTlyYBJtHbid5/qx3xrBfOyXRBxybtZjs8nayka8TlXUJRcaTHA5Y\nvanbHN7JnC5ghIRd0PtqNimpmsPqHKcN6NvTqczrWc+knh2SPQTVFJJT301u\n+Aep9ExhTfHRl6SKpqK+zkR39CLWQy3z++zLrsUxNq/7gQ6sJU8AiRwaqjKM\noB9FBCaQrukCcciWKyeYMBv9oDP/JCWUaSXVsBRyAvVyRH0zhn0B4i2QtaJX\nIu5iqM/aK1jr4Z7M2tOSitrgh0fepk5b11JkhkTRYMTS0JLWphWJNliSCbFs\nNHU+2Smkiy2w1D4+dCun6QhqufWa2or48ZMBrAoNtboe4k/7LkJtf4mInmRq\n79CX\r\n=0lBz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"86b37c2274febbfdc64a5edb96de1c2336b5ef7a","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.4","@adobe/helix-simulator":"2.10.7","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9-pre.18_1552577966231_0.31479969056288315","host":"s3://npm-registry-packages"}},"0.13.9":{"name":"@adobe/helix-cli","version":"0.13.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.9","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d017cdfb1c8fb96c4d19eeb513862f243a14efb6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.9.tgz","fileCount":77,"integrity":"sha512-OqNV+F6Rq2wc2oYlEKJgpwHsfsJEzgcjjbiCpn7ylddR+Cn3NYlOZu3DTT3oElIaKNqFC5+hMBz40OxpD6v3/Q==","signatures":[{"sig":"MEUCIQC9hY5DuFrc/otkaOtrKrzxQI6z6J7TzZeIDnTmJyZ6nwIgV3CeQjk0ysfikfKkHGYd7xcd1jR8kDmd5Drlyn54E20=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408557,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcinnzCRA9TVsSAnZWagAAfZgP/jmlbtNB/bbuW7eRc40Q\nIfnWLjYp10J4fn5jahZON0+ybVHBjJJRfMbVYYseFWktP1QPmxBCbRldqK7t\n80XcU4hjdenooDv1bDALNFz6j/7kDiSIMMUYbwZgXOkcPf/SPW/RsnhCIrF6\n360VPFnnaYw2QWAWqJv663W1ClPOIq+OJHY8917h1KmS8fAMTFT6s/tfZ1r0\nlT50SVBcjaJN62lwK297uBBDjGHdzsmnLpcpy/ctDH4YjpF6vtTBQcjLJWA8\naur+YRoYofDGgbT9UCHCb/IsmDUKn+J2Us8LFmreC/UDMSyDM2uxP0Qh6fOU\nleL8EuMxpI9q7eCmvikrFhPQ7f3ua8Qs9ttdYqcrFuhJ/SHjVmAzZu4YopW5\neJPNQOkIhtgazJA5WifTqA3G0lvIrDlnbU3BlrWvyBaIPN51vvzcONDnD4BO\nDgD/BCwvWL4gZOPBVe2Ov6f5Aa7180zkiK4Lb/4YCUE05yu2nYg541K1p1Ev\nYYlELj0rH8MNoYJAcXwYpY+VtHZPkxtz0kGQ+KwB0corjZ6ez6nSDEUXuOrT\nVaPlXzzDa6pqUDbRdyh6Y52zIMimNukxcJJvBn22LLxjthIKukOapBONf47R\n1qeJDqgpsQ8A6OK0kOovx9IPHFNq5rAFehcto3Y1UVktOv3iV7KlZs2TAH2m\nvJis\r\n=0kAf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"9366e66f8188d5167d5314a3a5e3f30d5ca254f9","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"10.10.0","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.4","@adobe/helix-simulator":"2.10.7","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.9_1552579059010_0.23300906291586743","host":"s3://npm-registry-packages"}},"0.13.10-pre.0":{"name":"@adobe/helix-cli","version":"0.13.10-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.10-pre.0","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"14cc90ef94bc6c2ba8298d22a7bac5ede1005889","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.10-pre.0.tgz","fileCount":77,"integrity":"sha512-Y4bRGfZPBw86q7s7716dVwDh1i4zg0DAACSRUpJO/3zi9Lbvm5pcapThto1KyVyN33f2SNk+HzOaqKgg/3Y2Xw==","signatures":[{"sig":"MEQCICWTUV+tizdH9EpJW8JNvDtW83NcX9CchiCuzQRsFH2oAiBAAT2N4Kh39YvbzVmOJeTmSWasW8eeHRXQXNhaQ1A+IA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcinrYCRA9TVsSAnZWagAAShQP/3HIKKj9ocwBlR+R70J/\n/ZC4rbwEVyhBx/9Xi+Zfq8Ss4lL5by5l7Lxay7ycDhcqrOa3hbDBlqN8sNOi\nYIu11BzLURkGoK2TR0kT7OeNPoo8y5KCOEJepU2NJUa7nUdyZA702uZVGtG3\nbkKjeXPSQZMkj54AAT7/DTBSEqtZVAvIrXSFo61EoUDlDtl3Yk8q5bmeuLjO\nyWif3IGv1DJGqKnkRmcMDjmkD2F31wHzqmnmoihDeTAJ6ySCZ27buJia3N8l\n4da0+PjlHkNSjw6FD4nGHHNILJ/lxskRIkbSNdB+psXpANbFzYp3nHw9Ytb3\n07+SxdDxkY+SYDLgKLMaAeFYpssaDYDi9ColLKqSnFdnQn7HlR2y9chblqFO\nqHCuXVdhaRf0GH6Td7Iw7U1zciOf5Z+pZVXirJl6eGuvuMYgJclt6NfyN6Z6\nix80sfcTke5OD+QGynLIHNbsVdWrw/Cz8toUjcmmq/YKo2M2I0dNJgY5maTZ\ngtXoa2oGfioP3HfgWDy62HtvwHfspTzFidN15EqftUQN2nopxmIIxmk4UiC0\nW9gTCGsSWIKbTMec+VjFp6CwbdXyCxfxKETNyKLOtxwdSfxUA/CyivbCndDJ\nUJXOjIHRMjhXF/FCC7KVnjr1HKQEYi3mjERG8ltThDeYBqrur8fWbbbYxqlZ\nMJVV\r\n=Ubj+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"89156bb1dfb64b56442435351e74b1017accd48c","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.4","@adobe/helix-simulator":"2.10.7","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.10-pre.0_1552579288207_0.8172479625269762","host":"s3://npm-registry-packages"}},"0.13.10-pre.1":{"name":"@adobe/helix-cli","version":"0.13.10-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.10-pre.1","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5e25592ef80d76fe43853aa451e3caab13b53aaf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.10-pre.1.tgz","fileCount":77,"integrity":"sha512-sTayBp2YnDKkcXLXo1G9vVfozdbbQpfovlto1VZ6eWUH0tqWQ5mMFRpSqoX4i0pxmw/BZe/Hp2q+pgCJi/PRnA==","signatures":[{"sig":"MEYCIQCEMiYlTp5ITjczjq7P1rMSA4GDaUuNSRJ5iIfhpKYVyAIhAPZm/eQ8/oe/YM2wc5gsapT7FpVX70RJjZ3Wdl4oa67+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJci1dQCRA9TVsSAnZWagAA/igQAJlAggv+vFRl7OOAqqhH\nIf2y+phGtFayCypjabwo0HiPoKGjlIg+77wSwbqpxAxfMBU7fKdhcAZ+fZ3A\n5Oa6wF+tJknzgOwFH+W4Tar9zTM4JphtVKT2e+xrv3ejpMf/pddc3mLY5Hm3\n8sPmcaFC325jDMbB0gnNuve52NRm1TKsopUi7neao89zNr7Q0clghjoNg6YS\nopjvzOM5qevbWbWMIBzvjXftCEcjntpFLrIL3wor/IvBfIF6mnA9Los/bjae\n+WowdRuLWw0dOAjLzq4mKOdJztTtOZh+J4OiYNFxN2QxEUX3ShoTz4wc0XaB\nABsp/4Bilia2jlyQufEkZbRIfeJCPlFKoUzaAVXL8rnfxkzphX3Xw46j3gaN\nCPqqUJoQQel41y1l6u+UmWXMesrQ4rQT/hTH/UukqctVnI/DJyzjw6YltWAk\naTGEKMtHesTlaJm5gkULTVwHN6i21bsnuewtBrd0lNwxkRj+v+RAwu5/ZezT\nERmp2032Y9YUFnD97gxH8bEPQW7+FxX3o71+r6sgtuOinwOxvkgYJgWc3pIf\nr/EOOYa0BOcf/XdRxfjGA4WKSFMwh7cbdp05CoyAz4OS1293FVJeQHntlzmI\n1jVHGksdKkX49VqWDk9UjrzBgrPr6l7zriyquSbAlkmCDs2CwfZNzeJ57fb0\nhGbT\r\n=sYiC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"2d1f28639c232d5f127c33f8a137723a554b79fd","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.4","@adobe/helix-simulator":"2.10.7","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.10-pre.1_1552635727687_0.8215930769670647","host":"s3://npm-registry-packages"}},"0.13.10-pre.2":{"name":"@adobe/helix-cli","version":"0.13.10-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.10-pre.2","maintainers":[{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d1347e113b4866e1254b33f084aea1d3973e9d58","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.10-pre.2.tgz","fileCount":77,"integrity":"sha512-XoABLb+G27EQRQ+ZzEaQPNqWicQA/O5QR76IxboZKzhSVb+HGRJYaNMQAX6Kr87XXc2fLYCUjJW7xWtDOeWcaw==","signatures":[{"sig":"MEUCIAO9ZGAx9oVDnSrcn7cOPTgK0AT5pYPrvAnmZTNSqYjZAiEAowoMFAShXY5Q01CDAUYjlPpbQTL+02y+fGQSg4a+s7Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJci1/XCRA9TVsSAnZWagAAuRcP/2U0tnNO7hEQ63bJ5bON\nOp2K11LAxLxjWUjnHUu8sfq0KWD9g6MaiYMuLXKZqTjenvFt3jm5pitYfO89\nGdg75XCb+8YvmKL3FK/TSnoTJtT3a2MrLFINs5eQl/8+/tyb2C3ZeP0Tq7lo\nYZYwxjh1+Ao3LFSxRioSUQYC3+uMcTjJ1iNqe0C7D3PHNZOYytxVQ1EjHluv\nQ6Zed2q/rgP2JCrWAfB7+TriBJ7Eg05123TDPg2QeYdzgvbjBcInBK2kVu2O\n5eVD4b5MtzMys9L1V0JkzsCH+Ok8Hxy/i7ciOz2YrcXXCd/S5xvhipgJRrMu\nGpKtysMZ8T6+tooDL/EcpnbHxCLxxl3Lpz/Lniv1Ez4wOUr8eR9pIjWQ8Xdz\n57PlVRvAvHeNbZhTWeTPy2N3idBSKGQz/Av+QkPrcr3O5kEOpAtBSrLLke3k\n2H0uII3SuIgeswnr59YNYJrxYsUuGTUVwEGeiagkw8ovuhAvQUX+YtjG5DU0\n7QHXHbBynKQROH3Wkge1W8nrQkW2KKWncdQjFe6Tnh03EomUULEem7Uktlnu\nHE9WpqoNfuhtwocQWg/N1zhfMAQKicQ3A5J8dQvmo9rmJpd1/PjMD3boLnyu\n5VzeFqpw8D7xbr1RG6Xg9nHKaFjSN4Pt/KlLDP9boe6ufSdJKVn3KzQnW1w/\nDwA6\r\n=ZRCF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"09e383a3fe3386337fe0b8ffb7066f2f3714d81e","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.3.0","glob":"7.1.2","snyk":"1.136.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.4","@adobe/helix-simulator":"2.10.7","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.1","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.10-pre.2_1552637910911_0.8967011663839362","host":"s3://npm-registry-packages"}},"0.13.10-pre.3":{"name":"@adobe/helix-cli","version":"0.13.10-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.10-pre.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3cf8ccaca646872138fe67cb8227fe585d1b2e9f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.10-pre.3.tgz","fileCount":77,"integrity":"sha512-PN6aR96GWn3/quN3Rha9m/LS58hsbWESOuVy+DzAt0s9Ia1kXO024PP5M2Ihg/XRgaaJjRlQqfr2VlMXO+ymsw==","signatures":[{"sig":"MEUCIDJBR2WnuZ7EMCfH/ucpxl19UfLaavQITi1ZtKSLTrf0AiEAutbRU2GNiZdD0ke5miWWGhwt+qhFBivgjXEMvHinq14=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcjMfeCRA9TVsSAnZWagAAU68P/2oMfQ9RB6tTr4cS+1iL\nJJ2CAul6Vy4J21o657wF5uNdVzKg4gVE124exuQduHlKsdDN3ip8OfNIEBCR\nKtIrasZKCOKSqzdmAcTIZajb0GojQByIUzIWzyvUXr1nMTZPuGN2sK+ZUt0n\nUb+CAOi3Eq0coQfgcwGVGEPmaHsS3Z0ZdTHOZcLCXnRK1xWQ3EmmNTMsoUfm\nNZcIdDjjlPgrHUbnyJLa7Egqi1QqYGsW6MLIgPSMpdlrBe2TZzBC/sbHHzfv\nVqzdDt2n35abyPJu3brVpkVtHw8U+i9IboklO3yKng2qKd6ZfyXIrzmYFptR\nIjWxO1+UXtXFPjA7/trJz/cODmepWeb6LfQTm1aCucKL60CwZHjjCm7DaiYU\nfeAqJ1MQJgFiVm9EvSjTscmtEOf4/Xt3uinDwh9VlrAF0ihIrPBNYysnYaFE\nnZtTFPpR3EgZFBEPte1N2WFAvFeEmT1AX+UYWQkaHbZswf1tqa5bAjyR87gZ\nkkbzqL86he4P/bpP3GMuUt0AT2RD4ZVKoPvGMN/+Eufhc1PfP8PycnOizz6X\nhINPDuc6qeJPXRaOytXSfHqAqIVtFQ6oTa8thHt7Ta1TWn/yCw3N70roU3L4\nZBk3+o1GE/MsdU2FLYjpcWx4qoI3mCcz0FjWeK0jXRKFIElzXtU2c0OQpHGj\nx7Jr\r\n=MRH+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"8a8b8579a1bdb46ecbfecfde310af91e6796c9fd","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.136.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.4","@adobe/helix-simulator":"2.10.7","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.2","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.10-pre.3_1552730077016_0.7671597372411689","host":"s3://npm-registry-packages"}},"0.13.10-pre.4":{"name":"@adobe/helix-cli","version":"0.13.10-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.10-pre.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ef40e3757d105fbf1f5324e44098d40dd17d2121","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.10-pre.4.tgz","fileCount":77,"integrity":"sha512-z3wArN3V3Aw6FeW6cMuJrfupHfHjkp0yb8wrvZCoY96UsAnGCcGT7O5gjOlIDZXLd2XPW74HoRy1+sS7K3dyrg==","signatures":[{"sig":"MEUCIQD1UVpn/OAoagqPBaukrSVGwAs8hetHtRaDDvMQ2oadFgIgQvUjSPp8jYs7AVoP3tX26q467qr0ebslMTpLsxS3jnA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcjx/wCRA9TVsSAnZWagAAV8IP/0U3qOq9lQNggxgLKjF6\n3C3EU8hkip9cPK8OJNQ5z3UQym4bTe27qMWVDT+PCdvVu6pQuDIML2eKdqy6\nAU3IJy3gGZtidFuHkccy6+t6Df7rzOxEsVLIKeFfr8jHmlcbrmLGaU8MRbsP\nmTEi7cnNwDBEZCQyhOlTtEeiOUBw/8dIPxxUPJqkBwPdRWedhC+8fCmd0Www\nrlg8ryor+Voa2xqeufj1/k4AGAUC2jFaMY9MAo3ksHSQRBbeghJjITlxycef\nNqYzH3CwwztfhVIf9szqlrqdXvNSk25c6d22v3Q231mk51gc/6bimtpYZKGA\nmXmR/7wmwk3JiwfnBw1zczq8FuRFol4Z/TZ++ju1XCSx++ia02syzinCbvMl\nG71YSexH8dQh/2a9tM/pRCvizwGlp/5NuWkMVF95CmRhWW6G9MlY2xIgiAkt\nHlaaVigmUTQq5r1v9Um0uWlBYr+SD9OaZIg4eNriYNHYNr3a4q5DHZnEjOUm\n2Ts4TRXZ4cztqKUpud9PBo8PBWTF5ofx8h9v6q/k8CZFQ6+wREcwTFBK+Q4n\nOqri6SBpzcNMzlaOoN401p1Y5CKjkL2y2r8Lt8MADW0srt+4suvCXLeBaFgY\nmr+UCd/mOm2VQBVtaDQenGu4174PVI6PWVol9nfyeDBa1E5mhZWA1uZMz/mJ\nlCVi\r\n=YUOG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"f874f9084e3a3ee406d5c0871a39a82f2fbf41a6","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.136.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.4","@adobe/helix-simulator":"2.10.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.2","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.10-pre.4_1552883696225_0.3144303197190308","host":"s3://npm-registry-packages"}},"0.13.10":{"name":"@adobe/helix-cli","version":"0.13.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.10","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"54c26434afe2342ecd77b53861ab0ae58fff7dea","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.10.tgz","fileCount":77,"integrity":"sha512-+VwCp4PBfpBY8tRa+gcpAEBE8yQ2GAf8MFBJD8hrEnk8crrXDYZbIbV7R/LBJp+fgj9HH6ieA6TMcf0RlxdJRg==","signatures":[{"sig":"MEYCIQDEtu5TUiG/1jjAU+8gXcb1n9n4a+yXxjY39gLgXD/ylgIhAKeKRc2LSiZ5C2eTt7b281boiCKVma2Oj+XpLsG+mwsW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcj3JBCRA9TVsSAnZWagAAbOwP/2JEo3RGy+RWMs2oojvN\nS0p3PNacZqoZzX0092kKX0Mm32Hrso/Hrwtlp+gGIjbHhIpJ1Up+tcx4MzW8\nAGyXpJL1lL623CNz4zEfO01jflDF09uiAyR5+1MId5/isNPQYbEZvl49BVwL\n/q/y/xTE+hIAckhWZ+Dj/ELCSoN9H5PCB6qnYLlry+SLj6J3hvXVDA5hrdJ2\niK3O8oINuC30pItYmUd9jIYBlvUNAVI1aHkSfBqIjhyvhe+/iYzItVW5hDWd\nJ9Bi+ARCAWiWwf1DTSoJOnN7QZT3sIV1fXBwXQ3NdWZjoDhBTpylIUFz7vqv\nEzDkC1Kts0zdAaD+6aLwFMrLLuiJLK3HiSfC6eYFpskBs14LqShDZqmwdHTF\nG2ALErz5WUkB4Hbq1Eh7UEc8JcjP6SQn/tN9jjHvvgs2KSdQ2Z2X0ovvuJPM\n0TwtJhsxbcdQKHYkt3pjhCxTghgFlm8JtR2GHuRZ95RWlSISsKCBv7JLM8fh\nAGtt4OyC2TwD8UtIx4YaFdIK7i1qTCj+c5qBf+zYz3pxZjpZDf0tt8T18Mo4\ntrtSaVU2tuQ/zJ1NcQIMagHzKcg8CiPn8UmovnQcqOVCWzZqkqMf8a7egFHq\n+Skn5X89kOh7nD9CHETZ7Ydq+Gm889YMvEp63zIvMWnP3P9wQ1QJW6sDfGDs\nHABK\r\n=gfle\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"a6a00a0258275ee09dbb2312b8c0ebd970d84eed","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"10.10.0","dependencies":{"ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.136.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.4","@adobe/helix-simulator":"2.10.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.2","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.10_1552904768775_0.6877566357327634","host":"s3://npm-registry-packages"}},"0.13.11-pre.0":{"name":"@adobe/helix-cli","version":"0.13.11-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"dbfc3fa3882b581db52a5f3db5b0588b25013433","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.0.tgz","fileCount":77,"integrity":"sha512-iXk/ITxvsvxiQla/U/cEwsVpv04bhCUwjRevH0vhTPjUtWH+tCFTZ9+DxGFVZuslsEr62xOVQ8FLwxhLn5nrcw==","signatures":[{"sig":"MEYCIQC/Rv189ORBRG/aSDhB7YRxEiX8G20jlYuzk5+Ev6AzGAIhAPP50uj84lsqYmSFME/HzGjOKyYI36Ubrw0YDjny/Ren","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcj3K9CRA9TVsSAnZWagAA3p0P/iTocQuU6YcZhfomlylq\n7UqgjPQQyCVQJE09cyq4udlYcdCIVwwrETcLS6DjACOsY0pjsF9KjpMsC33U\nVLU2UNiqDmJY2h0Og/BJ/lpFkAuYfgi0TvnoALR0YqPh1z7o7sc+nZ5Hv1kT\n2qrT3z8s+pB5zk0wr6F1qDIdf2JkyVwghyhr7NUk3L47lDfB+U2xxD8Sxjl5\nr9xgs4cMFt4ejcPsmwEANZWV5ApVTy+UjJC7tgBSfNIw9MXbC5aNtLFQLcMJ\nYeIB5KRJ2GjxKkb4CTY4Kzwb0gwd5/ZSzt1B00VvhDjKobWic6SbpF06PZzb\ncqBdCzz0Lj20LYhnnWqI0dfwXN9hq9HB322y/GiecnMHf5xOVNipLQ0faw5l\ntkEF8+QVRUaIAU4rc6Lehhky6noUTlfVVYNAQiXoP0D3lGvPrXYdFkam1kLr\nm6FxcSjo9PzSpdhACqBTjyoFaFEbZIi0TQP5q+RlczwEBYDuBPV1rCatTPYa\nZXkVDW4vvgy3Kq+4D3dhc/gYDboepwRIzK1zrR04YHqSaHxSGNsiyStNVXl0\nsO5r/lxPDjBGsX51JiOD3T3HO7A5adzjHp0Za/5aR971nwfcvN9W9fkc6Gr2\nSuYDn1s/LlK7NHNbkrfFhH/llHEyCAw7zHxMh/EN+r3LSo8rwyFAifC1Jds4\nBXgp\r\n=Wrig\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"4652f1b24de36c5b696d7da802f1c835e5830e25","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.136.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.4","@adobe/helix-simulator":"2.10.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.2","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.0_1552904892802_0.3287995191019346","host":"s3://npm-registry-packages"}},"0.13.11-pre.1":{"name":"@adobe/helix-cli","version":"0.13.11-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f1a0fe835a0b102cf9604c8b5dcc02940610842d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.1.tgz","fileCount":77,"integrity":"sha512-IcsJLmiagsGb+4xTbBurx90T7Atm+LzCMjztvJYiaurEJYlqKrKmj1Llr9lrcwvqxv2mVkFZeadAFEwC8NFxXw==","signatures":[{"sig":"MEUCIQDXeRj+DeAEw4pawuEn7iHHY9Uqv+ZQ9PFuVDmXdz/ojgIgLutVVKP4Q9vNItQEbdrKaNTJTryMf4zX2IGSWmDpxaY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcj+xJCRA9TVsSAnZWagAAJq4P/1IzZa32z2vb6ww6AxQa\nNryO2ruEIFrRFCQf/AgK1w918+NuxhYTM1iOviNWe1ncjmVOl5m9OOQaGl0Y\nahm09WiZjOYpd8C5/uCjKV7W73Hq2eskXHBiHZ6x9XQUd3/xmx9bRjLcsTZU\nYnJ0GFrp2XYGDpy0Y8srtZ3OItDEQUPCioLFrNzDU18U1KXARSL+t+bci7et\nGqcz1lfOns1FH7wsEo/VzOchOX1U9S62fop8xnb0T3nxm4KUOU0/zebBz7tv\niY4WrJs+39ZOKbbz9keadw3948T7FkSViObU7MSM8b+4VVdr8zIwIpH6vAvp\nyIVLNeWRsO4O6sAPyyzeVdoK3ratzEOJl0Vx31Xnhc20BkpoDb7NS7Ovd7Kp\nphZRQSOZeDZPZQa/s7/mOW4zGf8nh3gYt89RR6RMIAYufUe3t9Kaeug57kn+\n03/eC9Iua1ZBrKzMOXmjizbIcfNcc7ksaSk66U356Az2CAIO8gK60Kn3hAbp\njyEGEw2nkaS3vsslrID1KuEvoWgAIggC+xVyYnGD0mylZ41ltUPhQQ01oki1\n6b6PLPIyRkyt49d3oT5RHpMtWwTXnpMizfO0mRCZuDklMGD9fCsagxJk9kBd\nhB7jzcO/V/nb/SWAs00U5gffteM9+8rJOt/7qv3HBB4Zw62RXdGuQOp9KIvY\npPxU\r\n=eq9X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"e61ef5576fa0569d2e4c70eb48f02cdc4280cf4a","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.136.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.4","@adobe/helix-simulator":"2.10.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.1_1552936008377_0.300478700572415","host":"s3://npm-registry-packages"}},"0.13.11-pre.2":{"name":"@adobe/helix-cli","version":"0.13.11-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9016e53d071a201788a2c507aaf302fa49d7ac66","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.2.tgz","fileCount":77,"integrity":"sha512-37xxj57MFTh7MHaaO+sXj5F1/obN/Vfb3ECCU6/kNJ6QjuzpXBn5HSGZs/1kZwfD3tOiSTFmrpWfF6K000m/oQ==","signatures":[{"sig":"MEUCIQCRu7jSVICbPqzxdBjlZzefVGCRP6vvcJxgN4qSmFObOQIgL0LozglfDaZv8PAi4wMP+CdS5RSSS2Y2qe7Jsj7uWeA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckKTiCRA9TVsSAnZWagAAgP8P/A2z5B2WTGDEsvNmjAni\naMz6msGeRNSXJREubTGz1VEGOwASrICux9D+sb/9YDesl/HELXap8K0BHDix\n8twS+PaKTLFDbRX58q1smCnr7gr48xEgg7Bke1b5vYlWWdUq4x/JQm9NUKoH\n7g1pDHncIOt+Wo/M5RunzhhhVEKlGDEUHC+c7vo5zWvhPZy1cmll2qgLUArf\n1rKNTrvfyjSpC2UXv1e/DL8NeC2KZ23OMTXyBqBo2QGh0PAj6Jpp53ctrexe\n5XCqGMwO+0fL9AUnlwdSFV+ca+MmHKB9wEbANlAlPswFXTj1/UgOFQq2Lacz\nqp5TJAqpJhmk2+HijVX8Yc2mhUpTAlm4y/rJ2nTfitll3Fy688iIMKBtG983\n4zfZKfpshLIASWN1uuGvZKuU7IS3N1yFWzw786/BQxmdgZvdEgHtP4dRNM+p\n2jel4NJz0aenPASRnIED0uXW+AO9CcuA46HUgKpLWM5XSHUBlxd5ChfSnnP6\n0S2kJj1fsMKqSfpsBEVY7DHczwzMxSsp8ps57njOLGZCcWhqV6gqxliYqImM\nAtcsIZdb/CBC6MBP1We9ZQ4hhXLj8mXbp7FcVbzCqyWhvAFxACkOD+yeW/eS\nU9OVelspOBjlaSc5/1fcS+1nPjmkVpUlZ88CBgAc2b+1HHgFyLRZZ/nhbopr\nAUFh\r\n=xjie\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"a3899d7b010924c236bc5fbaac5c76bb6319f28d","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.137.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.4","@adobe/helix-simulator":"2.10.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.2_1552983265863_0.653269057587123","host":"s3://npm-registry-packages"}},"0.13.11-pre.3":{"name":"@adobe/helix-cli","version":"0.13.11-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4ae4cbec4a4ddd922f4dfa9cbbabaab3897a9b6d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.3.tgz","fileCount":77,"integrity":"sha512-4vcqToXrq0hkbO5N2v1jAeRm1Co3aGFfyzW5ysIGi6sLS9/3CzBLTunIeFn+An57wcc5TxbyY7kPHhwTyKyvbQ==","signatures":[{"sig":"MEQCIHDB7O1q/L0EJzKQeq6zxrDKW4dvrVOl0OldtsircIZUAiBaCkbzoepNjIr3waw+Q1FWCOqyY0hh48mdVP+E0T/e0A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckQGECRA9TVsSAnZWagAA2OYP/i241ESsa9zqO6uco/CL\nSIeGpghGHb3ryL8OcXgZgodbMdEeI4x1x4RzYttyfqLgo52i0KlbvKAik5Po\nNTdxiE8kN/IieXVH0OfWQIFZjiDZH29cTHU1wcZLk+db7iVcqMHZgQnE3Ijh\nQlwpuDw9avJ5poqRT5B+j0zoxwiQSUp2jN1zEMfIwbUiFWeD2f9PlPwz1pOW\nGiLqY1qtUJNlO4mg0DN09QTMdIokaUY0mNmCSPuFjV9EYq/k++L6v8dEGBYf\nTfAl9Rdz8Ing6my38gsovn/4GNHw7lzTuwov/rtztlzX56vAC8cdKSeip76c\nY7ux+PkIz16JXEIvpe6v7OnggxHhfdLZAKPLKem8gMJvcnYGyQTYv174yDNO\nw8z1ynz4ycba0NTY8txEX+gSfWsRrC6oglljM6IVHHO/y8HoZtZx5X6gkv/r\nW+KxdGbl/3P1V8eWht20Ptuzj8N4f1Gwpe14mPibtNDWJAGAS56fTuHDGoHG\nXkq6TPr3T6CFix9Yb3eVHf9sXF83hJIL3bdHctZtgV1m5nqKr0HtsI8Hppcy\njVEOuRqejTo3narsFF1azn6oaj9IpK9IJQe5pUQXqdb74F1gyDy/HO7FhBrj\nawK7Ptp2o8Xq3Tfj9ypUfyUjyDA7nqva5ixs7cbKcLlhH8GlIMWJbdKhQ7DK\nJD1R\r\n=808Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"8d0afb600d1add023825cccd08d355e8e2a299a2","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.137.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.5","@adobe/helix-simulator":"2.10.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.3_1553006979099_0.915183481017311","host":"s3://npm-registry-packages"}},"0.13.11-pre.4":{"name":"@adobe/helix-cli","version":"0.13.11-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"296018b4f43491a35a4426745c0d45b95f616ab2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.4.tgz","fileCount":77,"integrity":"sha512-0sesQrsyaLkbRZToFf56B/7On/ocxJmiYUaD8dkcg8JbYVXVLzt8njqA1hOTg8XGYicgG1MFQ/ydkPQaqeE1kw==","signatures":[{"sig":"MEYCIQC1gFpezFNBQ6ira8uxyB9XdPJP6zlB1QAK/dek8PMy+QIhANApRA6cOnKeB4Wtulg/y+vTu7YU2DvWeHxM8DxdCdXB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckQWGCRA9TVsSAnZWagAAk80QAJ5ouPdW8qjDzZWXCnw1\nP2ilG6eCaLYHKVaLwaxwEll5mCfacCyhsGYaCnuc1Hn0pCEBbH2faMaZBNeN\nJ52flumuzHOX3GcStbtGqt01FumSxnHA71LekyKzRgveBuD5WDw/uuBd/45o\n386Eoqowk5JdmhthfPbzXNaIlqo33y8uGi/iChl6/+BV9zEVMnkHf1xQ5sh7\nYfVo2fFSEk/Hn3hk81E4X7IIX4hwnAjQXL/afTHGq4iSqIoOCWqlDVG/x0zv\nG79s6SfcC0lZBDzd0Aq9bi/BzNM5cR35Uiz7y2O+Db/72kTb9K5179vaUmB9\njKC+eRWdR2WiPa7ukuf5SkdVHoC6VkdKJKf/9ft8edNUSfMsOMSLbiA/tgID\njKNe2FEQ+00ynzNV3pQGHa8Dx52PpmDQPlfo9xHLzAZZuEfN0MTfC8UpSr6H\nYPw0ZR/hLR+XDvUeTHPuaCB1cM1bP6B93aGgwHFqnFmlZu+yfrjzmJASQ/s0\n3Lv/KbxLga06qMYWCeY7w0JykaiMx10Kra21G1W2+OWKR0LjGlM3HVok7eNh\nENJ1KceoQqLQ61NYWWldqf1qV17IUoJ6BMOMVzLhDbRLnS49ArGdisuIB8jw\nuwvPxXVvAKR1lCaaTrSIhxddQmKvkFk8gRszAc/LAkn25SnJquCbHctiqPjl\n5+bk\r\n=0mKe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"0c6654fe8819ce4ed67ce5d3392a4a13019c9834","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.137.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.5","@adobe/helix-simulator":"2.10.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.4_1553008005277_0.5138990693714311","host":"s3://npm-registry-packages"}},"0.13.11-pre.5-dev":{"name":"@adobe/helix-cli","version":"0.13.11-pre.5-dev","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.5-dev","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"01b6906e5c9d811efb252151434ec447a106b2e2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.5-dev.tgz","fileCount":78,"integrity":"sha512-9xZ5qtfK9GvuGxJSPaH9J9+jXETFrHnWKkEsWELxLT4lkXyyMFhq3ypAUiCnEagll7VKjKC4fgusT8DeD+Su4g==","signatures":[{"sig":"MEQCICzV/dqBayv3MCYPEoitdF5vpccN/PlcBgv8zbUeYMD4AiBDCLLzM8pOawfMSn67Ze9PbmjstxEdQe+ayalQaI+ofw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":406623,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckaPmCRA9TVsSAnZWagAA7bIP/3Yq13UKEg6F+XbSKqi5\nJOd7n/uQHRgI4w3Wx/KVngyS0X9mCnppYG2XSG5A+qtEABcSgqGzFewkiafa\ngfCIvChWVl6sBJjIQ/56KpzSQzZXVBO/UOu9Xyq59aW00/3BvUdA7ocbF20S\nZQjKbHO4sLAdxnBRjCrf/0xGLRCTa+dK5HbTwDHfKinN1yGQV0gif+dVk1u3\nXGl5nI2pj74MH40YnyQquHKa/BCBT4GEEXADH4v+d2z6z+/kc1OmCSeB8CAG\nLvw5o45a00rj02lFEGWXlstyJAhKKj2oDSa4HHV2OqzgjxLIptFpxQjzoZDD\n+vqXVh6WiDhoMnLjoHpaKdSk6qg9z8FTg+YOFOd6xJLhtY/QjfA7TpEtYAqk\nrD/8cA/bo+ZXiSvpSpQKA52T+kOgczIDgMMJ+7hy02WkrEMvRP6ieGAROUHH\nwe21MV6aT9WJatRwyfHjn3zxt/GyE8FQbBRqtzMiY9K1HVRqdbE6lJBJSC3m\nXWG97nnyfTIQlfTipOGglyAaYzLIB0rcpFsb0ga1Ows5CguCmAn+1dlfdBxP\nKPe/VqA3uDeP3gtdskZTZvW24GIU2nSS+kvprfYMaABiUNSVaWdrJBnTPVOI\nQs8trcHg2a9gXt34cO8+bUTdnzby3NQbHgaiC2nBu6EHKDnGPPR+JvUY89ME\niiQj\r\n=0LEz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"9fc2546457edc9247ef1864237ffddf90d586f73","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.0","dependencies":{"ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.137.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.5","@adobe/helix-simulator":"2.10.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.5-dev_1553048549972_0.41350754959137226","host":"s3://npm-registry-packages"}},"0.13.11-pre.5":{"name":"@adobe/helix-cli","version":"0.13.11-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"220442480d487f17a4b1ac27e5540afe5e3f6f4a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.5.tgz","fileCount":77,"integrity":"sha512-758ShrYjRd+GemnXwzfA+VEKVQhw1t8TLo1CbozxsZ/vphIiqX07QfTPzFq93gPmAxL3olJlWpSS50c1aIrrcg==","signatures":[{"sig":"MEQCIAF0YMDeEc+dX8xnnK1h9+YZ9xBbaa4bucGxUZxWhhwaAiA1ndb8Sk0oswWHNCY29jBQ5eG6JGHqkKaikxT4dabQSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408857,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckahzCRA9TVsSAnZWagAAxz4P+wRW4Ksq1WXXHvB/DMkM\ngJnbT3kJKjCYFeVcnkGtaMrkHTNIa7kjf6dOiE2LmJHgl/H3oP9JcDVq1/6v\ne0l4lC8eedjRYIemVEZV14TCiYFhaW8LAnZAMUj6WLkstnA9j7pLFQmXF+XM\nsLYTTJ8Qu6ibkkNl06yBdZ50HaW3gw7U0maY4AoVm3NNlbHNng+dKwHmGNHh\nWylKtscqxJkyo3ISRUMjs8kkipPxHhiYyrpJqud5VDvLmoiERYSAqlKWVxpP\nSVlwfr0cR6I4wj1ppcYehhVPOC9jUiBxouGFKsbgYhyjk1Cjhm+VhTlfh0Z2\nHpcdxM6YnHpNCKbyYaz/EPOPma68DSjh3aYXajKG2t++Sb1j8RAjwrfPn3xp\n3YRsTbxtLi6ypeGgnpt7AYxARgWGuc1Z31qU3mPzbhye9aTV4bqHnbZALNU4\nNGrUeLzUp0rZfxu83qmbA934nMVEnbyJpiqr4qPh0tB3pCdVpe+ebXfhmQhN\nzAp6ztAE0tbeX/vKFNW8Y/qIvTgp9csGeGASzMohA7sDc5yis9UVAgs9Wpor\nIwC6o/vYRSGURPPfHVufUWY3ZJXrbHABMxGVXd+/+TLeR+TFnd1+YjuhWABw\nAepDQW9BFzG4LOOSofAliJItnFv0JVNPSLTxYIKe+2uNYGVSQNjjQtqFWx2w\ndOoI\r\n=uzqK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"09db3504e50911785bdcdb2956c2f067abe8f5cd","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.138.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.5","@adobe/helix-simulator":"2.10.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.5_1553049713623_0.3320553240363262","host":"s3://npm-registry-packages"}},"0.13.11-pre.6":{"name":"@adobe/helix-cli","version":"0.13.11-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c78cc48276869ae33a8f6b73c1535ec64bd95236","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.6.tgz","fileCount":78,"integrity":"sha512-UfehUgDDVc+Pry/Dpg3Oj1MfF/npen3dHmDrML0mSYVUhC4cNniDqI7ksLAU2jjFB4CDHR56dCKHwyzFKauVZg==","signatures":[{"sig":"MEUCIQDwjw/1PeZ4+143kU8+Zy9Hm43JHWAbQ1Bc8kr1TJMgoAIgbbr58yORlXw4gQcxGSdhWPHaKX4qnA42p2Ks4c3PwEM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":406710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckc4pCRA9TVsSAnZWagAAoGUP/3fbwRhhs5BgLI4WiMTE\nSf5gVFlrYdPkSwQTa2SsPaIA+Ey/CNgS+1b3XwzT3r4VGaxxuGwIHMq+sK+F\nxBFGexBBbmfu8RWNnzt8sVXR4LPiXjn+n5fhKz4zAAYokfyu+QWrPEyTX0pZ\nFbh32+mWWVBTiL7pZCCu/1K2jfQQfbb9UdmTvumdrgphm2oo8K9Pxn+nE0go\nuZ46r2SPhfDZDrDdh6GSV/aCyFd288W+fv0wTvBozHPYSxnoPSi9BD7pONK0\n3+P1t272nz8b3++rusQowkymJkDh+JfumtASJtIBPT3TStr/6LVImQ1BwZDy\nOWckEOU1pY1Hcc+7namwuFIkyRo6B6+mf7hc4ThnzxbV2sH5k6nJmLzP22BI\n/cvJmdmanKrURS0KCLaLCkwQ1mlLuiEo6k67nxtaL47gTDs+DOpeBfjFOdFo\nMWt7ZoawP5DwAIFUZ68viR8xUx6UIkXwo0ufC3jtO/3P0bxXqolMncGp8iE5\njCdQzym0qhG5ykQI6cJHjIyA539Mp9kefYVfqnYLYf7UKJtwZzQCKBRlDKEo\nY/L8ujoVW68UrICkzg7Bqsyj6eqzx0XezNmq8S/hg/wPrsr5zxBwsHqUboO+\nFb4sbya1J2O1DUPpXMABMBAroXxh97H541IAxPIAGrBmc6fQqPr7fXrYYegc\nuzJY\r\n=Vbn1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"ae68a5b5229b2e06537d6be488d4844185574a19","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.138.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.5","@adobe/helix-simulator":"2.10.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.6_1553059369089_0.443221588487684","host":"s3://npm-registry-packages"}},"0.13.11-pre.7":{"name":"@adobe/helix-cli","version":"0.13.11-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"df6d6693969a3f2e226c1a96ab43ba568ef2ac2f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.7.tgz","fileCount":78,"integrity":"sha512-wVYpFhRGM2WVlcfrjaGCJcM9YC8D/+krj7w7QcnQ2xA3qO6UvADnVCkBIJQgPmPGgsCFulb1B73ztYIWJNInKA==","signatures":[{"sig":"MEQCIC5BZkhbQEwSU0L0ylVX+ZhNv0HlRka3bDFHoorHSxMFAiAgH9csVqktd62v2UV/PFXMNeb6sqXiANApY3stXC4rqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":406710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckk4dCRA9TVsSAnZWagAAxpsP/2EMfF1sC5MSv3ubhKnT\nRvavlO8USnOghN4W7+33sHDEz6XCoQRaNcK3Xg/HgH0z74AYpEGDCZSUSjOc\nOtiIeNhscIoRw6eid7Xy7WtZp9Ash6dinYBMIQ5stFcfIDWSeRjcAl6VS7r2\neLt6VOZwkt6MCf0DmU4Fhw7VQdRX7BXbUIOw4GkzNgZtH9aJAryAGt9UBVSY\n57oKbVRXLNPtMl6n40+AcMH/HRfHg2+6TBkkwa0kIhELZiMZTCHkB8L6Yweb\noSizONIt0Z+8FfUFhjUXGBSKjwmbh09RqszZS/V1nXAMC3A8JVVMe/FxoIcA\nO9sDhX6xEjmLn3NxV6hzBPHbGNhxfyNCMFyesmh1poVqEQI8x8SpIeRXijs0\ne11n9RrKL431NNsmvAzr/JZtHssYsIQU5DI7vGZWQI38c2EwiDmMtb+LotI4\nfJkB2k6u4wL5bqdYQDXJWDbNeHWGTCx6fF2L3rCU1kNs/rxd3wUHO9U9xANQ\no0O4qJF9mr3E1b++IRYrYuntLvPCMHPKVwww531p55DLol2jYNdOJh5iqnip\nfT8RlwD5aAk3n/yB15NFVJiuTsgmmrCWxeotmK3uFhdFZghXt+tXFfl9UtGW\nrLrV4X8+mZffnX04+QTCCl1+uuOgAs0OAjSjYKolIjMlV/JpFofIr0qeDQJH\npJh0\r\n=ntYp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"dc53a4c64f4a1c7f0463b629fd06828443b2e78d","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.138.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.6","@adobe/helix-simulator":"2.10.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.2.7","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.7_1553092124414_0.3014563906073109","host":"s3://npm-registry-packages"}},"0.13.11-pre.8":{"name":"@adobe/helix-cli","version":"0.13.11-pre.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"663e242d033dc58e682eb048aa99dab66879215c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.8.tgz","fileCount":78,"integrity":"sha512-3RPBK/RCBEeIeqTvDom6ViaIIGXlB0XSXn6xbol8w34vME/NGPJekAsjU8c85cjSIn/axpB4XbBvdmYF9nJvNQ==","signatures":[{"sig":"MEQCIElQLVVgRI9tvKWWmN4zVw4ymCMJcij/Xi3MEzNiboWsAiBXtnQvnSRmKAb+CDmlxERRjEmlMrun4v/LLdBz1PvG/g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":406710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcklXSCRA9TVsSAnZWagAA9v4P/jwPQxrindtAwqDgJpKv\ntb/ipMq7KenjPsjuzBq+sLrlwbWKfeONuH0wwpVOZg4YJQ6GaQ3J3n8zWxrk\nNb9ubrPoaueKVBPRZJKHOipGV1fOssvAE/A04FpCSOxy/SOZ1qB6xGIQDbI3\nz3ZgByTgV1FCdHK5a9pLe++l1yQ5woNdxTh1iCXhD1p7LvszurAcLYOvygOX\nVrr5JVcCCwA5DITvu050SFPrmln2w6U9ACaxvKp53lt/jYRbb6mloKRYXRE2\nQaB9ssmxlGJUSMAumuda2+ctMDeYTud0tRuwqUhZYf9Y3O4jeyv85L1P5bki\nzz1GxZGPFLFsHdfXL/4JKBf5v81CYudr/1GntRJYfspx5sNNRffG7BvfKXY1\niHBtbCabmIuYjpBTyOYwu5zDYJcS/lZWBWKJVCcjoQ8sy9MMLr7rbvG83Gi2\nLXvV7XvmL3Ew4NTcamGQwjETImgK++GQlq8B4hTQe8EEOp+fHAuDBtPHXJBX\nSQaA37RnzISPm+/0DVxra/CIf8a4CmiQYQ0610LXcnr+szHEvVhokS7kXg3a\n1Jv3lEVNb9Lw6SV6cgMWTcMCEopogKYdT9laeIALoLVbSe9u1hqPodAEypYK\nJRcYv2PryqvAvop2z/q79GSt7gdLPRGC6lmhcuubnKPFyLgWo45koryI9ZfV\nTDP5\r\n=ZmJJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"114906e3d3d91aeaef0bcb41dd0f305d4d692568","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.141.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.6","@adobe/helix-simulator":"2.10.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.0","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.8_1553094096836_0.0667488836963257","host":"s3://npm-registry-packages"}},"0.13.11-pre.8-test":{"name":"@adobe/helix-cli","version":"0.13.11-pre.8-test","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.8-test","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3c737003a41fc30e432b4af05fbc6dc63efa4df2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.8-test.tgz","fileCount":78,"integrity":"sha512-kCgXb4C9x1goXDPcSeX00awG4MknMYL5v5R5cORp6IqkftCbtOD51zquBbQCID/RDWMut5bBmuydZDZvBNA4Yg==","signatures":[{"sig":"MEUCIFZlPSUbf99U4L7pDLkzJk6AV2F+mKj7ZvNLTO/Cj4/KAiEA0w716MmPPweXYaCYTQ368VB0auhnTcm8RAeVEVLp6jE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":406716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcktcWCRA9TVsSAnZWagAAfc0P/jo0qsmCw/xrxIcM6NX4\nyKflCCE2CZoiuv+3a5G/EvWj6QW7mSK2Ft4mmB1Ae7bobuDbz0BeOrt7IH7U\nzWglVJPdix9fsr8dAEc0I3KmD/1VFXb7LTumXik+d21x/Lr8Oyb0YEhSKX3a\nJ7ogHBEQxAs9LGAjdqddCgS2UFFTt4j11l9tL97h01MHIOZp2mlMb87I8HaK\ncF3JQuNgRSka5gfwfPVWU5jVV0D0vaUbkUcHPViiXyj4my9KXQCOEf5Wip/n\nu1zzSqtwcgXfZgO3G5QCny5gMP7DvAGxFQcuOIHcsNWJeulnqIabTH4XU3Cs\nrT5lLX1A2j4RoAn6akmYC9BMH4rltB1DtGmWw5hgQLf4IsIus2zPytiklfPo\nSlu6urTobjUS2q2+Lq3Q59ttF1UDH6Pb8jyBE+TQxedyrMwLUPZvAJq3pyTQ\nFWgGr/I62aEhriaxao/8AJBz8gDr327km/ewBDSlT7TpnXEXhdkBBwS1zBUy\nCOTRF7nEKh4gqUmIl7YTHSdCZ1o784IfVyazbhPUH0352W/OWvUAlnhsw3Fp\n+rNvqcXU3VsEyCH+xo21Pc3wbjeIjGs6c6Dc8cmO/QwCznxGnj1hUEroy43W\ncsWPuaSTKZ9T6tkXomAmXtSPji+iCxzDFRYuFKg/NpndnObxfFAuS3IrfmCT\nqcFV\r\n=eGpL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"114906e3d3d91aeaef0bcb41dd0f305d4d692568","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.12.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.141.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.2","@adobe/helix-shared":"0.8.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.6","@adobe/helix-simulator":"2.10.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.0","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.8-test_1553127189668_0.8938298510592806","host":"s3://npm-registry-packages"}},"0.13.11-pre.9":{"name":"@adobe/helix-cli","version":"0.13.11-pre.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.9","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"62e037d151193a2b97a09c368c84277cf24e1d99","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.9.tgz","fileCount":78,"integrity":"sha512-gwBrjEmtT94ElM+SoAyfSQb7MQshqlv8BZDcFGwYSps5uNNc9zYUVIaVhupL19EaIfBvP5g/DnvoF3S3uoGXZw==","signatures":[{"sig":"MEUCICErmVYXrwaqgPg7yEOKdLQLA5BV6FLEZnKxXO2dgbIvAiEA8vt2Ug96KTtYFEjTpK8jjio5PXxSFPSb8u+wiFRSYzk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":406710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJck0CkCRA9TVsSAnZWagAA/lEQAJUNkjNhdiCJ/HA8mOQA\ntJSUF7ktlwYGmeY+bqtM7WydZino2XYZQE9Yb9AtZj8ubqtFmXFoHIN2h6zM\n34BA0q6iTLFp7QonFGEB5CusTs+f3O3g1cRHVGhcnsC5TQni34rGbkmzaDnN\nITC6fN6w6dH+mS0vngcwsmKDBxgL75hGuXhduQcYeTcmbngvJ4CFjvE5zcwd\nkW8ej9vCiehOahnmICBtji2t8Sphc9F4P1k5XD7NZG6fNFvCtS02asD5py6s\n62iwVk0xAl2oV8+fQU7owskFH5OKHjMtp0nuG8NW4BHRRuFpGs+gMMXwZo3j\nSlhJWBYgxXQKfTN5VGuCeyiGzMxKGUB9nUz45Qko/Xt0QAEIelaVOGMmPh0T\n8Td3xVbHyVgy71HCxgkd8FIcp3142Kil7dyGgSXXBIT7oyVwsGC/EsmsXWqi\nX/G+8CZWyqJ+00ySp1VGbmfXUeSv93jk80y2jGeg+/NbOPI3OZ1vPYWI2hC0\nNr4irKkf5dOhVCQQbm6imGQrQPKrNz7M427NHWDfuUYyNdKJ653fnNBwDeb6\n3Wrgfgh8thr60z4nWEQeB5CvEjssMdyyOXDIKsuTeUsZ/DXo44jwC5isg8Qt\n2dX1YM91gfbctLb6eTQ3miGxjzTINbKY/n8GoGKjDodVfkGmSvJpp3h/SS7j\n/kXj\r\n=R3M2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"fbdec9d591af91af86a894ab71a23698eb6519c0","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.142.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.8.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.6","@adobe/helix-simulator":"2.10.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ajv":"6.10.0","nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.0","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.9_1553154212120_0.1258515386738739","host":"s3://npm-registry-packages"}},"0.13.11-pre.10":{"name":"@adobe/helix-cli","version":"0.13.11-pre.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.10","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"caac7a4adbc273ba6433e309d57b9cdc19e2bbec","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.10.tgz","fileCount":78,"integrity":"sha512-ESV6KpQmvoZQsrwfihk+o5VvYXHbSJppskt57mb52pSB3EdjHWJ3Q9JWa6JM5tXv9npVFhZSmW1kWOU2qS8vYA==","signatures":[{"sig":"MEYCIQCII0+PWzt7eVdxKb8y+U4kss+7jbBq8uufV18e0gIf8AIhAJHH1bzWqBxvVU1pDDAM91JJ5g9+gq1ONve1rTTPeVlX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":406712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJclDR5CRA9TVsSAnZWagAAAyEP/2yjifOzz4tJMn5NGekc\nOTtU7hGljHgU/x3TluYtTp5byRRjPeND7R3aFW8splqG8ljuZP5vfqNgR0/T\n/8fNE9IMAFEsJEh4KsGzyQRQ2Ro6UJ1GKAM87UN8oTaQ7GaOlivqpBhQDrp8\no1viJ53Jw/bOlfHupMhzjoPbdxH5s0/KZx65ABP2cCaZeuAz7XpsiLUQS/S8\nU9ACgTngBmsnmb7qL6igL/Zl3T2bXRiTcFXeSqFYsQ9jo3CWTv4Log9kI517\nMa/icS7HOzPbN2bCEPR5AsY1duPWhMX8L4C+h90zuW6T+wGqlk0uMdC5vNHa\nOMd+rCoCA0qUW35OkfzcW30u07A23JcboEvLaZyeIiFcmiTG57ZPjnHuXr5B\nz+yXh1yGR1F0RiNthbbY8PQMypAE+zO/SLl0RoCJ1iw264PK6+tnnNgL4/QV\nBlzSxhyYAlvpSup3e+i6Tw7uoxzfb02cBuFWjB2PjXy8pskkFUBRNjkZUBMm\nhIh37jR0wsMGQsS9+WH0d0o0xPUSBkgojYn60KCytXTusltTWSaj/wsk6ePV\nfzsUOAOTWUvladinCySRaSIHRZsZ5cAswkGpMpKbsUJXjMkb+wPDFZXfPw5o\nMZr9elUDs3yxINh4afny1uV8XaUKd5Ry1qVnGLJPSgQ8Ovk0VM/zPHwrXExa\nxBXd\r\n=qJrc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"6490f041b85c5af719f3160df2889fd89eadaf1c","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.142.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.8.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.6","@adobe/helix-simulator":"2.10.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.0","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.10_1553216633011_0.5590137572561631","host":"s3://npm-registry-packages"}},"0.13.11-pre.11":{"name":"@adobe/helix-cli","version":"0.13.11-pre.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.11","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"df5ac563a47ae94ed9730994e6024de48471d0b2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.11.tgz","fileCount":78,"integrity":"sha512-yX2m+80/ol0rzmF5GX4FdjctThRV6OWfi4qobVu+o5ZnILidjtDp6wugIjm5H4cXKZCJCZ4Q6QjXHftQBDTmfQ==","signatures":[{"sig":"MEUCIF6QfrgaOKa47WjQ2fKwRorERgv+gHipqGDVhlrCXD14AiEAh4gT0TTBG62qYV1YBqyIlMvYWzqIMKiDdkh/d6vo4bU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJclJx9CRA9TVsSAnZWagAAIE0P/1k8WIDkeywA5zsI356E\nlJjZkNKOKUBoMThGRBIZbwCRuidTv+XGT+ziqb8ZDc9Cxt4w+WSOAyaa+aU/\nkB2hM0f8gUIUfW9oZZd02e2GH0vS1ho3jwJjSkwx8z+/O0haezTui8yJJu5P\nh/b5bIPqMBo+tVkZg9XT5qgYZ/ETqiF4xkTPLJI+qsKlyXK4fnSlEVW0C4EJ\nGN6yVZVnryZ01Wn9vZrfVD8wY2B/Q9abVqf341J5gScE67wHcyDt+xezUMeP\nt89YZE1XrwKHmReufWjsfmsZ3NeF8yvVPr9OUtLp4+tyGIAuClY3rsiBD/kO\nJkYjGUcEsWur6EcDT1HnUiMnE2Zf1KenO8HL5TWFNEADvpUHFP2ky13hmA37\ngYEfX4Gz8KyC8xtcdz7qfGf5HpbfGA7//FDffoF0MDtLaziKh6O/cPOqz9NR\nMISqneskEFybh95I21jGuuTmRpe6ZGGCosrN/rtAz7MfwqGbIMOD7yd/Djj9\nv9sO8zQyzSIxlYyAJNylhvPBC3Cicjn1igJsgmXNw5I2eU3KEWUrUuEBBN02\ndJpTQp93D1jEAPnddDGbzdwdbBto6y6xzaXyXmYQSzbUhXkwISU4NSstGYku\nTywHsSoLSG53wYfWYmn+rPR6ZBF9KJIzoYYhB58+yYmV7avnesIFUUJX1Kt7\nMpgl\r\n=K02s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"4838a055e3708d131dc66e3540c2d5f77079c195","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.142.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.8.2","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.6","@adobe/helix-simulator":"2.10.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.0","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.11_1553243260675_0.6449766749268975","host":"s3://npm-registry-packages"}},"0.13.11-pre.12":{"name":"@adobe/helix-cli","version":"0.13.11-pre.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.12","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4eb01fe97293c70f778f535c2a641610584c9700","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.12.tgz","fileCount":78,"integrity":"sha512-Sjnyrved+oDYntMx58qEyJKmlsh0OmrE6kHehBsTCRrkvV9VmC6ebLOFnedAH5LURSBs0BvZO5L/LqvV0M9/sA==","signatures":[{"sig":"MEYCIQDS0e9N4jSzAKaewn/gBRaxxNbqDXl1MRTF+GmuKdEnWwIhAKJ+DnTBH3veC8cNcbANszRsv6I3KTtMM7+hQy7AGrw6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJclJ6lCRA9TVsSAnZWagAAohwP/i0HyeTnWBLocSg5YDdf\nbzHTPu42h1sCPt0rAJ1KDJTPqNMSVrdq9l02d8XkEOSf00/C6OkWjEyPI7b5\nszLkDCqcx/DsZ5wSK/RqZ71siUAt+RzyoLjepB9XnQH/JzU3n2brtBMETqtK\nOPE6Z0Q1zSuiIhGhIY0J+m56gPtPnOSbloiFqmh4UxOjWt7JGPCijC4qwwG7\nL7GHe2oWOnt3EHF02kIUa9vCXZL23s0lU6z2wMw02y8Y5UeDQ9ZdLNL6FyFW\nzR8fBtQGX3aUJGCSNSWPgHUgUtGTJUVGfqvQhvSXzwqrQlEEGPitSTuQ7cbs\nPnvBqEor0QhcHIEM2Q1vkA2yXt7mNx+T7AsXIj36AGztd14XJWuQoBMUo8c/\nGsWBuBd4/SKxCTMHkcowjvqhBY7JMMXU4G/cDiIfIetATj76HIcYOB/ACs4f\nyKzI4qhc+6c1wPPEAGmwZJ3T5mDitRfSuVCojIAZknpRRhEq1Mg98YXDFxbI\nBtiD5b+bbw7u58hJ+SEwfLbhqCgptTeUkBjAGx7mIPpG53LDOnjidEU4ekjX\nZQGXjxriWN3WY0+gSEXXWqV1R/7Zhb3OTYALvxbwTAk/I6IifjACVYeavxrl\nGZx93AJJUgX4exlhv976jxooy6B9rSvOZdSd27INp7UkQNI9gG1IwT8MGG3M\nhWww\r\n=C/Dn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"f94254e69f20db310c30a50370d4b99f82853f97","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.142.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.8.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.0.6","@adobe/helix-simulator":"2.10.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.0","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.12_1553243813008_0.050554898045449326","host":"s3://npm-registry-packages"}},"0.13.11-pre.13":{"name":"@adobe/helix-cli","version":"0.13.11-pre.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11-pre.13","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d530fe5b9739d5926f223276a8c3ad0dd0201a06","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11-pre.13.tgz","fileCount":78,"integrity":"sha512-0DMDifzKjiQ5KNlW3CyIRbokdNpG7YgHhoXka+8RihJ+xUyAPM/CwpfMpuzqKs4oRlImO/YyREIZZpqDaPk4/A==","signatures":[{"sig":"MEUCIAuz3h/Mn3MbXygEWtKF4eH0Rm5YyCLs34w62MHE8NL1AiEAjt0vxlDD0vv2ABrOiXGbfNFe722vox0/Ga6Xo3LK4ww=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408689,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJclKTwCRA9TVsSAnZWagAAyXoP+wYoGD6JFCQpOHqFro43\nEt/6EjNR1M8lOjgYenWwSiJVLAZ1li0hnNACXh217PpFD2wVltaGX+BIbJng\n1YTqphEYkL35JkX6sq5P2CBt/8156nBrtWrMFbbZAdOn7sfxf0tN50UW7DpZ\n+tXqb8F7JBd2x+fUYo1ObdlCtdztjYoWRH6u2rc8UoJcPxI3pEdSylb7iCia\nzFr+QJS80byYBxbX235FrR5HXMW3n9f9wC8bAliVkU6UPBZUelr40wcAQdTv\n468vdgxElXXQ5/oyflsIZ7ZxMcZAIFhwLU+LaAzslip+Cj+pa0s4cN/+gl5Z\nblRQ135GMY0tcmpti7buIWiP88L72XSQRYsQheksIQKpX02JVUFqvx9SFJdT\njJPyNZM+JrfbAjkmz28Wtuv5B447+GEVajzaZe5SLEKLqPttlOdZpfRgtmWf\nqFI0VDap04EW/jHdDrGi7WShnBfrDzr8DYJDtpq7Reus60L+8y14tHLxy19j\nqkkbDFjD2RPIBR4+mddTJ0ti1D9MRFg5IiddE6B7p9/n7Y07kzQHqRRcU3EE\ncPn1sCUWDTNL/NPqCuSPMzWL9VheU/UfKbEVko3hwu5d345/IxnVmDww4WAb\nEwSuaFPJmigLgcvvDNuB/DSEiSdph09Qo/hqVNkO8yVfFgRrFFxkgJAu8ebv\nA7m8\r\n=JBKj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"3fa4fce41c8cc951ba7b32fa73205fbba9400cad","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.142.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.8.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.1.1","@adobe/helix-simulator":"2.10.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.0","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11-pre.13_1553245423670_0.9400777914296636","host":"s3://npm-registry-packages"}},"0.13.11":{"name":"@adobe/helix-cli","version":"0.13.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.11","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bbd9693422f358b7d80ca78bc51046b122e87493","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.11.tgz","fileCount":78,"integrity":"sha512-saeGshS8AzxwCKVA+MxYI4T/7udaU/fDMX0EgBPVwwUiwqOhjdhNI0/Cv0+Sda1tKmJ/rFM5LIHBSGBSF+d8OQ==","signatures":[{"sig":"MEUCIEqpP38bkdhwDXUWXkjiYSGJ8oLqWlVHV1OswanIjuCYAiEA2DSJxdF9PUa1UokL7rSNk38nuqSMpdrTxHq813FP8Nc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":409271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJclR7HCRA9TVsSAnZWagAAZkoP/A4MlQjs1SNsfig9Ti/l\nnIQffFojyHd+/2WyO0C4W1VIV9dS7mNR/+lRSblmQeF7WBRnZoaAXb2qJaOa\nudP5Q0M4Vj+Ld06ca3gfwqT+JycY8cBkBCH91QiJLXcS/Ykdexr4yIjL3S5X\nfhs/zzaxTEmg3Vw2F9MPZFlJh2ojqzuD1ODk9xv2tjoND6ZBlxYTOq9POiGG\nZQhgFsO0a4TUuFQ5m+HXMARP3jrqjuOemzHfbhlt42bz+ajU4pqrtZHcDnqg\nIDKE4O2/MFvuDWA1mMNNHRUwC8kuqOZXk1DITk9iwdfE7LBk+wFdaLUUPTiN\neuC+fwGIboFy5ttVJ6ny6Q+HZhk9EzqHmPgCsQb4fpHlbvyArW5A+Yh3b214\nwOwqb+W3+PQU/rd3MFyHnWaWjQvvrkRGglQ5mdKm6MsoV/mK9b7SWQt2K5+0\n57RqSUXs9/qjMCQpZEnXQSK4azcpCUKlJCdM8UeLaGQgUk1od/MCweiKc7YZ\nWdwPnp3ODIE1umzdTVSdZVIbymVT5LxEHBoFgW6NHdmzBl3MD9Gb1AhG5+sE\niyxnoqDruxmCdL6DP+5dblxolT7pOmlSYCtgZvWoIasxCc8zryG9xcCw7Wqj\nMG8G/4NT3ucpPkRk8xk80v1XxnA8N3sEabbgPHNululha43tFE4M5Y9Yy/j5\na9vj\r\n=4Dxq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"99e326d26fc91a1935db69a7f9dfceabfcdbe14b","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.9.4","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.142.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.8.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.1.1","@adobe/helix-simulator":"2.10.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.0","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.11_1553276614756_0.40465451575217415","host":"s3://npm-registry-packages"}},"0.13.12":{"name":"@adobe/helix-cli","version":"0.13.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.12","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8b15925481324e6526af261247d16ee807e59d22","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.12.tgz","fileCount":78,"integrity":"sha512-fZ1EgMcYWlUvFqJ5h+iTVdhc7kIfl5Xsij3b7/QuzKUZADoARq2T5FAS51+XaXtGI6thgdNIJDIdkfnEP+MYog==","signatures":[{"sig":"MEUCIGjVqRLKPsgWrjxvTkoMIUrV0UZHeR/JLshv2EdsTzs3AiEA0EfSF0tgFP445o8dY/fjj+gSOQ8cmWBTyWyrWTq3wkc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":409293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJclSBmCRA9TVsSAnZWagAAW8wP/3a1IArK4hmf5VvRytbT\nbYUb92q/a7MKVdCIPKdEcxVrECWOBiwIaH8/p5kkMW/DEF4/N5pVtHACdxHY\nurLSZY89A/l9p24r1o0rti3U6jGEwDNlRhG4TXtiSrK76+XV5dxb6YBUunTC\nvJ9XbHVoiC+0bGkSx6Y4PkuiushWCLUeXXM8t9zQqtDY+r1hjo9j+Son5QwM\nEYqj6ahXqb6u4I+cymOPnPZp0sIgiVP/popCKYcH/lwDx6d5r132Dz5cFhUU\n+D7SEc1JhvThnPfC0ZdGSsJPraKZ976hhL958xgDC3EkdGfM4/R1EqnVICG3\nni/RzLg6JlJhd5rQ6+10NLkhwQDOr0IABSF2NJyFFsFH06FxmQQl6nF1lJsI\nCw3WKZg82GNdsjGyS6Lea1jfb6JNEqboDsBjWEbuME6mw2DAdgehzbe3a8xM\nWc+nqaBGOhK3YcQyFGgrV3P/MQZtIuAyd0EKJKTufiK8oRNfWSpoqZwqLuiQ\ntto7bwOFsARWlahCBMU0BNQF4t1LkJfF5mZLaIfkINIakm7mpLebvgVOhZDZ\nDrBgbnEPWKVQNuwgyls9/04vKiF/uZrAzuZrozdoFJ+ZmYpf/YNh6ui48HKt\nKRGQm5ps7vHNs7U1zK8wSLGun3BpEoKspvDCim+VOqOgsNxA3x5Yy6FOgIy6\ndw+9\r\n=bo/i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"gitHead":"4d07be2fc27d14dd4eb1730c1a4a4a69e2188b06","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.9.4","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.142.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.8.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.1.1","@adobe/helix-simulator":"2.10.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.0","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.12_1553277029950_0.2225583699053837","host":"s3://npm-registry-packages"}},"0.13.13-pre.0":{"name":"@adobe/helix-cli","version":"0.13.13-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.13-pre.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9c3ec57c26d024e0bdb47576bc5118fcadc01eb4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.13-pre.0.tgz","fileCount":78,"integrity":"sha512-3OGVom00Be4J0SmgMLbgdcPl62mbWwLlvKF1fdUgx9MYx6ST+X2kpqXF6CuCo8yjuNtRvf4d4uhFgdxwGfQsGw==","signatures":[{"sig":"MEYCIQCFVOfdtyehFWvGgBC+E5nvoPO5TBXPTToXn1YtOnEpigIhAOxGv2WOJSJvIJ7CXw/fNhOLavlx+A6tNzLLKRqAGWrS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":409299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJclSFlCRA9TVsSAnZWagAAqoYQAKGDvBbEoa+rLy4xdwPy\nZRNMxSucUpVyYGhuqVFOYdhgk6onW6xyWskz94jOvXZX90rB6VOQiEcmaXcs\nwLOlS+amJTB/klj6ZpF4dzQQBz7U2sM2ZPzEU3XSZtzqRnvOJdAuph6wsij4\ndCA47tQaOEq6L4/E5eQm/+/AbXHrRFGJhNZygqj/DdzkwP/xTqiRdMglPGKt\ngShF9tuQXM6fVL+95EeZel8x7CXXVtBaSckcgrO4hcBI3ic5E/HlGG8flAYK\n3JyCPWjQeo6xlKMt++NYHHoBk4y59sDd/Qp+jb8+oGCq1X0qUxP+7KBGKyKZ\nC1lThmSe8D2sUxIx8yrhRAqYhaDazDnIwYPSzqRT7IspbBRpqT1O8JgvUspp\nHPaY3dB5pV/D9yPCuZyUduj5ymBgonmSu5JzYIwE7M9Omq7S9CpztT1tQTEY\nDU+ekN/kC7xoAUEicRhXJvkBgkqZIL/Zhmx98xP24aPfP5CMiR5y6HS9nuKK\ncWgqpY8nd90xFBx/JYX/7ucgR/MTxQ45kAtilBYVmnUsAr2AsUO0e2OTrWko\nbG6QzTp/jc8oZWuGEERcpOwT9EAzpvXq5ZPWgj86EhfEmBF38HMf5pVUFLsj\nXes54QRYTfQNqzLBfl76dkXVhnYYWmvcu24WyHA5XmyLlSgirIDkWfWmEohE\nFjoL\r\n=5jIC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"09db3f5bea36397328b9012939a34c7221f5d8d9","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.142.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.8.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.1.1","@adobe/helix-simulator":"2.10.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.0","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.13-pre.0_1553277284496_0.7900851055100993","host":"s3://npm-registry-packages"}},"0.13.13-pre.1":{"name":"@adobe/helix-cli","version":"0.13.13-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.13-pre.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a107afb46281eba6d402d88a5b97b214dea6e311","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.13-pre.1.tgz","fileCount":78,"integrity":"sha512-r9mbroicGQTj4+75qe5WmJuRtZ5tX3FvHZq8+S3njvZDElGVOp7wviqZ73akYgU25PlsFCZSSzns3GtPLxXtXA==","signatures":[{"sig":"MEUCIH1DFxxGBT6sjm5U48N4pOmenC5ZsGB/2gfUC3wk/vR0AiEA1F7IEeMKnajpKgJSyXbQwxE/eRVFhZ+Z/WOYD4ReN88=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":409299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJclVPNCRA9TVsSAnZWagAAnI8P/0JyRB+Lfc09SSobOF31\now+QX8cL9yx145nEHDHU2LjyGUof28hk+z2cjumPPK4TLvB/OZuFcJmn9+XJ\npmvis+kTZg749P9wrdLkO7bkZX/aj+iB/n0y5tNqSoKQPkS3++2/GDqkSjry\nG8uwspqMFxT/Xt53N/XhnXqTA6Irs8jk+kSq866w8QDRbgH4bZaPDyMFHhGv\nR61O2SXY1CwiyJJPGtMsOn0bheXW0cyAUq0miYV1f7FNrpt5M+nSnSObtg3b\nYnoBMfj13KlMqMgP/nazY8zigSf4yyks8rzvpuEr0FwxFZTbjPbNX4Vw8Nuq\nTWfm2R2lGFjxQimZyxC9CMb5h0uuXmMZBayRtkJP+OkzRqVfyTSkLsS4lwYw\nyZaxzNOIC6bIGu5dTFtX7u+KXUNN5XQBD37eIMGV+bTN4Ju8sJa1jsl9NpJ6\n028+NgkPsBYl7dCzSyCxYf3o2sLmfz7hTlUwfsO11IWIl5KpfpogkJKGfB3L\nnxWJFVXpuix/JcY5dV7SQ9zcJ5JuOXa4nGYDuHnJIjEmwEpYHvoIbE/ANVyB\nuccd46XCXPm2REP5hOFFluS2tv39Dp2nNIkfhXT92TUfOC5N56IXiiNDT2DE\n15Bducx2lp4ImN4GwOFV3vD3h0TPtLxLz9+p1c3HL7o2bizk0bf2ASlE9yJV\n/vRz\r\n=3l2S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"5354a8653ce29b75f559dd24f15bd0673a61244c","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.143.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.0.4","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.8.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.1.1","@adobe/helix-simulator":"2.10.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.0","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.13-pre.1_1553290189381_0.5097489259293262","host":"s3://npm-registry-packages"}},"0.13.13-pre.2":{"name":"@adobe/helix-cli","version":"0.13.13-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.13-pre.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b4613f084bda91478e3b18e0e5acc8dbc0857af2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.13-pre.2.tgz","fileCount":78,"integrity":"sha512-xNfUtQMeFXNyRMPyQGh56fpEaLEOlSK2Q1gjkdRhbFOl66uMg+UKlp75UxAr+UpLwZEBOtgKrCmO5kuBFQ1B4A==","signatures":[{"sig":"MEYCIQDe+EKZiC8JVCMQguTm2EKYVMIELhqRbyIUJRqFME1+vAIhAPPIXy/nUZLSMv3l7xW5WsASFdJ0IjIZFY5ztvL9c2H8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":409299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcl3QKCRA9TVsSAnZWagAA/XoP/0e7p/cipPL2CtgewYij\n0cs/z9zRI2K35yZd+VAXEdVngct3CBuYhVMbYNZIMZGO/nvnbPbieQJ8hIRj\nBoKbi6ADzHJ9LDGd8SIiBpqzpZYBMZ8L8I8qbcaRNidyhDOnSw1oYst5F4BC\nqQ2GXgFNGTlyU5qjHS7ACbYWRhuptiazcmydwIhmFFEymNiaopRUyT1EzT3R\nHBJsAJBolgRTYzUgRwnI594BjzWYHnHvpLt9YQvEcuhaJwO4c3mavRXkf6rj\nlqJggAiFjKisG9WdrHkvsJPcasePPnSYf0njMyUrwFoz7ZzEbLoAZd7aFzt+\nXnZhpgPGBA8wUiQq5L5btUqsS4zZh1ceVmmPQj31TOUu/ViCulDamVf20sl2\nlEddmU5wRekqCJWA9T2FSsqrM+4+4dkxQ8wlGWdfKzf1tmvMPLWozMSi+32X\nI8SpfvDDzvvA90yIwXhf7Ot96hAwDhMQnOsKoQvBDc+jWaLy7laUbJyaW9xD\nKN7aSNSCLsAFpkq5RREYr/jlvCG9RAifpV4n2EIIKlI8Bw+/DaKlUaH36mES\nGFKyT+bwjzO/b91G/nlJN/RSI/+2ZhY3Mc9mOXb8CEA9CuBQI79ZWOB4a0oP\nso/xPjBVhQLxCuvacULxlInQnXxIW6hqLTUEohe4jaW/TcgpirO0Y9Qk45YF\nqZh1\r\n=rxZe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","gitHead":"e4a7cba72501cb59a9d72450a3356d73eab7e69a","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"5.5.0","glob":"7.1.2","snyk":"1.143.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","uri-js":"4.2.2","calibre":"1.2.0","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.8.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.1.1","@adobe/helix-simulator":"2.10.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.0","eslint":"5.15.3","unzip2":"0.2.5","codecov":"3.2.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.17.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.13-pre.2_1553429514179_0.4411469925231484","host":"s3://npm-registry-packages"}},"0.13.13-pre.4":{"name":"@adobe/helix-cli","version":"0.13.13-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.13-pre.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7882bb938fa6a9080731f09a85c4bffd27fd8ba8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.13-pre.4.tgz","fileCount":79,"integrity":"sha512-OjWD5Eo5IvrC4W1DWGqLuNbosTPCHaUro4jna9r8UigUrX0dvoYtmLh0Z32qR6Y+OdbZk5PT+EQyIUWD70Uu4Q==","signatures":[{"sig":"MEQCICj/XDMDsEY2Q27Yp5Rn1LZENQQFI8c5llzAWJOfbPlIAiBFdx20L4HsgdBuKpmwVsLDc4ZfDtn75aJsZ8Cz+CJgLw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":414891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoWb9CRA9TVsSAnZWagAA7k0P/iPBJJBNrgdacilvUrSv\ndZmHTdj/elfxZzoNlfDBDBghWNEyGipkFtTKALf4sVn0NFwY0yWeBhSoYN87\n4IT0NfxND3yBAQuoCv++glrs1A78IuNF/q8eKVLi37MFHHVtKMSx8VvCywWx\nT3RTYUQ9/F/OmX08Ieq1mT2/BN7TPmohLM1jfk3tv5I6jz4arnsoNBah4Tpy\nrnW/0M4KP8gHQntlb8QCTBkPsyTAnDsG5GdbTSBEbz1fh0JBmukb/Rx8tF7Z\nbS8qyYH3YoLwNXsgn6HxU0ccpeVQ4dcnYSb+gunq2fU8FkcPJVAwnq2XHgVK\nnNlyCwgfTShSroDdB4/QT/YqISS164KMtC7gflNz6Ifh/MKHBntV5XEnQqlA\n1Bvb/z8Z7ztqQzoxaPGMPtY3AkHhJE04j/nF3YP688ralmfCycWlfTPhaTHk\nHlk26moTzmpObT3eIc6qq7lW4Zg7WMeiGDBOyviAmr5a4fy/YpcchwYROgs6\npIKeyDh1siZLAUuArvuuxgJx7pmbIGEreVo2R477ccG2CREMkaZk1BHrrq0n\nD4UU0ETrt9QhNxsAo4mLrNgrwK5IxbxlF21VtsbNc+mCGCWeJF1LChvrLjmc\nWYLwIfnkzlSiIyYBf+agW2dXgGbjoEics49/kli0Q+dZSYxEoA4LJS6I1iFU\nA7MV\r\n=DKLr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"0bd13c3bee064a3c8d46f16e66851568eaf6a562","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.143.5","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.1","@adobe/helix-simulator":"2.10.10","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.2.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.13-pre.4_1554081532963_0.2073467504221409","host":"s3://npm-registry-packages"}},"0.13.13-pre.5":{"name":"@adobe/helix-cli","version":"0.13.13-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.13-pre.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2eda09a462509d683e41289a952fc74e3e3407fc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.13-pre.5.tgz","fileCount":79,"integrity":"sha512-C/emjITK/tcsTdwb0qfSjzlxMKHoT9T2JvWhq49ZCiM7ua8xFvbzAuhJZgwN50qXhopyG6M+2z35f2Y0jPWfrQ==","signatures":[{"sig":"MEUCIQDet3Xsirj9HBFndbhl6EA6xJn0jeO2Pfq2xov8qPnbuAIgU7Bw826YtdYrZT7CjteYjC0o1r3gYQ+k60vfCwdfauE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":414869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoZqFCRA9TVsSAnZWagAAR8cP/3X6hLLvnT8UUD/CDcZ8\nsQ4ZKb9mZAwYCkEhwhMjKHuSpp8dGc8TmXSWbgfsq2Tq9xdDwyXLURd4bMzu\ncFjzbFMGYDbNeVl2BfpTgxMBmjzLX9LD7ENALAatWqaOocZMHZLpNXTpts/s\n/iOYqgFz1uLGUGWohytcIpJTNjKnO2R1bO2tvx+GPfRndcWYatrlijlYe/nb\n0EM31/Ynng7uVhVE0/UamRLuh8ORy+cpUsysDRurCQh/m8pvDc5lTtgNVqy/\nithGdl9MnDL4vIqLd+Job89UNCtvnVT/H+byP/i9zTmlIenefyXFz6PnoMEm\n541BXkrE7UJxOe6vMkBWUe71SwqAR8xeFBvBU6ilTdU4nOkSECdz89Hs52qz\nH7p3+E/ys1yBBcEdGVQpqwmMkPMQXMh4y87XystZavJq35wzCQOI5SDY8C1f\nhEw0Kn4oT7od0k0Qm2d5wFzINUqa8OY3GGjrg2Ttx6bY3HC/D2Yay+JOT57S\nTxRI34WPkT0BCTQOH5EF15KGdbHPyvfIHCdf7xVtDTXU3IZPcDFWfRUaCpBW\nrhily6qaWvJ4vBe/pxRuXRCeGTFz9I0EAeTS7G4oVHn+YMhVWFMz58w1/nbk\nDxmLrSPbwTuZyps0OkzEcLzgL5fncohoKs8WCQ8HoZ7OncFwWM0Q+mjWSE21\nYeL3\r\n=sZ0E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"c25d387fa65f6cb06af8730576326ec667fec0dc","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.143.5","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.1","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.2.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.13-pre.5_1554094724636_0.4553757677596877","host":"s3://npm-registry-packages"}},"0.13.13-pre.6":{"name":"@adobe/helix-cli","version":"0.13.13-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.13-pre.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"91624014c57768a2fff149b174dc183dbc6c5caf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.13-pre.6.tgz","fileCount":79,"integrity":"sha512-miYiKmn8Mo5o5o7AHkOCp6bS+DKTsCRU871McfZyU12qG36FqLIIdqKhX+rxeS/BtSCSCtAOXjk9xffOFG7nLg==","signatures":[{"sig":"MEYCIQDaHYVUJnKXwVd1O4ojlCJ0uaRRdEN5HsaOUmojP+fpLAIhAJxbLfuH2qYxEuDvSZAea8LCVafXE2s7WsmFlpC3wxid","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":414874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcocKcCRA9TVsSAnZWagAA07wQAIwDxbaMGKM/mXhKS8sS\nro33OQ+LqYBKf6EEpKmtCHTs7axW/cvrT/CO9n6F22/iynd/qYBgNLU5qRjo\nqWcFmWkgRPx51Y15IAi3NND7+w6o8zU1+p0xIXLSkETE9Xodqj+HG4V+kwdx\nSZ6FAPwR5jyTcQS3WERvj8I6N5SGrjChAXrqvQ/dqg7rLuJnLKA4z0BSFn+U\ng1PpbQnt5wz0EVGyWE1FV+WkMsm8mT2NAWdldpZI2NbQjzvOy6K2yBfE7dJ+\nhSA6nw7VGz94+nJ6B7u3iPbIL9l+Fdbj12+dhaytoNZcjFP5d+Ote4DF3iwI\nTNM1d4drJhH1+LCd6bVHcupLHs9liNr0mFkmnocNSFq7rsY/a1dhvS5PgVwn\nolGFA4xaW0iy6hi5yZd8GWdqCLWwjbkViiCbCpLfsKFKTn9f0UgDRJ4czzzd\nbsyo3/ME+ButABiqiHQinKMzgxh8Y9+a+Cng74PGNF55J9AXV7D/msdAFkeR\n5iB7fNBF7hoVls5wY8+L+Gk6nlRLfV+7u1ABcFrllNbWtv5geSYA/p8o+EcR\nzb+y0CfR5I0EWEqC+S0lKqjGdluno7D2GKZ5auVu+1tjJIUJ5PcKR9LPs2ox\nDn4qdnLlbJmJlseg7ORdCwCiOXGlk9B/jiuWnbmRk3tKDQ6ZdblXrCacV8C7\nY4BL\r\n=ceHU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"a0540e3d9af8f67900be9e824b76eeb993ff4df3","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.143.5","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.0","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.1","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.2.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.13-pre.6_1554104987739_0.32023704406377207","host":"s3://npm-registry-packages"}},"0.13.13-pre.7":{"name":"@adobe/helix-cli","version":"0.13.13-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.13-pre.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"89d700fc0b2032b2f3dac57f87f6a5f56433b1fb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.13-pre.7.tgz","fileCount":79,"integrity":"sha512-XBrfBUwP5PmSY4lh8K+/0H84nmB8BarpmOA6bs9KsEYb20E5pyR6oBFHTGLN4fnaqwpe7k+KMJyEOZ51jzUtYw==","signatures":[{"sig":"MEUCIGzUFZ+g0+RVaxoPnXHLmYI+UD3r2bE81ATJ2xUBEZ+zAiEA91HJdbS+3Kw56TU6YptRhiTcF892M4cQORABpfdMHwY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":414874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoqyICRA9TVsSAnZWagAArOEP+QGdUO4NrBjVncQeS+cD\nHSBvhWxRUodjAh7B446z5a49ymVyo1+C0P0Sfo1y2VXFQZtMC7+O6Ec5gfs3\nSKX+iKHp8nRsNPsdvhMDmjuftYlo1mGjhjOK25wqLpgQXo6POS4KB9yRhijc\no/DAlK1hmLaCI7tfnMCVmeahelIYCQiD/JQ6SlpBgfYtcXrunReevzNUuBmY\nIopzhyiJlPKCncVipS0tPi346BCi1k+R+MifY8i99aCANWDkiAPePu6ty7vU\ntnXyNEzy5rlLd0wbSoNcaRBnDGyBMmHdPEBReXWzpNOWjpCYnjx845BBUHp1\nml/KEZSjYKKrsMEAQSx8CzPnEaN3CImZMhxg4yy9/bZOmpRpgZG6yixyKsR/\nZuzKXO1aO2DcrxbsH8dAPQykOK3Uu7ms3S4tRxQa3Vaz17fxvSsLjVV/UYad\nb7idLAV7pZwR4eu+hHGEddf/0aPN6BH9jteYZPNdhqPoML+63Him+RSuomXV\nKHw2x6s4x4IKs1To6BBE8rxbUeW1H/FUBmwtHKTOMQB9Gqzmuk+rr1A0+Ike\ncA6UXeBANEMW7sIKnq4CDw1OS5b6mcS2YUSbD5aI30Dh4U+ROqeYPZOMdaow\n+Cn608zDjz608sAsXtNP7QZNT2O1nz9R9kWEPnOEJEZEyGlQ7RvQL9LmY5tS\nosNq\r\n=8fao\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\nAlternatively, if you are on `macOS`, you can install the latest binary version of `hlx` (not requiring Node) via `curl`\n:\n```bash\n$ curl -sL http://www.project-helix.io/cli.sh | sh\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"2366984b722d044c726a561d58333d36aa904a8e","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.145.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.1","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.2.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.13-pre.7_1554164871518_0.8706659294816004","host":"s3://npm-registry-packages"}},"0.13.13":{"name":"@adobe/helix-cli","version":"0.13.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.13","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"dd3d36e6f07fad524fd93302ca0c1e7613cca997","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.13.tgz","fileCount":135,"integrity":"sha512-PYssOzJmWW7Jr3VA0uy4RTZ9aqo5yr+8QoXcJQF9nmRMYbQ1GIYso4xPTl0TfxvFB2OwrkkaTmHd0arMn6xzKg==","signatures":[{"sig":"MEYCIQDNtWsq1esM+YylQ3qi3k1snB5Lzcrr7tFSSAiD3KkAoAIhANaOZmsh6nQmP+/rU7znZx9NG9Jewq5je25G8lBOicgy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1337251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoypYCRA9TVsSAnZWagAApEYP/1gfMjJB9G3d+36MNGBP\n2EHJAELJrZxIdateekngpJ9+VKyZKVa/rlvdTdj6rflCp0Vd1K9bX8kRK4/8\nX7OkBWlwhGPcBZ95nKGYoW3bk1D7vQc05oyqdy+inXJe9blAGaN0hhE0Sail\nAAA2zXHXXSVWEkY7kXeqX7s+Jzk/bI3wT1rSMOT4UL6KI/CaNBabFHg1zRwJ\nfGuKLl5gIZu0kAlkHA45GWhfeUmsR/EE7Q8NWsT5mi6GRn2vOHAjmHopTkB+\nH8/lWVHucN9E4dn9aLiU8NWK7S1ngrE700xs86ST6nlqBuk4xQXKhrknirs2\nDi+cMmcXIwm0j9HH1Mmm6Z/Acg2yt3WWcsyWK3wuB/d0G/h1MkCX1kONOIEc\nHX2Nu1nh0LxkEB8pfw5AlpyHE/SdCBNSsVBW7q5jvj2grn4sUA1LsLfSzOv3\noTeIHmea70OR9Jfv2b3oEAl5ilzrOGNiFrN6JfYO7pbknnWe/QtZwAkKPpG8\nsMnyEBs9ax3ygQQ+Qkwl9ZQZH+AEKuf1PtXXRx7KSH0SXROH7FOPxhLF38yQ\n4Exixl7k3f+dXBsRxUJBCahuvBaxDdEBXbxZT3TXLBre82lHb+Qff/1yn0Iq\nMnZCrurkJmDxclJiy//DBcHynLKVYOAA7iv6cRAdxnO/OgsoH2HLGscsz+NZ\nZhjy\r\n=Mc2O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"515232c75cf8d9043695468882dd232bd7a58d93","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"stefan-guggisberg","email":"sg@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"10.15.3","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.145.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.2.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.13_1554197079197_0.8842417944720862","host":"s3://npm-registry-packages"}},"0.13.14-pre.0":{"name":"@adobe/helix-cli","version":"0.13.14-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.14-pre.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"aecb8cc381472e69de85b1a86e9e80ee8bb87722","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.14-pre.0.tgz","fileCount":79,"integrity":"sha512-uucoFX6xVM3J2viIhSKdBz+sr9XZ6w/EAW+z269yA+Aj3PHVE2y2eMZyJu9Yei4HIGJB0lJUL9k0W0XIhUPzMg==","signatures":[{"sig":"MEUCIQCBFvMisAibEACAYbFYJI+y1faMqW3KTm0KRTjWdIhAUAIgf3xR4kKk9fg+izvVaq7WBmm15i/49KfDfIUUEdizsAM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":414689,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoytJCRA9TVsSAnZWagAAovwP/0XL41Abt0NxKRvYObBF\nlzLncKPY+gVdYQNzfUBdnoh8cQoWrG/PqjZBH+GhNOuoXb3dd3lovpsfyqgS\n8fp/iqsTe0yMqukmNSt58IT1CoIGbRtcgRuFFFlKwFmWZrA0s0L8GNMeN61I\nixTPh1/00wSGC3Qn0Xblj83GIUKWIO0Kkn1oEuFLcR5tAkJoHcGGbYkkouaC\nWIDhl/97WYQ1ahCkLbupDYC5SGSsTBmCiVgu+Eo7Gw8jrCKynJWaOco6adu3\nuFfdjaEo46v9tpYn9mC5Hq4d8U//ZDlXhIO9O2R2TzKYoF4VSG1jAMK6RTYg\nj14/zo5O6vpqEihnyCw4Hwz79GAYeQ8/oDnc5hrI83XOJ74eqzCXVLiAJzjR\nM9syHRbdM4WgaM5hxYsVGiQOp66qdqHN5tfeWnARKbT+7C+jdgPwqs+4rxv3\n/KP7ii/sYejiP6js5BH4Y6/BQS2lMvzHPwSYiX61W2I1nF6OaXH2tekXF7GL\neuNvOxmiE/3MLpJ6k/NbbpTYkOX+nrIN+A8SUTzU3PI0srY2YgrO9wAtS1t2\n3TBCaKBe/j7Howj3Mp9CqgyC2abEawt4o5SJhuH7keNBcmNQRlvZO1vSQcs6\nfr+W74F1uXspcI0aNFji2PiHBEBean0al529d1Ig7JV69RzS9m+92jKROswT\ngd9N\r\n=5VIb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8.9 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"8bee07a892f08cb7ae955040fe4897399dfdc604","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.145.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.2.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.14-pre.0_1554197320681_0.905612672496626","host":"s3://npm-registry-packages"}},"0.13.14-pre.1":{"name":"@adobe/helix-cli","version":"0.13.14-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.14-pre.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"63dcb3dc8f527c29fba139fa27e736c29c749bad","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.14-pre.1.tgz","fileCount":79,"integrity":"sha512-sdexDUbFoSSNSvnxReyC3u/gkyKPn5Suj5xbWok9yOIJ+TqW8L3GQfgpm3uBPW+lxc/oTZHZSf1Aqxw+dz36Ag==","signatures":[{"sig":"MEUCIGkdmkaE4XbK+vuGwsFrNIvPfxMUJMP/PbmWdNF5PY90AiEAge7kHcYRqlktFAUecWEDmD5Dzadkiq2CnRgObScOflo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":414689,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoy3OCRA9TVsSAnZWagAAqCEQAISQrJVJ8wMFCNy8jf+l\ndxEabK8Fvstnz98aJWliKuhJswbIr7MnDCkxHQ+gx58u0rknPtMibvdC7v2x\n+/pCHGd0QTWTdqubhLew2/x9Qo4Ki43mogJ01BUvMYqkJMD2+tSGWbGYs7Ji\nBugRUIwAmcLZP18mMHKOPub1ej05Wvd8BP5eTETB06LVHu40MvQhnRpTylUr\nJZ4tPkLLWTll0q9KoE5ElEoKJHxp24/+ALyWn90u95VLVzO2fO8/PsxjVX4L\nJU4Yn9rlaLWCX7ml8wmlEBorss8eyME7hT9/WXFytzZzgq301CslUSOInSJY\neReNEgoRaLs+dS5Gw+N2zZh/c7ix0Ad98hUn/xYs+omLjl+0hhCB8G4ux/Y+\n/BfJRIbBTtM5Ns/nvtTWt3AdX+4ZSKd6EeR54fVGLaui8Pxq+KXz1QqpKn6+\nPNLGDZa197eS8jhd0QL/JV8E04E9W2De542Uqn8x2TMUD32ASx/ZLHhrcMGj\npFw8/beGDvUWKa0NLZGgOBA+Db6MJzn1L/0CK+GtZC5Rxnh9N1m99I1EOfAX\nllkWJdvqnPk1Q8aZ6Xm8Pe5sqksHuJ7h4RKpE3RsPcHXX0Uamq2wyRFvQYz4\n9Qyfaa+ZWYJQ+/tOdR54ZeIB444LWeDWONQcmhVgYJh4UKb53qm1c4WA/1vo\nvZpl\r\n=eDPA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8.9 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"d4598803cb7e7cc98ba1eab514493f4bae567c08","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.145.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.2.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.14-pre.1_1554197965874_0.7966582334643126","host":"s3://npm-registry-packages"}},"0.13.14-pre.2":{"name":"@adobe/helix-cli","version":"0.13.14-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.14-pre.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7532b271bcd006325a0ae9091c0e5a27cf761c3b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.14-pre.2.tgz","fileCount":80,"integrity":"sha512-QnptGGmS6ZkmmjA1NmQzRndNWnr3sJWllZKSYARaCnalElsht6FyF0zIRBX6sj/IS5UffHN5Ls4+BWg3U5ArPA==","signatures":[{"sig":"MEUCIQDgfvG3IG53hkDDtfcdYP6BUltrU/DN5NN3Lt2TfVQwzgIgdu2j08loyOkQLmU9wsdIN9nECet9P9M3ohB1U9iNr24=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":416113,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcozFBCRA9TVsSAnZWagAAfSwP/j9xbwgRgbKzY0BRfhp2\nJGbbVXqq0LEVbBeZyr3F+ZMic7V/dUqQSzdOXqMp9i5mp0W0vy/EV26qwhbg\nl9Z/hN3Zf/N3IoY/mtE3D23Uw5NLBNtFbmjDhgBaw32oJqU3HQ4Qn4yBaMM9\nXUh5QTMd+KmC7QrQiQpuyEHnr83ElcTTPpRbroGy9APerm/T9MUagsSHvreB\nz0Y5TCYaW73camwUGgwR3znIZ5fSt74WF4R64sgNabpI+5Kuuz5h+5bbzidh\n5coH7f/EjvLe5IFo60gT1GflY5qDu/1o7SHxuMs2LYrTBL3GsiPNqOto+xDN\ngoRdjbk4Hywkq+d/VXapkngV+i62qE8MXOm7zAEMV4eq67Hp9ObaGb5gGHMM\nlQsn2QSOXeBpYvrEUvYsBAlhiP9lyIC5hydyBDlksOPgas5Qza7DvoPL6fV5\nO2s6d4eff7RUqZelO1lvvEo3Wk9CCE0r/qU277KfyFE3CkUKzY7RjXmHM5Mt\nSDeuupEZVBcGEI+rcm8ibZOHgfiDOLFG0IlpB7DfEdagAKAbaYDyawGtMU0H\ntHjovZ4gr8nJBYWnZ+ANoe3KfAM77k98jWnIUd0u7tPeb0BMXfiBD5kfNMYX\nr9FGbtQUmCbXTbb0rGECx05NnA61OJv7RwiiOHY2oL48EeJaYUabUyDh4Sjx\nQq16\r\n=/pLD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8.9 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"ae1d9a2f7608a077014007671f124c89ee0ef397","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.145.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.2.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.14-pre.2_1554198849220_0.023459643367111038","host":"s3://npm-registry-packages"}},"0.13.14-pre.3":{"name":"@adobe/helix-cli","version":"0.13.14-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.14-pre.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"20a0f77d4e06930c11da0c3f6e4e37803d3987b3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.14-pre.3.tgz","fileCount":80,"integrity":"sha512-TPYhj5GKzOvzdnjiKKXegn/uvjEjrhfl+W3WmUVS1lMRzLTA602WGoR3CqGpcXejnJW8RIU0CpQqt1IPXD600w==","signatures":[{"sig":"MEYCIQDIo48Y+5sdW17p2NeHELfBcaqhDA3+I0gPnesu1xrQOwIhAO4zWqkveJb5EMzqK1uODFqTyX4BFpSvf8jag7jn6gez","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcozRSCRA9TVsSAnZWagAAgkIQAKLdW40kKJZaW4Cl27vL\n9TSTk93TYJAMqcGeA9fz1UWU1h+hNvpniCtAXOOK+ZXlhn/9LwekNnSmXFuq\nEJlYxUzSTlodSn1DB0yWj1WqcWu3RR7+pneMQ2i0zdydB4TamixFCBDDodWJ\nLhcoyvrcS0F59QtqAahgdqfgmpKhNl6NlrTRFEEoXUVR7du/i0cK/sBg8d68\n89Ljnok1kmGT9UKsBbmIzvC3Sl8UAv1EObHP2ZvxfHmUY47Pb+XotyBxvPZZ\n7IgulkXFHhDjZkOB23xWXpO5T4EU5rhqFZR73pmmKqVXlMhd4r1hweiIoI79\nGAv4oWeYeSsubAgyUF29FFjTShF+TnwPnK3vBDcrinMeKNKkjaYBXYRTp5WJ\nz80+WdKrEaY/l6FO19C4J98oBGLZhAcy18YfA+j7Bw04PkFvam/8dqhRdykG\nO/arEYIXZkRE1Vc02SrT9pvepxxCatwmjd7O1d/zncwxkf5XutCFpRhJtsbG\ngaKhFNoSVD6c1Glu2HC7+3ony08Bulyd6JJOyuGXT6OIajylwwJX/AoGUqhO\nFl/5yv65GNNd1AVD8u42LtxZPFUY2x1Qr2IkpUO2pSGvQ2mMdVrq9oY03rMe\nVrciQC85QOB9AUEfk6xBBv5Yef/Fn6hE5SnxbYDviXeKdk8Zp216tpwl0iwN\nOs1o\r\n=colx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8.9 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"4585675f68afa6fbfab511e6647ec4556586aafd","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.145.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.2.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.14-pre.3_1554199634089_0.18716152926695062","host":"s3://npm-registry-packages"}},"0.13.14":{"name":"@adobe/helix-cli","version":"0.13.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.14","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"976da1652912fc2a6f270038fd55f676972305e9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.14.tgz","fileCount":136,"integrity":"sha512-Krg21/BbSUgFdBNUzWaMecSAGZM2EDr3EOlD+mJ/yN0yyNPeh2/EohddX0UsW4NC6xUzqCiGYn0EZZz4HI2yhg==","signatures":[{"sig":"MEQCIGZOw08ioV+eeYYTk/bg2Tefi9j/tbnlfXulIL+S5keqAiA8KDajFqH5fJfgn4CLNTZAODB4TVbQS52+IQI2sAC9mQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1331659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpA18CRA9TVsSAnZWagAAd+EP/0VPFRiZrStyXaDzv2j2\nGMAJmcSlDk6mpIGTob4s7VV/sWGNShvb9vryNv148/irPcw6InIllSMO2Csw\nzfwP6BStpwEJPeO8hRqDzTiM3Hb1kQIdQrnr/CI83a32BD5oGNgvf+NzMXgL\nvpkjZ7PHW0PXJrPgkz22Dwri7g9Rlb4CpUocseY06Z/KSjJj1QogavvCvHdl\nzzmwPPSnT9WG2yTxBBVBdT/IPbeRsAET8MG2lteL9pL61os48QE7OmCvWaea\nDOFGbJjmULk2HYWIusxcFBPJBppI5CjIGFD31Zyj2uMqc0Zd8sRsDFie6lrP\n0NgiWm06pUouOK+f0+0VcbEoUmBIIWbxpzM0qNnQ1EvYp1o2vZK1+nmzDB/5\nDYVEL15IuSzusGlLyUqixWIhmSQoA82wKhHistTDUmbb05H5I+nchipt9F2+\n5N+4ML1n9yz5Ik5UiSzjY5+aZRCuEg8/ewhOUaUoBEJVwdVJYipS9401dHgO\nfmlW37dzulqu6q4jTebsoMkD9wk5MgfPVX2x+FRjYRY29HZ5oGKxIazs7riu\nDM0jxDsoHjRkYBQEKBXq+JcRVBszMwjHKQvgsMGN/vQ5zbgAY2TQhV57RT+p\n0TEf+JuvisGp92CYioSC3aAN7RawzIt6n2KLxyGgfqK/cBxR+PxpRRkAuhcn\nM0YY\r\n=Yp0M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"6354cb0210968ee6e4078afc7ff22282cc9a13ad","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"tripod","email":"tripod@bocanegra.ch"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.146.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.2.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.14_1554255227734_0.9123395449661849","host":"s3://npm-registry-packages"}},"0.13.15-pre.0":{"name":"@adobe/helix-cli","version":"0.13.15-pre.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.15-pre.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a10c4b301781387d3642921b15b0642c41a665b6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.15-pre.0.tgz","fileCount":80,"integrity":"sha512-+OKizSR65QhgNLjS3rsyD9+r33Xr0yu8ZmcwFN49xeSyP4SaSRq2CjmmKJBD5gRAHpTT97z/v3oKG9PVExoQ1g==","signatures":[{"sig":"MEUCIQCukGlXjRr0vh4ttubLJs/PYtFEIQCwMj1DvJCkxaLYWQIgEwqgRfcmJrOxuSl3SVtMXqVYXy5kn5F0Jl6T9+6jHKU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpA6aCRA9TVsSAnZWagAAMEoP/REzsY1rDatja80XMDqO\nrAdmvVh5ipHdhcUsuMOGB17cmOaqTo892imlfT2E1Q8bvu2Umc79Zv3g+9Nr\nSR/z3tAt+RHUGSco/Cfjgc4LSObEtN6o/OLworuWKiIAGLLoYC0lDsciO3aU\n7Qy9zzji/l15CAJYwYH7fJWkAXEgo3kxoq5Ie4oq3VGGTkt+OqkdE8dwAejU\nMix302SFqlPlFxLoZckZD8AbiDfgOOIonBDr4St7dhjXrQEfn3j/YzzImKZI\n9Wvy5IMS59ooQTeSCvNqsNKo9Ll1x4KyZekhuG0zHFtlII4sHLVYUzeFwQu2\nKeYR5zX8RP1f7PfsbA+yYADd6xorYNlFnQ7LHkfkw7yClUalMjU7/+0r86LR\nFq+W3AGI9WnDiXhHpQz9hA2U4gct+h+qDRnGSpln1xxDP06LJGS/kyT+ukmP\nqlVFR8bU2fSXwt+qVM+z+U0qpkOI0GHvNqe3tbyUSckb7P7l+zyDZ0dk3kdd\nWnHwN6GAWPYjUlZWPIp3h6Gztn0OwTZFV/0z9iwU7RswLnVVMDVMJrv+RgrN\nIzWGuMX7RKDyCNuCDU3P+jzJ77t+OJ1MKf6+MALaOwBibuJQlNBoZBSTnuJd\noMF4ZqNftqwjy88Ki5wT3KNk5uUOmomyC6rWgtAkwBFbYonZWLdybOFIqlCH\ntdeo\r\n=+MtS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8.9 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"ba2b921071390160356341e7f0dc914a27e7bac0","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.146.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.18.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.2.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.15-pre.0_1554255513604_0.7343224168448201","host":"s3://npm-registry-packages"}},"0.13.15-pre.1":{"name":"@adobe/helix-cli","version":"0.13.15-pre.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.15-pre.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"56d29674f82ab42d24a7ecf8bdbcc5d138df0033","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.15-pre.1.tgz","fileCount":80,"integrity":"sha512-m5nK+jG/jIkEaSCyIklRwY5crONBG55FvExEM58bo8TgwmVboSeVBGvMHJ1eO+9NvJPhpyl7XUDa6qefZhv0EQ==","signatures":[{"sig":"MEUCIQDRxBHOFVVd3rSxwuk110AgHgwGbiBWwdyKgynZTTCIvwIgH9lfeb6IggA1GLmTmsoDmGB2OA6ZIOvfk7LlIz1Ad9s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpUiJCRA9TVsSAnZWagAAq4UP+QHhkPIuPNHhf9t3SdKi\ndTRVr8jiM8Y/2VJZZIfe7HKHF/bmlTlGAghMMxgKkosik+5xML0fuyD2+LNT\n2cR3++OHh+GqXgbBEzT6m3TfkwW9hfr44zFJNRq2Wt4KoyqLkYsTFq7/JOt2\n3MRWXF+snBCla0qu7dNUh793BY7rQO1r3OGuzJ0ABRLlzNJZ3L4fdGecvQEd\n0LcYIRNKi/++pl8xrfEFsZ4rJQFPzVHYe2Rn/GAPUeEN3O/C0bFPS4jQdCN9\na/B2bZjuD5i4AeeRp48fdZkRUt3QcRLF0TJQZBxWv7tfC38wHSTXwZh2jLAX\nQcYG40vuD+fGpeyXBSp/F7Mn3hN2TnItDtZQswgcrJoFTh3mvcSZU3YJQbnl\nqajuE2CHplt5n4fxU30Z+nVYY8GXG3YFSpE1xUdRUd91EaEAd/J0FNvQc6Ki\nUGhP8GAyC9F1zNFkSAud+Ar7aHx2yTIb0F4vy6yy+E9tHIUZc3d+NskW0kVg\n8mct2WldlzJi7AxSmXoLq7dZhmNctv5hcjzVNcrTuo3XES0EZmupLVuzcaZl\nfHIO17nBltfwpVR9CzTY0x0kj+3tMu+W2F+8MLSwxzCRefm/Vy53QygEJA2K\n1cHkJPxt8lbwyFFGY0Cu6g6OM9PmwA7gufFQ0Kh0eINxHaKdWXHV5TU1NXjm\npCE8\r\n=spwL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8.9 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"f5702a79e7ac96ced4d95938848a4f0d3126100b","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.146.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.2.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.15-pre.1_1554335880575_0.6517191701191181","host":"s3://npm-registry-packages"}},"0.13.15-pre.2":{"name":"@adobe/helix-cli","version":"0.13.15-pre.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.15-pre.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"728dd218d803623858a987ed196807b5b93467e8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.15-pre.2.tgz","fileCount":80,"integrity":"sha512-0vWPTdQoTmWaCIKFiXAivOI8gumwpNdJCqpfMF0vcZgyi/9r3AbU8RUfddkTUospabmQs8yA7dN76VuAnPEjkg==","signatures":[{"sig":"MEUCIDj5Nij88wlQde8QOcjNGAZdYH2Dar20XL2Sk5mzHqqkAiEAyQ3ZsnpSSOSwiHVlasaZa+U6JMTOsFTS7zlKY6gANNE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpVJdCRA9TVsSAnZWagAA7noP/1YEt6M7x9PV8l6Ye2kV\nWthrJ9r0xyCwdYKDsMQitwqlDirbsSIBTIHzgJGgpEud5tQIEywLFY+32plZ\nZQ3QMgZUl+sty1n6lbXMlNYKS+7TZtuFZq46jzVl5Hd1fL7NOSiKBdmfUrXL\nj4m0YRW8/rJHFVEWAqudxIj1PtCaVKakFv13BAjswfPT1KFACSY4xJsQ27F0\nZ/Mu1Qt51T31xSvZbK0nF2low9VfQ5kOR2ZsFdlp06Je9yj3pSWEPvad8Woq\nAMS0BmeU0c67CXFkeAemliRe4d4v7iCQkleLB92LH+XjNh1mcrkC+dZFxkyA\ndE/UkIi8EzEtUy8Qot52jHz1Ro9GI16H1W+jMAiN4t22o3QfVHynKFcFWeTh\nS3/smsecr4g/3O3ltP0aufWKtWgiaO0O/+zQbL+APVKO7FQOmDVCyDyZYsP0\n9vRraqLMfbixKk/rCwvEZhLbjUWcli9RYD+Mlr6cMXt21N/2nOMLjiiDHZ3I\nGYeRkTAG/0AOgSKtQt2Zf5/Q9GIWfo8/UfBc0hvBKiEK30V/DZMT0iKB4ri8\nQX71hONxpE1UTf+1fo7TYizetImC4nuoYSregUdsUBla3mJ5nQSSN7r1lsFd\n/Rhno7hZnAZ9AyjkCCe7uHLyQQ7H7n7Wp1mYXBJqeBXGyTrsVTrqIuRh7dxN\nht3Y\r\n=+BIL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8.9 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"c18a2bd51f6107a74a91f823f1b988022b5e6703","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.147.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.0.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.15-pre.2_1554338396928_0.2882398913848927","host":"s3://npm-registry-packages"}},"0.13.15-pre.3":{"name":"@adobe/helix-cli","version":"0.13.15-pre.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.15-pre.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6c382ab955fe306e7f233ec52e9bab45ccdb7e5b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.15-pre.3.tgz","fileCount":80,"integrity":"sha512-Fqno4icusiibzA9ATIrFT+4cg/ZMrHpNbS7t5qAhihfwEIo5OkUkn9vmJxDXbohGoQfHRS1MhSXbu4MXeKBjPg==","signatures":[{"sig":"MEUCICLgc8f36wbxJ6x7heeuJZJoIj+Yv1q/YHqE7DlpxDO8AiEA5nlp8yBbeqdEVc02RjOloye9As3wWgNaifbekDsBvT0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpVckCRA9TVsSAnZWagAAgwsP/0Ar041NzCpePTySZImV\n/Xee+ZMI91emnw1hFxI6svY7Niy4kfXF+9x1hj+Umkj3DnPwtQzthowsWTRc\nnTap8r0WcPQARzjob4pCQLc6uMUVEqdEoEv0FcJwAoPpHNEun8m1TESVnUqR\nDkVLW94TL2UDfSesIlts3Tsfc24mVOz6J6b00WydRlxmRFkRzwCoebqc1XLT\neS7RMaBnPGYqnQ5BJor/cH6XDJPALznodg+/PFgOEGtZwNmq6ZaxYHxfTijo\ngUS1wUx5rlhCfrnRG5I9RUlBkytSsSeCCT2xjPwXuPa5YYkof6g32DI8q6a+\nAocuUX54+LD/DU4EWHwFsSzoogE3UsTYVZ2fEw4kpDDuFmaIBLJg4hfOoo31\n3vPuzqfWND2SGfK6yDPdkkbeMXNJdpm/V+9Ebm1ZGeuoTUoJpV8yG/vcM+0W\n7dKWk04TijBnSMPR4ks/RlRqR1ekl2Gf5+37jJCRVpMxnfol6BPCIKbJ8HET\n3XcgOCk+fyheSmXgNE3IqXLvpsFwq33HoL63tFCgfGK9G1KmvQ/iE/I4sAkP\nvvwxnriQbOBCWdFLL9wFs4+bfGAte5iNXYEdeCqJGMN4jd71xT8nYBwTjnu3\nQ3h2IGUBJjJOvhpxSFhm/cQvKhiLeC+TbuMl2PhIPqdGzFRbrFXtX5kzCR4f\nfx3D\r\n=nS+/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8.9 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"e1d2c693afd09c052c5523202ac75d20293f3ea6","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.147.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.0","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.15-pre.3_1554339619280_0.07062360530964851","host":"s3://npm-registry-packages"}},"0.13.15-pre.4":{"name":"@adobe/helix-cli","version":"0.13.15-pre.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.15-pre.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d4e58215d6141af90b659e415ee870180a2e9da1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.15-pre.4.tgz","fileCount":80,"integrity":"sha512-TzM/+MZ7HnOBSkuW5/f5c3gxeDFOKtVE132iy8sYCEuEhUACWCOZWEQWmrsZn6kJwhbYku0FmKjhL9ovrMceLQ==","signatures":[{"sig":"MEQCIFkpxU8SLQkBoZ5JCAS5I8a2/IpqHPM7CIOraaBl3UacAiALJ79+uBYfqDAUN8++oQGiUy6c6bXvdXOUNwp5alcTrg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpggUCRA9TVsSAnZWagAAAHoP/2l/p+pj3CFMC8m1GJfc\nf05eOInF65xLctnepYzny6phQx7mqvK9nTIejKZcnYzbSnjbA4mkCFi/vGlv\nR1GvUn8iVkumOD0DiWBQjRAzUVopafQXGyrbVKympOW+Ok2HK/JpUhe2KU86\ni7QGkIwf2D7WiwFR0pUFAbBDWqsIE4gVFxxXvPsWbenL+2iG8OCr+FRDnqcJ\nJ4XXBQ7h7oruKs3ZiBWuc0OG/F30YVXY81zBxLbKzcI8tuE2LiXBJXXYZ+yt\nPZUqM/MSAGaStDOwIcUs+m5khsgIMzXlMd+b6CyjGDsbZpWRsY3cjCzoXj1r\nx7NIMTaC54+DAgxXZuND/h6my41PFJw3Ld72JA4fULZZAjKagwOVQuwWhlsG\njssoLYOYp3xjfGgbXkaM8S8k3KVXfKnVRE1LGBzm0kYximP1LY7P3zyr3o/u\nfuZFzucoQ2G0f5Bjsa4ZqNmjwIhi2aeSbsTrqMBlazLhEC/gFYogLP2Z++tg\neIqMJ91Z1os/i3HGgW0GBJecS+Ah+bVuCm5k1P12JgJA1xYgU5SFfl4VoW0Y\nf+YCSsYRXHg5uShmCb1qEF4hU5oAf3hyBdXeN3s+15lqUY6fLcAmwzCR6Jxo\nRUwrJ4ik58X5XtDXxBH7/ZlyMYSFEY30iNi/6xRS3+DE95TRLvhEAbDnbH42\nXAt5\r\n=Qx/X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8.9 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"b69a908275b87f7175ad8470f303dcffbdf4217d","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.147.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.0","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.15-pre.4_1554384916042_0.10096462809257667","host":"s3://npm-registry-packages"}},"0.13.15-pre.5":{"name":"@adobe/helix-cli","version":"0.13.15-pre.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.15-pre.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bad2681865e0f93ede02e17d88544848ca8f4676","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.15-pre.5.tgz","fileCount":80,"integrity":"sha512-QgbKNEEYMf+BFzDnpqO083Fvttv+hO68iVnvGvu6JvoZAMsTvL1q8CG023KKlomRB8ri3FbyQ/JfsP7REYsqTQ==","signatures":[{"sig":"MEUCIEy9oBzeAL1HPZcEWvboVl/mubxllx0WsInEJhg/+uCgAiEAkfO6QD0MfpesYAVl95ZIW8Ef+wwxz+XPQWb0SDlI+Ks=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcp5tyCRA9TVsSAnZWagAAHNcQAJtokf6lbPUKRXO93Ua7\nT/IgRGEVar+tO3A10LpWQxAwr/87e06ju2YB/ovfFQsyE8inkBgbrCdP7WRR\nI9bxrr9gJ8k4cFSShDDB1C6VbmhzWtGJFFh3qrtxk3hmTD1aPYqGxbBqaQXu\nWz1ATbazfQC3korEXnvdGa5/XXgg5CG1EooeUMkoXojkLQYOKYelVRLLYmAy\nFGxwMLIxKO3ZcksAQUJC1amrYeV2t8tveBtKphuv0dKXBiKOdekehu5jSuII\nBp2i6gX9xuFbhzk5oXRsJflKvFdLpYRh+TGNlq5TLcEQAb6xSEm9mKphAkzm\nqghNlja1Ab6BNDoZOhtzRiLopE6VgmKsajVX1Bi07LhG4UWIP/CBhQuNqsqf\n1HfVVa/me3yErmtFrAyMLKZiaQFw3sBP3CEERmiCf+Jcgbkql1W3BdZ8YbU9\n1CXitJidYfnMLtz4t7of53dqgSRzfzBstYlaR8mjwKCTi3aNrwFadow4rxue\nm01EcAfSKtP3YTAmHpyaz5fuvJVmSVStr/VLaJPj5tZh0R6s4xH3QAEDMgFw\n1oaFZDOYAlYgnPxWPnHxa+2eVKQ94sYxIA+9HYM3VDjlYR4TaiXg9hVzWpNd\nzkgu+MTeDAKGAPyQ6IkHDH3VsPyOJG9JszUnV8YIzwuXMt4mcdc9lyUZOP59\nxTh4\r\n=bQVK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8.9 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"3877910aaa573e53c1a63120a7dbbd87a27a3d0a","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.147.4","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.0","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.15-pre.5_1554488176968_0.9267727334644187","host":"s3://npm-registry-packages"}},"0.13.15-pre.6":{"name":"@adobe/helix-cli","version":"0.13.15-pre.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.15-pre.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"74a49a4de35cd6076608ca3c5a96762e799ac820","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.15-pre.6.tgz","fileCount":80,"integrity":"sha512-v9wqn7NYbiNfup5jABc+IkKN5exuEmQ2TSitzKr5A711EI3oFcAzD54O94sDKhaGy7qVIGMVowQkrb7HavKSIg==","signatures":[{"sig":"MEUCIQDI0LPfJhmrO3t0p0a3pnZxYU8JBbno4loVaRxOz0aV4AIgd5j8ef5d7mnJVbWnirYjHak7ljtsxOUBSycevP34WOc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcp/aJCRA9TVsSAnZWagAA+pUP/1itYFyskzY4nQW46kWD\nx0MAyvmO/HJQ374sPo+aYaeoEG80iZwZRI4fV3adYU5px/rxQR/6dleAFq9k\ntUs89c8gskOSZxD0hPTzv0EMk3bZsbVYdSZuKMJryS9FYf/twr10rllThKoC\nkUHjSIqvCuEKMgYAWRCdc5uyEYmTDRQq6D8XB0R09IQ3luXp8XQAB0lVoKA3\n9DgoymAmbqd2ydeVg+HWZR4J9Sahkb/z8aMqe71JXJaFr3LAOJ/7+kJlyq4F\nPy2PNIbr3/GzGagRTtIjztgs8f9ipe+QBQOUNOOmybx98WkAVkH7ay4OVyFj\nAyFWZyDAUWVAOdaUO0bG+KbV03ESSkE1OJj0xgWn8bpT7JGsq2HtmMq6o19H\nZ7WQ76zTt8hhT81LThyqMFpmbPKMWjBV6FL5rvgc4BTcuF/JMGPYIhdChzI2\nejbGJjX9hAs7B8G9hB5ne7PrMsU5VKlrd/o2EkoxgEvmeqoqmgWtAmIDSfta\nsJz5EKXtBsUXibJNj/zYMAsOI0jp1f2bN958m3qekN8meLYzfJSUaHSV+VyP\nDvasJtPjZkYSGEh2HeJag6U0dainoe5iJ1WkJON9GX/ncxY7z1HTHQOyKnoK\nUYdeyzhaaEyN46Er6Lbty+0nBNUA8a5H7u2xplQsccrd0QyFF4Nik3JX3c2q\nKpj9\r\n=fNic\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8.9 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"4980c7c564ea6052964803b00510332860c8d940","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.147.4","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.0","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.0.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.15-pre.6_1554511496062_0.8010816760347665","host":"s3://npm-registry-packages"}},"0.13.15-pre.7":{"name":"@adobe/helix-cli","version":"0.13.15-pre.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.15-pre.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7e8b63d1ea7e80db5bce59b66c103ea4d52ec377","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.15-pre.7.tgz","fileCount":80,"integrity":"sha512-qN0ctI1yQ1mmgDmcV9AA57ZcEwJFccqqcFLp+tDr3vIDGb8INKFB2ikecVYWBxMhZJhlVsLu/E+2yMbvxAGcEQ==","signatures":[{"sig":"MEYCIQDfE0xRpiNsnrAPHLK6dMpfcka1V4DCoWF+8xxB1LMnsAIhANC7RH8jCW4buzz7Ut0NkMjoyuhbHc0jt1/hv09SbtiU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcqiorCRA9TVsSAnZWagAA89AP/jUETq76pUYQENvRl2Zi\nOTgARF24dUdDrgVaeCeaAupxOXxo4HpvOooLAN/NfF8Q5EwmmU6+b5TBTXpj\nJtAVciTwPt6h/n67RqVlVSabqlRsRmrdOykzEhWcinCnlITtQeReMj/y7kOC\naHkHWgVRdJlML4k6XAByYSWoyuriBMidh0wEAwb5RsJoPrCtLV+ejMI1HpSV\nvN61Zj0vAy77APKk2hM+36+hkXz7DyHdYzo46Kajd4Qdqi9gPKstXBbRxwbf\n1iQUkXrN/f7m871gJ/baGAtyvu8l56WRSS2es/xBXREJAiAA27hp/N1cy39q\ndztdmey+Dq2EXeowUPp8msQ3X//miYp+t1KkEU8d2Ey6w/+SLgy9SYr3vkoy\nnsw7VK2Zcmr31CGUbqsHM+Dw+CLoMCB7ukazE7/FRbi3aLehp2xNCv7FDxjy\nV5ClR3RGfJrnjy7KRgAQZlChLUAtZEUnK9ghckn6ep2pdk1pSxkpB59T7LxO\nzDQpDavntJmcGsiNTtXvLnK7XhQgk/YLN2A3Q43jrxyC7n36rylXK/C4ot2u\nQHVZvAsCFvxBmuWPaIxQSSDXoX/div00wzW4ilYS1jBurKaax8AC7upSwk6o\nv3EfMynhZ4BPE/43IIbG/j7XXIQ3lFV0sackJrdJjXlueTa8xNcFduD/KTAu\n+aBa\r\n=uU+N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8.9 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"c55b45671520c1d2d973c9cec193ce160e8c1d79","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.147.4","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.0","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.0","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.15-pre.7_1554655786217_0.6050672831759543","host":"s3://npm-registry-packages"}},"0.13.15-pre.8":{"name":"@adobe/helix-cli","version":"0.13.15-pre.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.13.15-pre.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4742417ee9e0b35e9af04c4996f365700bacd33d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.13.15-pre.8.tgz","fileCount":80,"integrity":"sha512-Mdajgmj9koDiFMuNmNvr7z2xglxOZL20fyMNLpWC3bUmoY9fSzyy/qoYpMhCtuip273z/GRvXihwAZWkGKstdQ==","signatures":[{"sig":"MEYCIQDXYH6WxGXG0M0q6IlYTeZYQshr2t+QifM7vhJHqn7eugIhAJ5vh8EQDTWXxLJxR8YhgjX+52g9M0NkPrbo0M6XyzWd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcqqcyCRA9TVsSAnZWagAA2mEP/iUb72LH65K1QBBBHmYI\nIw4oHMzJ54bTvKM7HqVrV0aV3sn32ihrt0EQsXTsZ2YDSGIkW1CS8x9jXw+d\nNgFp37XiqPStSXtd1+PXBnwtSMiF7QtfbJyoV5lOZzZzW+1ukiwTDeWCE+9X\nq2TFz6dM/NkcbW2xZ23LqboBum7DOJEREIkHISwPtSrXlIiT2LnDIJN/hEDa\nuwcCX/4Cy8KLPrxz1obVwuVLuxOvaIkSLhQNkNUiNBWtAHYFb655OGrwOflD\nNRdqjw6A1JTdo4iOt5fCSwnxwDGpAageTShRHspvrCekpneqRyIiWGElXlpw\n6Rk8olMZtuS8LZMCZR7pbWuC6uyZYeALUf8n7Y02ffxB1026fGra/8pCanlC\nUGXnjoctxdykADYCsSOYHf0/jS/udkChuR7DPn+ELsyBXgn/Cg+Pjfp2MBpK\n/+z0iWV6XEqDeRImO62hXgcyhdeRud3LSw+KR/vVkmvU2gmkKlGFl+qNub09\nODeJ7WGzLjiN6B6DGeVV5PZoPT80kkE0mZSGbfTPHzBVmHV3kjHFYgIVeEW6\nk3Cxxan9YlRcWjqwqSTKkosWDWaO0jGECIO0ZVfb7EaHLJSJiBqEnUz7MX2y\nbHYKlbnBlR+meLRgc5Wwp/73wLkp7oDC9gkYKJ3NTcmYwV5O2Dz529YvnURR\n/zj0\r\n=HDAy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"readme":"# Helix Command Line Interface (`hlx`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/master.svg)](https://circleci.com/gh/adobe/helix-cli/tree/master)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/helix-cli.svg)](https://greenkeeper.io/)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Project Helix\n\n## Installation\n\nInstall `hlx` as a global command. You need Node 8.9 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\n\n```\n$ hlx --help\nhlx <command>\n\nCommands:\n  hlx demo <name> [dir]  Create example helix project.\n  hlx up [files...]      Run a Helix development server\n  hlx build [files..]    Compile the template functions and build package\n  hlx package            Create Adobe I/O runtime packages\n  hlx deploy             Deploy packaged functions to Adobe I/O runtime\n  hlx perf               Test performance\n  hlx publish            Activate strains in the Fastly CDN and publish the site\n  hlx clean              Remove generated files and caches.\n  hlx completion         generate bash completion script\n\nOptions:\n  --version    Show version number                                     [boolean]\n  --log-file   Log file (use \"-\" for stdout)              [array] [default: \"-\"]\n  --log-level  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --help       Show help                                               [boolean]\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Setting up a project\n\n```\n$ hlx demo <my-cool-project>\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\nJust change contents in your project directory and reload `http://localhost:3000` to see the results.\n\n## (Optional) Build artifacts\n\n```\n# In <my-cool-project>\n$ hlx build\n```\n\n## (Optional) Deploy to Adobe I/O Runtime\n\n### Automatic Deployment\n\nBy default, Helix will set up automated deployment that deploys whenever a new commit has been pushed to your GitHub code repository. In order to do so, you need a [CircleCI](https://circleci.com) account and generate a [personal API Token](https://circleci.com/account/api).\n\n```\n# In <my-cool-project>\n$ hlx deploy \\\n  --circleci-auth <personal-api-token> \\\n  --wsk-namespace <your-namespace> \\\n  --wsk-auth <your-key> \\\n  --fastly-auth <key> \\\n  --fastly-namespace <serviceid>\n```\n\nAs always, you can keep all parameters in `HLX_CIRCLECI_AUTH`, `HLX_WSK_AUTH`, and `HLX_FASTLY_AUTH` environment variables if you don't want them in your `.bash_history`.\n\n### One-Shot Deployment\n\nAlternatively, you can also perform a one-shot deployment like this:\n\n```\n# In <my-cool-project>\n$ hlx deploy --wsk-namespace <your-namespace> --wsk-auth <your-key>\n[==================================================] analyzing 0.0s\n[==================================================] packaging 0.0s\n✅  packaging completed  \n[==================================================] deploying 0.0s\n✅  deployment completed\n```\n\nInstead of passing `--wsk-auth` as a command line option, you can also set the `HLX_WSK_AUTH` environment variable.\n\n## (Optional) Publish your Site\n\n```\n# In <my-cool-project>\n$ hlx publish --fastly-auth <key> --fastly-namespace <serviceid>\nPublishing [========================================----------]  4.1s\n✅  All strains have been published and version 89 is now online.\n```\n\n### Passing Request Parameters\n\nEvery request parameter is a potential cache-buster and given that modern web application practices liberally append request parameters for tracking purposes or to manage state for client-side applications, **Helix filters out all request parameters by default**.\n\nThis means, the client side of your application will still be able to access request parameters, but your server(less)-side scripts and templates will not see any parameters.\n\nIf you need to pass request parameters, you can whitelist the parameters you need using the `strain.params` configuration. The value of `params` is an array of whitelisted parameter names.\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    params:\n      - foo\n      - bar\n```\n\nIn the example above, the parameters `foo` and `bar` have been enabled. A request made to `https://www.example.com/index.html?foo=here&bar=there&baz=everywhere` will enable your application to read the `foo` and `bar` parameters. The `baz` parameter and all other parameters will be filtered out.\n\nEvery allowed parameter value will affect the caching of your site in the CDN.\n\n#### Helix-Internal Request Parameters\n\nAll request parameters starting with `hlx_` will be passed through to the action, so that they can be used for Helix-internal purposes.\n\n### Directory Index\n\nThe default behavior for directory indexes is to load `index.html` when requesting a path ending with `/`,\nso that `/foo/bar/` becomes `/foo/bar/index.html`. This setting can be overwritten in `helix-config.yaml`\nby adding an `index` property:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    directoryIndex: README.html\n```\n\n### Static Content Handling\n\nStatic content is delivered from the `htdocs` directory of the _code_ repository of the Helix project:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n```\n\nThe same core configuration options (`repo`, `ref`, `root`, and `owner`) are supported for `static` as for `content`. \n\nAfter your next deployment with `hlx publish`, all static content will be served out of the \ndirectory `htdocs`. None of this will be visible in the URL, so that no visitor will ever see \n_htdocs_ in the URL. `https://example.com/favico.ico` would be served from `$REPO/htdocs/favico.ico`.\n\n## Matching Strains to URLs\n\nYou can define a `url` for each `strain`. This property will make sure that only requests made\nto this base URL will be mapped to the following URL, enabling patterns like having a production\ninstance on `www.*` and a development instance on `dev.*`.\n\nAn example configuration could look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n\n  develop:\n    code: https://github.com/adobe/project-helix.io.git#dev\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://dev.primordialsoup.life/develop/\n```\n\n## Mixing old and new Content\n\nHelix can run old and new versions of the same site side by side, and even intermixed. This allows you to gradually upgrade to using Helix. \n\nIf you want to serve content from another origin server, just add the property `origin` to any strain. `code`, `content`, `directoryIndex`, and most other properties will then be ignored, as all content for that strain will be retrieved from the URL specified in `origin`.\n\nYou are still able to set strain `conditions` or assign traffic to a strain based on the `url` property. \n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n  oldcontent:\n    origin: https://www.adobe.io\n    url: https://www.primordialsoup.life/content/\n  proxy:\n    origin: https://www.adobe.io\n    condition: req.http.host == \"proxy.primordialsoup.life\"\n```\n\nIn the example above, there are three strains: `default` serves content from `www.primordialsoup.life` using Helix. But all URLs that start with `https://www.primordialsoup.life/content/` will be served from `www.adobe.io`. This means an image that is referenced as `/content/example.png` will be served from the Adobe I/O website.\n\nFinally, on `proxy.primordialsoup.life`, all content of the old site is being served. This allows you to easily switch back to an old configuration.\n\n\n## (Recommended) Performance Testing\n\nYou can (and should) test the performance of your deployed site by running `hlx perf`.\n\nThe default test will test the entry page of every strain (using the `url`) property, if defined. Additional known URLs can be configured for each strain using the key `urls` (expects an array of URLs).\n\nThe default test will run from a mid-range mobile phone (Motorola Moto G4), using a regular 3G connection from London, UK. It makes sure that the Lighthouse Accessibility Score and the Lighthouse Performance Score of your site is at least 80.\n\nYou can set custom performance budgets and change the performance condition for each strain using the `perf` property. If a strain has no `perf` measurement configured, the `perf` configuration of the default strain will be used.\n\nAn example performance configuration might look like this:\n\n```yaml\nstrains:\n  default:\n    code: https://github.com/adobe/project-helix.io.git#master\n    content: https://github.com/adobe/project-helix.io.git#master\n    static: https://github.com/adobe/project-helix.io.git/htdocs#master\n    url: https://www.primordialsoup.life\n    urls:\n      - https://www.primordialsoup.life/README.html\n    perf:\n      device: iPhone8\n      connection: good3G\n      location: Sydney\n      visually_complete_85: 1500\n      lighthouse-best-practices-score: 80\n```\n\nIf the site does not meet all performance criteria you have defined, `hlx perf` will exit with a non-null exit code (the exit code equals the number of failed tests). This allows you to use `hlx perf` as a gating condition in a CI/CD workflow.\n\n### Testing Environment\n\n* Possible `device` values are:\n  * `MotorolaMotoG4`\n  * `iPhone5`\n  * `iPhone6`\n  * `iPhone6Plus`\n  * `iPhone7`\n  * `iPhone8`\n  * `Nexus5X`\n  * `Nexus6P`\n  * `GalaxyS5`\n  * `iPad`\n  * `iPadPro`\n* Possible `connection` values are: \n  * `regular2G`\n  * `good2G`\n  * `slow3G`\n  * `regular3G`\n  * `good3G`\n  * `emergingMarkets`\n  * `regular4G`\n  * `LTE`\n  * `dsl`\n  * `wifi`\n  * `cable`\n* Possible `location` values are:\n  * `NorthVirginia`\n  * `Frankfurt`\n  * `Sydney`\n  * `Ohio`\n  * `California`\n  * `Oregon`\n  * `Canada`\n  * `Ireland`\n  * `Tokyo`\n  * `Seoul`\n  * `Singapore`\n  * `Mumbai`\n  * `SaoPaulo`\n  * `London`\n\n### Performance Metrics\n\nYou can set performance budgets against following scores (more is better) and metrics (less is better):\n\n* `speed_index`: Speed Index\n* `visually_complete`: Visually Complete\n* `visually_complete_85`: 85% Visually Complete\n* `lighthouse-seo-score`: Lighthouse SEO Score\n* `lighthouse-best-practices-score`: Lighthouse Best Practices Score\n* `lighthouse-accessibility-score`: Lighthouse Accessibility Score\n* `lighthouse-performance-score`: Lighthouse Performance Score\n* `lighthouse-pwa-score`: Lighthouse Progressive Web App Score\n* `js-parse-compile`: JS Parse & Compile\n* `time-to-first-byte`: Time to First Byte\n* `first-contentful-paint`: First Contentful Paint\n* `first-meaningful-paint`: First Meaningful Paint\n* `firstRender`: First Paint\n* `dom-size`: DOM Element Count\n* `estimated-input-latency`: Estimated input latency\n* `consistently-interactive`: Time to Interactive\n* `first-interactive`: First CPU Idle\n* `html_body_size_in_bytes`: Total HTML size in bytes\n* `html_size_in_bytes`: Total HTML transferred\n* `page_wait_timing`: Response time\n* `page_size_in_bytes`: Total Page transferred\n* `page_body_size_in_bytes`: Total Page size in bytes\n* `asset_count`: Number of requests\n* `onload`: onLoad\n* `oncontentload`: onContentLoad\n\n#### Structured (JUnit) Performance Reporting\n\nBy calling `hlx perf` with the option `--junit <file>`, the performance test \nresults will be reported in JUnit-format, which makes it possible to integrate\nperformance result reporting with the CI system performing an automated deployment.\n\nFor `hlx demo full`, a full CI configuration is created that will run a performance\ntest after a completed deployment, report the per-metric results and mark the build\nas failed in case metrics are not met.\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"e81ea7082787cdd7164f5fa08c1399046d931b7f","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","junit":"mocha -R mocha-junit-reporter -t 5000","preversion":"npm run junit","postversion":"git push origin master --follow-tags","delete-git-tag":"git tag -d v$npm_package_version && git push origin :v$npm_package_version"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.4.1","description":"Project Helix CLI","directories":{},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.147.4","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.2","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.0","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.1","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"^3.13.0","istanbul":"1.1.0-alpha.1","proxyquire":"^2.1.0","@pollyjs/core":"^2.3.0","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@pollyjs/adapter-node-http":"^2.3.0"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.13.15-pre.8_1554687793119_0.07549686115007814","host":"s3://npm-registry-packages"}},"0.14.0":{"name":"@adobe/helix-cli","version":"0.14.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"69218dbd923ca873c91d907e63b90cbfbc5cad60","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.0.tgz","fileCount":78,"integrity":"sha512-F7v6BUbte+2ttVqnZI9X/rjtd2LsgeR8om+YsFWfrFWDg0tydDvZVHYtMg//ozbWt/FGFL80qSy3Nh3EY4Z2yA==","signatures":[{"sig":"MEUCIGUDeATfDVAuenYMpCR3aL1+OQ6nE/+HJ9ypxDcpCIIMAiEAxurm/hbCRjAyyjjyKiMx1ZZ2R4GAisNR9wRlKcYjobQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrUZ6CRA9TVsSAnZWagAAalIP/ivC8C8LJ0EHGVz3/KDy\nSKYD1E6mll65SWa8V65Vdif5ocatdxDaWi5jlHQrkZiP9NGAsLc9Xbo7xNss\nCoV4QASdk8pnXmm4HrY0Uwqvtki6Oip3FEWcldnHS9vvkM/BRzKqbgtTrcBZ\nYlIRTlEmxDLP2EbT3MR7VAWUclviGpHlmvARlpPlW8NHBlZX8kn9XH+EXE30\n6Q5XL/wHi4/Yzi0pepdn99JJzuZzqe7E+JB6gqZ9bstSEuzM796fbuSUKGAe\nQKkBo21OrWL8Rnkhmsip5S9KBc4Dv6WQAIUeNKpvLuAQvtB7cXlySyPMCb3g\nOwAv1fcSLGx1xrgduTVkQsMh9Ikny1/GHup+VhzDWnJmzpVGmgCGHRhQAC22\nrdNwfFVtRWZlaRZ/eNGBvD5ERAIIhlyS6+ABuXaracXErOTq6oBLW2Wm7zzW\nXPtZcsfmeSgFpTB81xnX4ELGduiy46+LnoTSoEk3A5LyXRS4v42ckCHREZQy\ncNjE7Lnz69emdU6SqdKXBOmzoLxBC3igxfoJQ8kNrkRF9Z1rPWcIGecAhKVF\nN90ohcP+q/Dw7GEe8NhHr/6Bdbb+NNkccDpBYbocatJoTE61vuPqm59h7Qeo\nzBZysLpoWVsPf637brz90hkCOPWpz8Gl+LN/HIiNs0siN/nE2wPhyo2s3IsQ\ng1nW\r\n=9lsj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"0b50693931f208bef159283aa661e6f38660d942","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.149.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.0","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.3","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.0","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.0_1554859640997_0.01372882518181262","host":"s3://npm-registry-packages"}},"0.14.1":{"name":"@adobe/helix-cli","version":"0.14.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"66fc4bbef1403ee35704ecae7c115c25488d74ee","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.1.tgz","fileCount":78,"integrity":"sha512-3f/0KAXoiDxLvxSyshWDems4scRQbvkRqUmLQdC7ynchCXgB6nx+iP360LievGEZePgcsjXGaho+ogEbR2/c/g==","signatures":[{"sig":"MEQCIGcK0AtIF7qXkuYx787WMzNwpQaKBCjAyvuMckJKfSKJAiBjA2iRVZ8F2y/W4FhYo0O7xp0xgPNSY+D9I+tS+78/bg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415750,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrUtPCRA9TVsSAnZWagAAzLYQAKIIjddNhGcdWvY/SyZM\nNc9tm4a4JKVFlnrZVDo/USwO6u2O+lmztd63FkDyfVgcxCA6EC9cIjH2eDIm\n45PIOXuUO7XscXM2t3q0fatY+tkxzLFT+DmDhvtJBkfZ8XGBM6aXujnIevXP\nZcuRSuQ7QDKi68cuZiuZkbpZu2A63gYSlH/iTDWwRVDnaqkmtoVr6i68A+xZ\nflThq5S999URkGpN3HfYZVBqVgGZyMpK3OF/c6biT/+zfOxqOZcXhjeY/CF/\n1FCBkUfay1mCQGZzCDSwLC2Lc5qpiWc5l5ucjoP+8P4Z6sOOSE4V6wZgKAIp\nLKBKfXjaIE/mJOvR65DonjQkTURXaScxKG1ZLWwNDcPZYaikrrTRhylWePbv\nnWj0NHZTw9CG3F4pUFmj7PHnbjqKrvRTwVi2/YNbuT8XWV8C9D8TtQprT+pM\nqMDZFktjFTI7dqnpf/payvjSTC3xYxrAE84Mk10GCM7AmvD8Q20sfzn2w+bi\nyEZaUdCqzp9yw3h6ETjC7NKt9P038WODbyBvienyJHp9lKxkHfwSB9aKloTD\nf99UaMegxt9zyWsAIYlQkkAMeuGFyBMUBGGfTCClgEVHcvRRXf0OOcQfI7lH\nSoYO8Ek7JXmQcrgVxQNhAc+KInqNFEM5zcGXVYPsmlD5VrEtSuYXdOPDwUtN\nW6gF\r\n=agG1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"d43beb3ec4d655bf2dea1e2f74a8024e547b9c5f","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.149.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.3","@adobe/helix-simulator":"2.11.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.0","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.1_1554860878861_0.7285287579855355","host":"s3://npm-registry-packages"}},"0.14.2":{"name":"@adobe/helix-cli","version":"0.14.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"becba4d327fa65c25239d7a680160f8372fccd86","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.2.tgz","fileCount":78,"integrity":"sha512-efBkc9fXg2UNi7X/an1+sBQWKKRG2+nQHhcA80YdgBbjRD0h/BY/CVv8SS5McVuAIMkv4fMGSqwcHFqmTDsXIw==","signatures":[{"sig":"MEUCIQD3eSGEj6yyUHjUg/pWmRJPxq/Psqv0ULEdy0pOC8NZmAIgBhrSHSHnTEWwhj7DSVrC0PWBMmAuRR9KDuZsezyWlKg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":420961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrVDYCRA9TVsSAnZWagAA0bEP/10Go+Cebqxdzg8UslwJ\nvaC12udURoYNfvuAyuODeBHKfOaSCNpUU8r7e5rnbFbynBLEnBBWTeoKgvRr\n+PPFn7PgBZX2DdUJh/Ds4Q6sxx/7A+ITuzgX7klBXZZHKtf5zLhsb8MHZObf\n4+RBG5PZTGmOBvEJmwR+F5CjxjfKUjbgfnu4h9JrOKYdrOhLO7ti3++3O7QJ\n+0xNXOTxVyt1EyGnEFblmwqQsd5yORS/xZxVifdyL9T6xzA3s/WX6Bk2SMcK\nNwViehN5eu3nFuqCk+yhaWEIBBOP1tuiVZmvRJCmTOXvLl40UEql4IsfsPS1\nHpzRXbi5K5RViQE9a/FyKiBu3uZs8ONCpbfzl5cSEeS7FJprljVj/9rJctjc\nTAEJ/NA+r3oGtcvblee93m/OsxIvlzMYaiT1+oLhPmWWHAnR9UZhOWTUifLf\nPLvPCviGky4pfExNWBk6GvQTXT7yTlIvVs27vtsh/1qBC/Qh7FWBglFDSu+h\nvfrOmS9Ayy6M5ciytF6QyOrDjZZDa8oeazM96cAi3uofosghASumQWGZFlyw\nk9ywr92cRx6gzWRAR5tbXtgIr+mVJC3NSbLuhFekDcA4r2lGmw3/YbAJzmVQ\nhtxWK/sd7+fYuhbwtm29Rg5aiLqs9oeqTeZ2jxIaWa9wcp+5QunAVKtF4NfW\n6eLz\r\n=IsFo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"22f097ea2b76fa37199dbddcfdf55e4619382765","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.149.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.2.3","@adobe/helix-simulator":"2.11.1","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.0","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.2_1554862295530_0.03546894215686436","host":"s3://npm-registry-packages"}},"0.14.3":{"name":"@adobe/helix-cli","version":"0.14.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5e9adddd8be404382978e5e11fc43aa16ace1fdf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.3.tgz","fileCount":78,"integrity":"sha512-VqRetAS7Slr4oelf9INuF0bug6LWqxt6wxqk4AzPLLGjHqJN+3rgJ+HGDvDhIgILV+kSLWRhqCRg10Oebgcqsg==","signatures":[{"sig":"MEUCIA3e8NdrmGISIWXSdDKzlJsbvlKyBjaRrSDXQT59CgkzAiEAicmJOXZDGDR8nk7bRiIDNryoAIDz47u0uLjdozozxb4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":421256,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrerWCRA9TVsSAnZWagAAp7cP/AoBPJ8c5O/ZMMAZXBim\n323GQdVgvIBu39Xhct4JdboNDIHqCO21tMBDiSN8n6t9ojNGQdgq6BM313xq\nemb5qtvvuAHtR0Wkyk+jwkiR4Gfx1BXJZF6+c0v6xG27/7wr+eOSoEcx619i\nbRaoCduUBbERCE/JK6qEH6QXOKlvioJ3p0iRuomNvWclobvLAusiCo+qViPl\nLUBQQP10bwzxuPWh7cuLMzI6rKmw3E3fqyxNcDANh6WOavVS64vr69rmI6O7\ng+C5IBUpbMIIOTdg9/XT4UKgJ67EmLBo0YQ7FF4bbE968avKUX2lefiQ3/Y4\nLTLYQUtCYejL8rdGvfb77hISMG+Q4Jxz96bFwnQsK4fxhRUnyhz6u4dZhuO5\n4jgyIVvP52xU6h3Y6yDztpv8sTXezc/IUiECcFDxHG0tkm/xjEScpE3OJA29\nu8mHLDLjUkk2Wrl6QR8IH/NU3uoPV5ePBk79sa0eE8o5HsjyxJv6DJZz9Z/q\ncl9cT3VrywXWt7kIGWT+Q7ildiFs+iX0viWrfOSuBGt0FlGjpOSeHwMOL5f5\nMljS0rd2w97ZJKhTMgAfLQB5X3H+kmRkybY/rgOZRdyPAPo/iYc3ueWOkJj5\nAylcJ7RXqX/1Gbbk7fEWSvrONrSsWg8OEfyKYZeThTBkqYHJYd75VdIrwiji\nwxVp\r\n=Zi2v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"b7bd9f9cf023e3867bfe30c8c2dd7830f7e45316","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.149.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.1","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.3.0","@adobe/helix-simulator":"2.11.1","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.0","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.3_1554901717871_0.2755139835431084","host":"s3://npm-registry-packages"}},"0.14.4":{"name":"@adobe/helix-cli","version":"0.14.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"12e8c40033c6572939d01f387c44c3d9a831be21","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.4.tgz","fileCount":78,"integrity":"sha512-mc3WqcweoS0ntVd9tUrF4RQuXB0p1Gkwwq9XteZ4yRT0Nh/30FZ9sgTgUlDyMn/WgBR1JF8Da2x+QTf5n/4eMQ==","signatures":[{"sig":"MEYCIQCg2ccAF4gHu3lO4QKd8ihch0K+RSnj7B3R2bYAJpaV6QIhAM+kUzaN3b6F8kaBohHhIGmblYGLPKcUvvX3jUWxw8qZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":421734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrq5DCRA9TVsSAnZWagAA49MP/jEoCtLWIOr8V/k+wgRf\n/9Dg0YcdbyySRCelOrhjXe2A7e2tt+6IgWsY3Rep/Os4TdZgOQoJDKjb4tO6\nkMTttXRH+3PZbpSUgBYxabt5H3x/xzbJxVVV3tRIAsFymuX3xKX3HjdMFtwj\nHJ84BoIuyVmDs6oPwf0nGT0EWFOtCcEqZ1uUWilziEunbkPEZVgWzgCvh5JE\nnKCcITl6oSXrx31kYS/okoSL/KmM+hDyrOjuvbzjaX1I9a2JiQuVXVK93gKu\nfx1buJXHCO4mIlWU1Dl4+JvDqC4ywJzrD2p+thCeGzp3Cab1pMSBDPUBsYqf\nAdSckUpX2MPz0mnlstm/zHig/ZZWy83ifI6yzqnr0+d/lMRlRbWkHj/UTsrC\ntS51s4wMsIsSZB/5cEKZSgO0lS94j84oBhGso6fGojkifnv9rhpRG7eY3s+O\n4VpZ2DNaOcjT5oq38WtEoKvlloz21+B0Yl0OC3bVOPhLP2ojmedkfOquogPV\n83HvkTtBRjdYRnxB+T7hbL23Li6G2HAHfVXCWAQxwmIogXn978SOgEZItDmD\n5oiAbvd7LXda4g3nDE+XvJsufOB8h9k5UFuPomdsaIBpqamLWHIP531dDm5A\nz0v4/jSgBVRGmuaqihBz2o9jWk1BO/mZmdKC8EN5QWnh54FMvL+kKEMg58sy\nfY6x\r\n=9zV8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"a8cae266f5544d6d39cde81ae43e3bd62b0a9dd7","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.150.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.3.1","@adobe/helix-simulator":"2.11.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.0","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.4_1554951746348_0.12334281872406572","host":"s3://npm-registry-packages"}},"0.14.5":{"name":"@adobe/helix-cli","version":"0.14.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2074d72142d33c32d62883b9b7cc50f4ee903288","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.5.tgz","fileCount":78,"integrity":"sha512-uj4kmvP/tJx+sadRpe3Dhc2ul7RSr+9Wv0rcZ6oaSDwzl61EeY3Dkn1M6XwjugUYrmMsmPjHsvxZ9qaacN+vnw==","signatures":[{"sig":"MEUCIQDYIaVdHQlRV6vZAcmapkS6vUEA1vvi1hFe7PLjUZGXWAIgCGmA9mDNxOkiJoG/WK4beS8Gh1zG/TkO9fPtl9gnWHA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":421965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcr1aeCRA9TVsSAnZWagAAE68P/iRXQNHE92AqPk/0qR3i\n+eplz9Bx1e/kgg/RjFbDGn/vMNyq5wWioJ0ZLMUV+S7mAJZLEwqg1h3I659r\n34tvwgETm3OFbEmxloEfpc8Lp2VTizikHlJQj8KcN9Q/weGa0pMMdfoLy5dj\ngBxgFJQ97oU9pQSOCl1udtemwhYe5F4WMI5nwLzStykle/Buwq5zA9750sl9\nSYES1GbgMADqSBBabiemKrZoeQ1FOpiEzTFY3K+WF3Ld/yWWZe0Acb5FecTy\nHTab19KG32KjRrJC+DcJrK+FOeGW4taDL/ZokDWE7lOcNUSGh0j9ymo2g3Zq\nOYqekyCgsaynu17EATENk9rZVZNQmjMhPsl/ihkjaZsQ6bbMRR9/JIlbG0rb\nco1fJZe5w1qeoIh7LRr0geNDEoYeH3aOyxxjMrxBvHjOPQwmBJfOJnGVRGx1\npYU8kwgpiv7PBvmKFvGupfW5l6MgE3uX1/KGznDVRIGs64P0KsvlXZ4hlq83\nG7yuOHTZvWC6DSzUwDCrEXHh5GFsLaTX6dh6coZaHdiISIGWT8OXaHDFNAj6\nbpxM8pWXj98UmCOwwIxuHdmD/GzKpPMFHRq/azdVUJEuLwZCM/mpOJSZxkFC\nvp6PzIsoOv8Luq579dn0TVCbCnFs3l0wk056dLyv/Z6sjHQNQLnRKXkuO+Tq\nFs4x\r\n=Czg/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"7479726fdee76c45f2bb42699b9cc806a4285c3c","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.150.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.3.1","@adobe/helix-simulator":"2.12.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.0","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.5_1554994845883_0.6582669086372535","host":"s3://npm-registry-packages"}},"0.14.6":{"name":"@adobe/helix-cli","version":"0.14.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7494bf5e7976cb276572266904e5ade1dd609260","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.6.tgz","fileCount":78,"integrity":"sha512-0Z3N/kZ6QT4O65QDpNqRA6dhiJO5A3k+6xpQBGqc4iywjW22QWJQN7VKbOwh4IiWkfAji3Zq24a8Lg7hEIMDBw==","signatures":[{"sig":"MEQCIDGG7MgzCntfD+GgFHelD4r0TapT3iGbNX2LRg/fROiDAiBIYKCS7HzZ8ZunuBuMFS4kDOxh20z1K9UKKIxmPYBz4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":422235,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcr3MmCRA9TVsSAnZWagAAWPsP/1lzxjG1CFCBVnxXQoMw\nExTw3YoatuRINnKfGAiQVBPMgqqhm8Dn8nlquLbPJS253uCi8/Q395wM8tuU\nKhxxliKJL8Px0QWdzGlse2ieT9VfJ0zJNrJl4V2AjVrTeOH/yJ+eN9dd8nHN\ni6u5kUy1Bhss3KE57tlsD4kJLhVGmBpSJgiFvcviPcIIoDstz4eRQJLSGVvZ\nw9OTPpYRL6Dl2J/bTa8liMuK/IusAKSDUDM6Jgrn6g+QPkUljFG9iUXDjl8R\n8h6PmyDxqP+6vdtOCkQuzriNLWn3pH0YG++3JfFVmeTjGedg/Sb8oAd47f7U\nOP1DjboL5bM+EC2xIYOdQ7jsfa4Ts7Z/Eualiz+3pQLu5IzOCd8f6vZqtuvr\ni29yJ2tbx0J4cQc956RrY7ui2q7ITLIyzhExCH+jC60k1YdsfOjnO0UyTBUp\n0lX7qH6u7/UeRBxuieQ2aZ07GZfI7lSf7aIcfmbldvuwvcHf1sVWlpYhBy7a\ng+kzxlJ3saOHxY+pmnYE3snn7tMQO71sPKZhT7qwH+wB3swkf1H4einUHFrk\nAIb901z94yJ+zjgJmqwgWqxkurR8UDx5rGUVpvdLua1NUys8VBoswgJy/KsH\nUQfcslCEWk3MMSVHeYFHcdar4VmrrvaityuIIew06nm8l2WoeZtkQyqer/g/\n7UMr\r\n=1yCl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"81b8598ff9d24700601d499171a56de189fb5dff","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.150.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.3.1","@adobe/helix-simulator":"2.12.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.2","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.6_1555002148927_0.5081332958591145","host":"s3://npm-registry-packages"}},"0.14.7":{"name":"@adobe/helix-cli","version":"0.14.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c59efd5a7d6e980e9fe756c15671cb2739e38a71","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.7.tgz","fileCount":78,"integrity":"sha512-aArGPYPYN93Co9EowP1oDNcVJpOhHrmm++Cr6Q8MQO4NmpUa4o0zX8yY7489jLF8eVspTa4NKGfUp1FVj+lH/A==","signatures":[{"sig":"MEYCIQC5stHv9eLlF31AwmGgNEBUEr85WEolr+E2nENpU5lSDwIhAP2giFTgvstb/pfm003aWMvDlf+VA6vttXaQ1tolQReD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":422561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcr/IECRA9TVsSAnZWagAAYW0P/RqVJ9g2yNVcq2pLv59Q\nUJylwIqki5SB+DFGVshh9OjkJMPlWH8lwtXX4/Djw8JL5CO9fhDZCyEUginZ\nWAlhe6qlTrKNNLyDNcEMJdm9UzR/2H7qY6Uavpv7PFO0GcwhOvW26jLCmDhY\nrAHeaE+AobysUVde7t3G+JfayjdxA4BwLGtZ9R4QrmTp1aOCcyixxOen7u95\nUJItlqDmV3bTZpiUlROLmGRV7ndhFsAsnVShADOMXKbzHXMOv1wHZTPcsif4\n1uNnL5gQkypEu/YVj8Krs9mpjdI8w4zcpdEGERP7zfJ3g73MBrk2w+WQ+Y8l\nXe1jbu3ed+2mRY7B/j4tBsn9bPXE3zCcJ4L+ey52H8CBx6ZlocY0HHCk1BKX\nLg8AT8hawbh/76kE3xX4X1uYMtSw3zf8Ch+WkNBvdgbMITfKIKygA46Xv6+y\nkKq+oP6dzRZfOIpZFfqzgqGPGlx3sNf50LzSlwUDajiyl6sa+N3Leun3EHBl\nq3dewGfxni31yWE2FxpgJRhQVL2gjXhQ3NEXNy9CHusbmw7rC6+fmYuKAtVI\nZ83aXm9Dbed+Ahw7PO5Xid+JvtXL5KqrcG8fM9jZ80qapKYJ2PiZ4xdvZmBM\nAZH8jJcRKLcxJ9k+0nITVidZ6KRoXHnSFlVUoDcwKLn3A0V0F/qOnfFp5oaU\njBSO\r\n=phvQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"fdd925df3d871494d66f12621c6f15220cddc722","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.150.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.3.1","@adobe/helix-simulator":"2.12.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.3","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.7_1555034627088_0.08855946238665391","host":"s3://npm-registry-packages"}},"0.14.8":{"name":"@adobe/helix-cli","version":"0.14.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c0d2e01a5c197eb35abc64a5f7782b01fd5af299","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.8.tgz","fileCount":78,"integrity":"sha512-idZ8XHf++dSFiT2wA5sfxD7IMdzDtYbrAno4VAs8KwuDMY9xL8LlrYIYqe8bqfIVjn0YDlCJba6QdPEXjlTR+A==","signatures":[{"sig":"MEUCIQCAeG1+TpWEp7HI6atzmyfMxhCbiaDzsPwA6No7mmj3uQIgVupLsBsKLhCbOaf2P6BsYdMyyvAx/tehSG6OYPRc65k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":422790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsBXHCRA9TVsSAnZWagAArLkP/2ov8F3bUEx1aNH3sJvv\ngHQrI/f1FXdb+25miawcflGS2OKWVnqs8xAwlm39iq4uVQ9r4CyJuS1zc150\ntJDUanE7jsLw2YuFec4O3tKwgNSTbkpk/dVNzbh7oc2K+A3G5fz8tp7ezOKY\ns+fke3+bjcbW+hSO7gailS2SXY1xSjjzmH8sGefivIZhbFT31JvGTgbHMw1F\nvKm0VEY8wG2lafWYAXN6D6QxJc7IGAWzr7ivrmzEyhcywPJqel3glC14ZDnZ\nlvQXM0VwlunGl0XbHwEsaSB0wXmKPmPbEQu+fFknTYsOmLc+Sa14NRJ3Ez/c\nwJObLlWdaPFuQm0L8hJcGOQ8topYY2QifWeAMfJtOxvLBto9X4Wam/QAmSiF\nGss9YnBoOJ1jpV8RbKRbcMgRBAMTsZdQNWCxFp4vZJBswYEKb+QZ1OJ+2vXI\nE7fKn0MvMnzAlGiSYPuZukt7quMUxOs2d7wRMV/2O3xpNxAqPxXxxC1jJ2JY\nkFrdglfm4lo5d0wIkI3gZ+++Y6V7ftRhsmz5xb+K8QFsHhCZWk6opUqizC5I\neKIq0qU4QrO4XFLA89ECXiLbKfRxrJgrgUCseDEOWnnowPPootWHHR3vyKQI\nhsv3t6NLT7e+3b7g7AHIjIliuLGilDiwLi0Mj64fmh0PjxF1NSch+OrBrVUD\n8uON\r\n=QvJu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"50c9014a6a476895129b9370daeb77103e473db7","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.150.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.3.2","@adobe/helix-simulator":"2.12.0","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.3","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.8_1555043782092_0.265615353702646","host":"s3://npm-registry-packages"}},"0.14.9":{"name":"@adobe/helix-cli","version":"0.14.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.9","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"382609e6007781e644c8fee73ae20f3fca5e8b51","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.9.tgz","fileCount":78,"integrity":"sha512-sYuTesaa2dgYIMYDThDGxLzBmwViGJGvNwrK1+WHzpcEiAG4gvHqD/W9bLsCwzosdM+C4vqyvoEvZb5isWNlfw==","signatures":[{"sig":"MEUCICmh/2u1ibJjt74DGoZVqYAHaJnXEdkUyTHyT6rOeOuSAiEAsUd1Ybq1nxLbCgPBHl/M+uaxDFY4t039Ko6OGenD/EU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":423019,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsCedCRA9TVsSAnZWagAAJd0P/2upTNj4Iu0ht3p9pMhe\noSrGSxUAacDCuohZDxLXCYHhwwn2r+JXnW/kIv1mIAve4c/tw8+FKsNw/Vjc\nrh5onW1iyyFTgd7zRIUB+5ayboKlIHcQEJdcGWHIRTkEwK4nA+gwFSyj7JrI\n7OnJyywwW1M7Tv0v827vLJeXGSEaAcGretAj/4m6N0wmXOCzlTPXHD/tC5xb\n4YkpzxQ4WTUaO969UKWMLhYxFyAaOfsRakVBwGhTvV3XX1uO1rsHRPA48fhi\nti9IQHKUAivkzuI8IMKwAK0NIa/rvXfHbzA0XfY0QCymmmBXe2fNDrjrrXfz\nEZI5od/H0HcGut/EeBvRRJgkDoTOamNQmKa7NjJDrXekkrBP4lWz6HoIhc84\nh/97+eld/tU5GsJwWKh9os8q1jgXoW8zilUPtFYuJf2FsKRsUtoPah7QOR48\n1TxfJgcqXRGIKcdHr0KTkca1xjm8Raisk4vAHRYLsAePdq9uxgAggOxI1m8O\nSj8C/ZtxMlks+Z6fZPSupMUjn8h/+l9Vrm4yA6lYDhkLMjWdPV996d1DuDMl\nPZVHSYEfUJ4OImaY+ucjwCeNxCi7Jemow1Pv/aVcyjwY036euQhKlIqVZJET\n3R4S+cecn8MdZdGGSUW1IzqYfOzoaqhYYxdsu3rLV9WMgSZprsBKVpzF/1gq\n0z3t\r\n=Nllz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"0cf2d624a0a23cd7cd113512bc9900f14c656112","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.150.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.3.3","@adobe/helix-simulator":"2.12.1","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.3","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.9_1555048348570_0.26037265614718197","host":"s3://npm-registry-packages"}},"0.14.10":{"name":"@adobe/helix-cli","version":"0.14.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.10","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"cafad2a30c4b7cfd2d0a174dafd16356c429643c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.10.tgz","fileCount":78,"integrity":"sha512-LTLlzF2i8AsPzVmQIvRKDz1oaEuLSrvAf3kOWKRgxssm2xh5O0X18hJ/wJad87EWTWTOM89k6xQi82KM2rQ0Bg==","signatures":[{"sig":"MEQCIDCj3Dg8A5KhbeBN6F8hPjlG0CC7KtZhc3bF3z6SzqSvAiBqy+zV2Ki4hD2kqHauihSHL6vbGggC4CVPNCYxEJdccg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":423251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsF1PCRA9TVsSAnZWagAAQVMQAJayY8dkEgErSHR/gZYj\ngk7fFxkEiY++LYZwcIaqf/vtVFXNEnKL25SGmGqITVP3ySXlHcJDweLYMKR9\nCAYwEI6pz6HsNVbfoLp5lfXXpqamdRvEiACEOKMCpCxzEUwGjnI7uKw5oQJy\nwsBVJYd5cO7H89bDLEbH4dGhdACNpp4vrQSLoKMryeqyR9cTTB/j881BUHjC\nmApCJC4cQeXAXRPv+iLQsMSCSx4mynXm70D7xdXjj98mNxTud5VhrchUlbV1\nkYlAgIZ2MBpkUSxvQM8tFy8mXh1gfIqwbhravBL+BTpIoW1C60jcseRUH9gJ\nSpM6v1bswAvgjuubD0I25lqhco37/irL+ldwLWZd3Za2iUr1gbv1xgVMqfK4\nsrIhtS1yIB7YXJMC2KY0Hj+xDRPNLXeKAK+M/uGqzOVpyGDk0IVcDNP1Kt2X\nr8uHNfWjX+hBHP8N7Vkwi+ienAZyD5+nwfYdgpfUxF0rYeo0QPbW60kWaBqW\nGntIGLUSS1MHAvpRl9HCH8uExwNCnu4v2xHLqGKrGYOMyGPoin8CedJNodyK\nvxkEpxjJJbIX3J0d63LRLky1BI+CDQ44t4dI4IyH6RyDKSTlzr6uUOsjiE9w\nhzYEpNk1QwP8nlQ46u+VBuRUObpNWvRZid1eXa2I1Qa6aQRM/n5RWx1HlNgK\nZHYF\r\n=Szr/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"34cc45f30023e86ca4f5dee151e8e6826331c88c","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.150.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"1.3.4","@adobe/helix-simulator":"2.12.1","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.3","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.10_1555062094289_0.675437123765831","host":"s3://npm-registry-packages"}},"0.14.11":{"name":"@adobe/helix-cli","version":"0.14.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.11","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0cfbe89a39a7b13809756126c8721048971a4bdc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.11.tgz","fileCount":78,"integrity":"sha512-0UWmXBb9CUxOajlBScl4B2q1sdlP/pY28VKlAF0pHMSMb7Wu9+3tN76uovDsThZbBtM181rN+ksYObdYoUFcbQ==","signatures":[{"sig":"MEQCIDrO2VlaaR7tEhQ4wPA7bw2S+UZJohEg+gCp8Sua/ZIuAiAM+cdNPmnMtzRuiR6Rw7PVAPKdspWifYpu18UfseCsGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":423484,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsGEvCRA9TVsSAnZWagAAwCAP+wWF0gk0uGjgLdWk/kgf\nHMzTt3F+4t/MxEXRKTUMEiFfGGTHiNpvNmoychr7gQ2mQENK1/hIyhN5pMRZ\n+GEWEwEe9DUcYHzhXl7mGRIi8FYkt3v1kx9x22+v4xqRferHJJZQA0yd2Guf\n0cSakdFCLZ6M0pupSBUCaWXaRrNVqSnAN+9HRvrvbXNIYpzk8UnvK0JSF2T2\n/iW/186yA2T3rYEqa0kIE7GKp1sS5QQyFl0CiffYJ3o40R4sshnxedQG+D+C\n56w4JF/hMiL3daGY/GPN+nBYHukqhm+ZP21onu1GC/yFsnorpDkNFvTi/qGo\nUQd6FYbMGPoDo0+afO+/bML7fa3df+C3BF9XpoRv2ETj5ZieZDWj+6boYL13\n65vUilmypAVqWPaacyoyGrNJ9xSMcba9gEpv2AYI85ZpNroCb7pBYPHhVz9D\n0cQuKhwE8BjGZo5J5RVdfKYkTvqPbignFlgix4Qmc0Zz1spapFKMifo1FUvk\n6RNsVii6nqlRag3/rcnOpuMt4zVnKpd8h96Ua/aip7s0BblmbTFG+R4WmZ5H\naszLqKGKPYRKgZWoJMUeiuO2sjMLrBKMzfTaNPf0+/xiq2yWcB7sHv/17vXk\nDoEr7ClwMVCJJf/TL3E11lgRV8vCjEE3mnNDZ5saipFgJvqYgIRgcR7YjQXJ\ncQSr\r\n=7zQQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"ce592620abb617932da1c7ba67315a1c87168936","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.150.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"^1.3.5","@adobe/helix-simulator":"2.12.1","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.3","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.11_1555063086491_0.5096933669571821","host":"s3://npm-registry-packages"}},"0.14.12":{"name":"@adobe/helix-cli","version":"0.14.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.12","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"90058c5f9c5d925a9201344098b0aeab2f184c6e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.12.tgz","fileCount":78,"integrity":"sha512-wy1a5b16La7NofwfEaRUkwlh+7/di/gHiDhh4gteAPval79dtaLYxaTV3u53cFLvzbJdYHYsR/NZl8CJxod2CA==","signatures":[{"sig":"MEUCIB7ImDPzOkXb+4xQ+J5jkiqg+JnlwmaoOXhZZ3niYRR6AiEA1CAxeTm8lCM6p5tYTbybRXCp+J8FWzA+w70D3QFHYEo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":423697,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsHpQCRA9TVsSAnZWagAAyVEP/jQvhetzVQtd65EGUmWU\n7/vnY7UNQ/0ESpyJcf/Ft1Jwzy6LvvgCUz/MZcy2dyrYSZ4mKEyfLf6cDYzk\nAZt3YaiOodufxxe9ucWixb5TWiNp2SIRez+NHOzI6lEj++q6Hu8ZnxsLORk8\nB0AAh4TR/ZM2hDlYUFz0+cNa+2Y6YlwT4ZJfM726J6pn+pR0TpbLMrMTZ7x6\nXdsNRERyTH/XTrSCITaJuhr7/YIXYzcZ+L8+JtGCHhnJCR3V1kLbsR4WT70r\nUaNKuQiTldZhd+oq2Ob3IX7/I5nOc4aRqUStlm036XQeh8PU9qP2GNUPwQrE\nw5mqqCr27ecuQIRhFaFokpo3POjiJQh4+Yjs957RswJBcAEW3pPlnMaOOxs0\n/h7jL7HZsR37rUJSXmYFoXCAE8I206mayTjAI6+otTpCiCrNINOmqoiui67e\n2caMaks2ZIDfkBTBfGxSC4pdoU59DuP2ho3Y61ny7HtIx7uaASgtk3aknzGZ\nXzlOcBTxE+up1PvGgdNQyJbIqX6+YIy/AVFSNF13ZAvfXJYuzS4+bT6UOrXi\nOSt4ps02NNsvshYoTYpshdxM3vAN1ws0XuZvCwBRKg7TzAGamQcHb7UQoi87\nvX78Ua8SxXS+A8EF9JISv2kSZLlvtdO1/IBAfBEb3nQ0VxUjybHLMBbtRy3z\n+YgC\r\n=IHB1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"5cc06bf1d1a660405579b7bcf3ab6bfc11fbaad2","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.150.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.0.5","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.29.6","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"^1.3.5","@adobe/helix-simulator":"2.12.1","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.3","@snyk/nodejs-runtime-agent":"1.42.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"13.3.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.3","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.14.0","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.12_1555069519792_0.6382212436079435","host":"s3://npm-registry-packages"}},"0.14.13":{"name":"@adobe/helix-cli","version":"0.14.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.13","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"866cfa334de9230e49bb0e77e1c9ffcec6ffa98b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.13.tgz","fileCount":84,"integrity":"sha512-R9Tcz4P9kojiVft49g4wmXfwmf5Urfp6fF0aM2uuFtpKAkTzo+puBY+Iv6MdyfMVX0TvCiQYbSGGz4Wjai08og==","signatures":[{"sig":"MEUCIHC+fcg7773oyRmw9erd37wMXYYfAUXVeylkYiaSFCNbAiEAnjmLZjtROWVZxr9CWLeBxpYT2YqLSXhPvDyXciUWiao=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428669,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctesNCRA9TVsSAnZWagAAebIP/j2AWnpI49xqSQ3AOTdz\nP8uA5Fnq6gae1p5F31kPGvKxTXEphfa2C/UEOHp41/0/khqjgoDk6ejb2y28\ntJv85NIEaKfh4zJXcTxz8CSIB0EkZMRg9xyq8tvjE32Vg1fB/KscyLiT6+WF\n7FqDsjIwUVUwF6pnRCI8ZNpDh9h8UAaFyvRr1Zr/xWfIDqK1t3FB25eIsJAQ\nbcg9sSLPEVszOEaRpN7/D3QZfidJbVVriAdGTIz1GJ3fT3hRiKsI778Ghsyv\neLAGxYllLSVBk1gMFxmqDwBcx00/qyrYN4j9e1HBYyl7O1m6k6uIoa/xCr+X\nxibFxccTjQjibq6qvy7G+oJmrspoeC9rUcn9s7hSnSQEEe0sm7pml0AAXiJR\nqpTqXyfm/8inZErXwmsq2yKuDKZFQOb6/M5JdQGT5AYneOt5GeJx0FDdTTek\nwSMDl91NpibT8SfddtiryWzuyfgiitlsiFTE9FEne+Ulz3TqPobSGy7DdMGb\nBZTkT3z0CEA6XzSZSCdwMg62pOpCyPdI/KpgGH27mZrZNS5/6PjPfallzGyH\nwGPoeMYy07Xb/d15gVg2NsqYyzgyOd//iaEJVF3dppfxuE68bpVKo+kso5eM\nEGn0ZCh4ZFPZEeLQqXMiGX8hV9ORGPlC5UewwC7LEwWy0vnsTYC4z0gTZD25\nLx0S\r\n=QnTt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"5123d138db8cf60f4bca68754cea61c9de819576","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.150.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.1","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.3","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.0.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.3","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.1","mocha-junit-reporter":"1.19.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.13_1555426060393_0.15616278489898217","host":"s3://npm-registry-packages"}},"0.14.14":{"name":"@adobe/helix-cli","version":"0.14.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.14","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"be7662d7712a54638a5f5102faa099f7fd662ee0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.14.tgz","fileCount":84,"integrity":"sha512-Fsw2LT2hD2u1XdVkx27kOkRRIPhNSGrDrAPmvzIJvpXFlsh4Cs1jyJAe7iQoypdRTWBjiMvBKA1oLw69n/VEOA==","signatures":[{"sig":"MEQCIA25KuRPPt0JII8FTVxyGjjbrrwuUUKzqb9/tQTH5npGAiBklxKHTAeT5sSmiJrPOAJJPuQVkEOgysELYqF1dDnLLQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428886,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctu8YCRA9TVsSAnZWagAAuwgP/10pE5Q50sRxXl+Xayyl\nGccjGr8UwSaN5ZZqnswGw+2rLjneFQapVOfhdzhs5vON2KVceKmAx7FSbB3E\nC8YRFIUIh2w26ldM/LP9dUB/ozQMq3okR/JtIrKH5yki+GY6lXwjRejEx+OX\nNmTOAbaL05hwGH23DqcAflioRiomIXdV+h4yV9lDK/ptRYgsFep8muLlkc1C\nc8n7cJgXzK4/VueTGQUXBEMMLlYP/54uuo3YdmlD5n0JoHe6po9mnX1yzaVy\nvZN1KND15wh1BnABegKbDGoBEXYWvnslfqn0vIjzxR4aHj0lDWWuxruQSYcn\nzEFXWFAfan+SA/J+FW9R1ddeSWVavWMh5rURvnFOzes5Y1HRi+4TeoQENZ57\n63JF1ISFQ5fdl1tkKwvT0Qs9KZ8ycTXuFBckHpjMfUeBP33nT1EU966PhTkk\nJnmT4+9V4iZyuJ5VIMsBQn+lg715qHgVO3mylbnqB2Xvs/KTvnx1OyF1Lhc6\nKCKIeOoM0y8uPo88zUqlQS6HelZIpnbItmXdMjsnFT9vwWrLc8Q+w3wmAy+F\nlH/SiN+0fTlMDMaX2qHiJxpPNgtRFpHzYL3DV4olGzZcTPbYmWp1GCfc1HHw\nrA1Fy92Rd/CDYAcfCJNQCyecVv10rXuoonBCDiEe3lK4boVnpGo5RemOobvN\nXqvs\r\n=kPry\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"e92610fffc0a8c0d2e403529e1198284e6ba928c","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.151.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.1","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.3","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.0.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.3","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.14_1555492631718_0.9299245837676313","host":"s3://npm-registry-packages"}},"0.14.15":{"name":"@adobe/helix-cli","version":"0.14.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.15","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4e77df1531d58f0a2cac5cd35266673095a44d47","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.15.tgz","fileCount":84,"integrity":"sha512-syubeJkxDQnHCw5vER8C925om4wrs5Ecpw/CYcPHt7/kYLBaKGQBr6Rr63mtOcS6ygCJsfrhAFvhIcQFosVhhw==","signatures":[{"sig":"MEYCIQC61j44SZHUNpiEECHkyR9/xo0GbAnqfUDhGGFkWh+ISQIhAJ0soH/oWiPTex/bphi3uHJzNw2e0fp6Vbcyz0nAI2vw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":429712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJct0GJCRA9TVsSAnZWagAAhiUP/2C/JCujBaX8o7kpk4OR\nKsC0Zod4QPK7S8NlrzyBDSSjflsCJt2xOHZ3/aNMvw7sQJg2cgSoXNPvzpSM\njfWANs8Ww7rmP4Y38RiwE5Tc7tMz12yMjXoavnQBqdnkQEIUKhygSRgmzgQ4\niqQU9jE9jWBcu6KB2eLe8V3esj1+Ug4XuAImRVsT5t+zvmxQ7TwfVu2+M/GS\nzUMLjrNoFGrPpjaiK6IH+U3SpS4p9BDAe0h4444EnBfW8765Os6ssD8BhARg\n2AV4/3YdwTU6NHJcDR72s48T8Kj7aJdTcQNtnTh7WBJcxtlYBpJpLzKeyEDF\nGwwx73EPezu5/OzTI7uoXJ6WeYNGydL73zG2mPbQuF0AhhOHMC0CH2rphbde\nQIJzirOLt6Vc2WyEC3ev7Df36n9Io9siq8xzTPk6hX2Yoqqz4z5v+XC/afoD\n9mQySl2q4fAaRbGNoFeR9CyJPQZK4GEU0aGn8ERIeJHTd5WJLSwD28EXevVN\nM8FuzcXIttkHJ1eIqV4nZX5o6OTrMXSzaRBhR6CwQPzNbLOraE4IsG48cF10\n+1yC1YvUF0xfjhQjYU3TYPZXkCVkgW/q4rsxKzKUmFDYVSvmDrOwx2+j6+Wj\nMdwTGrQX2sHT6Hs5CSMjEUXBoXit80Uo2IXMtrOGf/FbQuYQ46QH8tEnmJ7l\nmfk3\r\n=YC9G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"ecd504d455568a5507f983c535b02e38903abbb8","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.151.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.22","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.2","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.3","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.0.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.3","sinon":"7.3.1","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.15_1555513736293_0.04148570343663738","host":"s3://npm-registry-packages"}},"0.14.16":{"name":"@adobe/helix-cli","version":"0.14.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.16","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"22944a31b47a6af4fec5056f0d4944738b138e36","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.16.tgz","fileCount":84,"integrity":"sha512-JmAVXEdrZkn19pcij1nfLURFFYEFLHcp2JYBOzFYrqqD/FbqyXh2gmQVk3YLzzvtccCLTaeGai+UMb7ZcknlYg==","signatures":[{"sig":"MEUCIGKFn8zMRmBkdCo2CpNBsGW+0SfwIxVBFnzGwvqK9/AcAiEAll6okQYEeE5PXr49058wU0zKuBDsikfCOOtCXwXgqvM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":429934,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcuDUACRA9TVsSAnZWagAAKgcP/3OoG8hoJcq8vKDEQm/+\nheyvUCpCdRXgfQXJqPr5jX14mmB2pdfKzWNAJRN6uSqIBDM/nmq0KkpUAA8I\neHZ2o2gUNEeaK9bBoCndzLpy3YI+7scDETGmLOHlONf5xZwS6O6HF202yU/S\nTNtEAf37b7odMAQAV1X5Yy3NkL74vl9g781IvXmgGWE3W3LAM8l8RNLI4XWD\nx7YsvzDPKnkQeY57+EpH4azH8WN4odNYccOOg6Hk/BGoMilJubaM3ZAxJebp\ntm5Il0Mpiymzx9JaDqpXQC2QMSW5y6awhxjUDnNiHxReTKWO0fojmzfcK+h2\nRx+njuu49+yE/BwwCecU939C/GU3zj1ae9H6dJOGZSA9wPT+7iDQwsxhVhyn\ntUzKqIeaYZBSaVMyywxEqZCbKfimRJ0Z88uBz9qnUagEnkOVaNaxbvkhO7Yk\nbca0o0PogRDeJmdYahf8yhaXeokJwsEJAOKfUhvF15btTAHg2X/HCH3II7vW\n3h9zrV/jplVCem22HB2vt9Vmhqkck1WTgff+vsMNi1nZTBZJZDGdzllw+t8U\nKzJdM7BMD07JFQwIRW9NvXFN+GIdgjcSAHi/ZtqCFAkaJn/iObyknSh/8eJo\nD/GTBxnHebD1FXtAuiDv9VfLKNrfat77Qrq2DAqI8nROKO9fq3UTqVU5XEH1\nWOim\r\n=ihUA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"8338fbbf6b4a6b45575bed7ff0769a3bd8460958","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.151.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.23","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.2","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.3","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.0.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.3","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.16_1555576063597_0.9615271527837097","host":"s3://npm-registry-packages"}},"0.14.17":{"name":"@adobe/helix-cli","version":"0.14.17","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.17","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"cdcfdc474ce8edb657d292ad36f2a3ba8fa0fbc3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.17.tgz","fileCount":84,"integrity":"sha512-7TIqePePr7xW53l2aXc1MlQ0ndM84lH9Nkf0FnQnmWBTpzNkRz4443YRcxkedH80sN2Lu6uBxBiAdbdsbunYHA==","signatures":[{"sig":"MEUCIQDNMuXLA1++Zp9Yb/6lqF8Nm5evNjSQA7yJFMC2T2hCYAIgK8I4ie03gG1QQH7IKK3TfRS0L0LGplxVNEYE/6R7aBg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":430222,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcuVTjCRA9TVsSAnZWagAAJLQP/Aix9FDUDhaFopyEPe3u\n8mYqOHvMWDECkWVdLm3TlybdsMUQx3ETOqs2ledcO/aVV3yJhUcJllsbcglO\n8lcy0IYqwpfqU9mkydW3slatS9WFC4MormUtw1GpeEKeqJG7Yv1V38DAVtDI\nWcyCBuplANaunSlAU8/VC8ttaNwEMiEeuyT6hm7PHTKkvNksH11UPUKEb8y4\nF+0zMV+rf4uipM2ZGOkQ4K+AF4B4fWFYmal9bTUa6JbnAb3qpB1F8RA9k4uC\npNoQEK/dLMk76AFB9rYwm/HA0D3OywRkUYAuPge6aAlzQ9y7tRiTKW3BX3Xb\n/YsNUkYRQUK0fc0BUQOk595tlvXSv1hroRCv+nP08KtphMfFne4Y1MjcqGkx\nMmxYGVmLiTXr58uwTNBdB9LawlKrfJoMbaifUDxJy/LIYKhofVpYbbu5d59m\nbKJ7x4ZHid4RkPtPSk7JHLtIMtEu+3HW0yaNq9ov7bOv+3MsaB7kC/iW+pkZ\npdIsSycyafmk+2epsWZl6e2THfSQmlabVFsU72HNO+gFV+y9BNpEG/jZlV0j\nYDPUCKL6RDgBHnorxhgrpFpGJc2MeBKWWkfmerFkxS46n1KKj/WAYYxHIUrq\nZZJWBkI2/ighdlpr8SGYV/R3gUz94Riw2O267pWGRs+AQz1yjP7/7cFgSW2x\niXI/\r\n=40jt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"055505b648068775d5a116e5ff5e6ada154cb3cb","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.15.1","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.151.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.23","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.2","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.3","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.0.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.0.3","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.17_1555649762712_0.6619252815062064","host":"s3://npm-registry-packages"}},"0.14.18":{"name":"@adobe/helix-cli","version":"0.14.18","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.14.18","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d28caa87ad9ba24fdab8a06684f1fa7b06e459b4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.14.18.tgz","fileCount":84,"integrity":"sha512-PgxLPPnYTmgwzCMLp2YaPrkMRDXZmw6mwm+A6fTAUmHdlASA5MeKsRLkxBi1LcWyrwWQ4cKb/2ytNvvuLxGhfA==","signatures":[{"sig":"MEUCIQD9Tby90nU8MGEaSe3UCDUwro8Bf/eg/uoIL00rgWgLZAIgFuvX9shkfx+qZJsd7/hKVsrPgWARyhmxBiyVs0tq0xA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":430565,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcu8e+CRA9TVsSAnZWagAAToIP/2A0tM/KxzxpqVQeqxbr\n4d4H3FVV40qy+FgRBtfDrlDJbdUMOoDxPxgcwt2lxuxa4bA/mUtMZ/tKlE1K\nHcZeS2trAGyG9WhnxkAaS1YgLNr6BCkieiO5XE4G0TPdEKggsphUpahDATyL\nOJmu0cQxHf/aasIHZWHigEbf7Bteq/pmMqKDAqVnZ0z3ruI8XdN2Ewh8Rq5o\nie0vfuCMxo0i6AtOdK+GsE559l5+IkGyr33KRT+vsGqP/aJxPe9Bng38p0W0\nrg/zsphDItg9EBnZWVw6LmGbrAg6BJN/zeGQ2S8ZRP+aFDoORNTqhvvZfvjO\nWVaDryW6um9m3OdO7VcizJNVsv3hEeVqrVSVpXt1nUXOARitN2SmEgFcBh05\nP5qzVRGXGHPJtVbWBQ8zISgXpuqtMR1JIGAcAqNMtOPlQcogDKCOPnerLo6G\nrAjxflguqQp7KMfk5ahQWQEmvxrazNF8WitvqLFZVisCGErKPfNwrfUo2AqP\nVDgqXPhv+b6Gq5kSxoEjEG9RyhtQhQsR3vfIBEfFD4BZ4BksJ0t92ogbKeJi\nUq17ALSowKuEKK+go3M0Q4t3clSVjW+1B06Sxcmv1iC5w4rVZqkxLwn5UsRu\noHo2HE/rE8EAYdtXVoVFxegqkLQipF/qi39mvx3bmCdxtApyiBr6cLL0blt7\nAwmF\r\n=0jCt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"0f894305bdd93c9dff76d81ae1bc465c55b888c6","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.151.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.23","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.4","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.0.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.14.18_1555810237263_0.5495375140661689","host":"s3://npm-registry-packages"}},"0.15.0":{"name":"@adobe/helix-cli","version":"0.15.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.15.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"fc0cad0b2fe777da632a43e610b7e696bcc0150e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.15.0.tgz","fileCount":85,"integrity":"sha512-jzBWs5pU0CLyKqTvZFQktb5FQn9k1+qh2vUFn+vNajBDVzF9J7IJHb0zEiR66jMeOu8ZhU1akj2CjaoKytCbPw==","signatures":[{"sig":"MEQCIH4YgTko1i9Y+VK9VLIKodOqF/nJL314TBKwS+OfgTbTAiBtlerqCUmJElZJ70j4+ovhC15m6m/yBdn2E8ig/XriQw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":437887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwC+LCRA9TVsSAnZWagAAHVcP+gIDqah/nToqudyiUyFx\nnMdfacOtx52ni1vYlwi7EqKMUmu4zMF09OcFk/JwX5ZF/k7MgrfnwUXZMKuy\n+D+FLI4X7k7UcWxg4KrQaxyNClfGJOGZQrmGn2MD6X7ncNo4sgn+qQvcrrXQ\nLswfVkGcKv0GY8OBFEHBtM0+KNXlwIf47bMSKp3Nygb2TqSwAUgseW1TQFju\nVXyNc9m92gJaTEhHByMSwJS4+dihXRmN1D/311gPs3PJkRUpO92dJnKqE50u\n45ZtkoPtWoRQyiLGfCqZTup4WBAR4CB6ltdSxfC/rpLV6SjRamtaQmTSHfwS\n+dmC6gq7A4piXm6e0NSr8H4hwitqGqoXhRkT7UCnLr4/yt4/9Xhuj8YQV2OW\nZhQtnpaSdCP5W27yoGvj+DTnjx7+E41LP+u6HLoVUvbNEN2Wqg6bgFBMWAAl\n2m4FHpcIJnIP8tcfgiV5h0zSGMEQ2yZhmIK1tG1PWDCN9ZGgkXu9Y1doaRPy\nmSF/259eUvjkuDFaWzVFXuPg+WH7kbCLRuaS6GrmlX+ARpDFebZWELEbcu5X\nxxKlPqOTRlipth1Hq8zWPBAurK8j2rB/mdUryAOgrZzu6sAildyXIRw2yQO2\nN06BMg/QWCUKy0/tkYG4B5UzpbRXbhiIRzyNoiXw51yv1epeveFx3/bI9JYF\nAN/P\r\n=AIlw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"4ed5fd5633c4563b593f24d806f043f49ad3a00c","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.152.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.3","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.4","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.0.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.15.0_1556098955008_0.3937492345196385","host":"s3://npm-registry-packages"}},"0.15.1":{"name":"@adobe/helix-cli","version":"0.15.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@0.15.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ef7b4d1edb88af08da3777792c740a28a866bb2a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-0.15.1.tgz","fileCount":85,"integrity":"sha512-V60u9rkeENZA1fW8Ewrl1rerW3O+8NtYlul8M/tu/oxIfvIlCHmiqa/eA80R3U3R5s3PjHSkbWA7ELpe8PIedQ==","signatures":[{"sig":"MEUCIQC5OFFf9BfITDGo3FRX76omZGhkFKFzuXnD++dC/61mWAIgQmfiEFPA8w/237Y4cpmg0vUKUuNyC/EfMT9+UTkXm78=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":438115,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwWTzCRA9TVsSAnZWagAAjDAP/A3eWomAianqJxdeVXu0\ncYnKmnuYLlN1uGlVEgXIFKxozNyX5ByoHbn8DY6WrJ9apOY/yGT2Ip2a7iBj\nsNKvYR+ulA9TqXFcphT+hQU6x72AlvWY9Ot5DZBQy7fb5gjIRzQBjQNQKg+Z\n2u3vR8xYc6gttmLfNGZaGjY01wjrp2w8m6cafne+JFS7jd+ICaD/xi7DCr8h\nm6p3OXjmkNW4YrfPdkui6GcBKqnbVGnlEQUMosnMl5SRfMBAqEZmHY04UZE0\nwDo7Cdfq4kwEV71TKwRUYDhgFRuqRjFUh+LiKfQBplwbUsuLWde7UhtfhUS9\nJyC6yWD9zx/3Rj3f6ogI7M4rDVZkPPeNM6R0p/2iVdKSJdBUXfR601xNWDPO\nfvubbNStC6L7q4kHmq/e0gJZW4ftPq/KaiL935DQmW8krRspASBMZ6yiO1+M\nx1fUxU1N8mijyDqvZ7BeDTSfBJkVRtzNIx2ns95GYC5up+th9gU1PQPWmkHu\nGoahYYaw7cTOhkQV7P3yIBgBhn5+jzzeI2qAMvG4uHcbvrrglQRABVR0cYKK\nQ4LZADwVMRyvr6b/9gbLVW+/IB6e7v7En1yXb0BQslTOcJrvDrskZ+k9YJxH\nnhLXwp8RRJ0ypOrDv/ggz7m4+Mse3wS7eb43gdOgrzjPnbFOGPsJwwS+Y1H2\nNqVW\r\n=mJ9B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"90d28e5a57c14611c36c03f39ece9334939eff67","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.152.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.4","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.4","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.0.0","less":"3.8.1","nock":"10.0.6","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_0.15.1_1556178162444_0.8505440013679106","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@adobe/helix-cli","version":"1.0.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@1.0.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"174bb291ecf1b757eb1c5013bcfa557f3876535b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-1.0.0.tgz","fileCount":78,"integrity":"sha512-98T/fj+rXNTqlK8o5QhbFNOAMCe9vbvfmhlG/8mkqm2zWh8nxs6ZknsNGtTJKb7ZyPxD5IWCJ1Z1CYkkRWyJzg==","signatures":[{"sig":"MEUCIQCo0AogB1js5XiNu3zdqkmDO4i65K4yuYV68xt11/mHxgIgEtj6GMCPcyzxHPUVyZcLZ7clmdf2Bd8+NE90SP5ZAGQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":355920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcxwe1CRA9TVsSAnZWagAAq18P/1aq01ywtCbyJotfxocr\nrqdUMun3ItwmteJ8bApy1gHF288dhMud6WmbMvJhlalR53+zj3wmo+S4l5aL\nhr0eNF16wxNx/WH9WjGbduEtHdcy7IfFgfcoehXajClk2ttgDM9Q3hcwCPeW\nDwW7mW2ToDiAsqtN6SvQAhZmYisNtZLZq41fw5/nevBN8RTqIzp7CUQ36WcS\nuWmpD1C5IID51G0O79Htl1IRrNh8y1kv1NhE4Eu+8RTJm1nT0rEStR2ZDn1o\nwALTUDBh+3sUeYcaBYoqcewd6/yN92Uo5xLST5XTw6SjLN1sb6yffa5hPwec\nCTlVr9XhYh4j7HMTqux1XNOnxRZmm6wNzDcHXazj0S2u+GbgYML73xymYuLi\n2YMZ1GZ9rPm0h+v9DR2x8RgennDcwgj/uYuH2FDFYEdRuA7bb85Yxw8iKcH7\ne2OUjK3T6QpiDFlWcR0AkFF2LK7sADQ9dEtGrNGPMkAHlUoxYBAp6Hvbq7lu\nQNk78dEVvG6y9xgf6Spo+apWKQtAuVhm5G7ZICZ+mjxmf/sw4vzEuG3fGLBC\ntBcxh9yd7HG0KORE4V1Ah5DvjMznNhYoNxYSOmYkuKGBbBxD+dwPc4qVr1NC\nNWH5df/JKv7ng363LeabpSyaqF+NFHNdaCmrJR1cXL2pNbx7LJcraU3mK0Au\nTRzw\r\n=6jyC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"f9ab59cd2baa2860289d826e270938f2eedb3e59","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.154.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^7.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^2.1.5","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","object-hash":"1.3.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"0.10.4","junit-report-builder":"1.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.4","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.0.0","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.12.4","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_1.0.0_1556547508120_0.28934968604428457","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@adobe/helix-cli","version":"2.0.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.0.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c31e466198a6c36768e6a3e2adefea9740205f81","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.0.0.tgz","fileCount":78,"integrity":"sha512-VdDoSEhyy//7HeT3mdD1vjzJu4tiHXquics4S7r0va64hvr3z3vFioMxfXGkxrcjTI+UMIUKs0gHsFFtUdmngA==","signatures":[{"sig":"MEQCIEd9aulvt1H5LeiErPtzInbZvpNXB2YDC6Kc2Fe+lbPAAiAHj4QIC545AZjpxtHwbruQwKDMJfPt7QuefKy1cUD0wA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":367000,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0FjZCRA9TVsSAnZWagAAJVkP/2GhpsW4z3D0m30x/rYX\nQrcDCCH/cSWZ+MvUQ19icRN2q+DGO+CZ+75XIwj3H6sIgj9P//qrwdtQCtXK\n/bC9ILQjhICw+XWFxu7yThQjPoW6WbxmHaPVTkvtnpyyvPf9srwoPq/NoLdt\n9butWTgoT6fotj7tinG2ebXwLnYM3GH9lw3A09rlwvYficfLTtPRIYHVPubO\n3qCUbqX2m5uhjG7ugvNzZ8kCRN0ZLNbmpdSpvhjV+BRYx13mSK5ITo5m0OS3\ntE2mRrA9ekymK19T4l2Qh0nztjoz1oy9CdJYAcHMRuElKPRfPNQTcolHG8Nx\ndAop5hd4O2qxihTFAd7p4c26/paLL6iVIoiKgqSD4ETC7/0Y48VSJ3cy/NWc\nSYnCMLzxTbk+JkQPKUnFY2TyjcJSDRyrmXw7ztj1i1PJYrRh5S61lKuSxf5A\nKV93y814dN9CTl6gOaL4oQYiFZpAzB5qagoDI+sXHWt9mRUtvAeQQujF6Cgg\ntWeFlV+neUiAH10Q3XIL7VEFPKYMLj/M2IqHf2Z4hWT192zDEb2Hxf2Aj5+R\n8TRcbYmsRoj5IX1GRyXCVyv4qPCtJWShNypdJ30C8VeM3tycnYerptWekaXQ\nB3xL0djv/FHAfJmpwnXIUuD4QEvhgZAMrtqtrr8Jur5vOZy2crRzd6NCMkrA\n9x5n\r\n=y9u+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"8748b3017e7e9ef5ad38ba305e6f558bb8ed94ad","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.161.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.14","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.1.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.4","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.0","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.3.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.3.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.3.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.0.0_1557158104749_0.8402591544065474","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"@adobe/helix-cli","version":"2.0.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.0.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7854777fff357638d4862bba4b68c3f7a0a77307","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.0.1.tgz","fileCount":78,"integrity":"sha512-4pnvAp0S0A++rW7/hjS/Z5AzBVQoUsjCu6A7C+CKBMQjnPpYb/ioMmUGfHS0rSzKnyiUzzZxcBnEC4dbuUzTHw==","signatures":[{"sig":"MEUCIQC8DOHFA2Q6MusFO1+SEbtOsS3+LR+oxIjOGvchdic0JwIgM9zqZDK4U0uq2+KffuIo7tivzVJmNfZQZhDKobi2gAQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":367224,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0VO7CRA9TVsSAnZWagAAAPwP/RV4bBg1G8Bd78Trw59m\nzNWKr4YLIbd1wg8xoGHMDYJWXegnVh+Qs531j1RmVW2XJUQIWrjmZLAqAqBP\ncaLZHyqYyVI+dSgGhcxQaPH/YF3XpnKZnHp3pnRL+gIbo2MRebaPPUbNs9Dh\nHdzdBoO5YiLTF8ljIhHSQNNvWUWKrGG0UbSr8TmFlKfk9ME0ik8kZ6F7DscZ\nHpPdbjLR2hAn97wKkdh5W4xEWdZr04YIzyh0NH10BGF1dleQKNPpgqmbkSmg\n9cr8y0AxAkDB2i+5X4CsIgLd9PCRI+oC74eaYfRPPf5Yc1phKyp488pFQphj\n/fqmkcIwOBA+FQjJPwN8qnKnnpTygkjxee6PqVxDZglDU02AkDc0XVjU7Ktr\ny16ZY3+IxwDFhv1D5cvYYXKauGJxRsrCccaPPAI1e+X7YoW7Qj55Y6j+r2Vj\nSqoeYS2DTrAVOKx5aYCWYaWws+V5pNC5RBJVgXT7NvON/APax0NGduDhpfcx\naxESvYpcHTHHaU0ncSGldlVh/vrMFXFu6zZKnESsBlDXzVC9lm2M4b0uyyzZ\nPES3TD03TeDHESF9YR6IESPnCqtkB4rhkhYiYKNU2Brn6fb71hEnfozI8hSs\nJV4myk6eH+pECNZetf8Q29p7NjIrQmh8Una2IA95IPD8GACw+NhDWmQmiMSB\nsih2\r\n=G4GO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"6624c1ec53f8a514112399c68811b4dd3d987f6d","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.161.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.1.1","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.3","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.4","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.0","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.0.1_1557222330854_0.34131434072368694","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"@adobe/helix-cli","version":"2.0.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.0.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4acf0dca102fdcf36244b2150ff4544b71740e4b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.0.2.tgz","fileCount":78,"integrity":"sha512-Mvn0/yGZpvu004wfiU26oS036zE+A+8Yl770+8NM9WR5OXFZJZYfSlcL6y/tA8qM0h1Qiz+A+hSEhWBWBbDmpA==","signatures":[{"sig":"MEQCICuBpquVLLswX3DTNQLfDhKGUYeWOrIQAVfIUUKyDChWAiAdifEMRCMGyrDaH+Hmkz8Gl+0mKgoioxabauDAfAn+vQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":367452,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0VgeCRA9TVsSAnZWagAAovUP/2wWo/LVPOUZl//SdFWQ\neHi3ZaFcVCUmLPgFT1kUKD+zh6GKesGjGp2LfHVU6yLv6fzlxOTT7V83eCJm\nWK6juZaVGTz40E/HmiddVYy7bSm1EOKn78fx6zGiTcX5aODNgWdifBHNQVv/\nc1cb6c9k4NVW2NzqfDHH+RmAEQcF0vYX1dgN2mxnwrMOt593yrze+lPRwaHy\naqkJMWrT6ZCUVSR518tYlJ7aCC2A22+VuGQCFE2iDzmhpcH6Nw05C7rJemXM\nHNbdZkzluxLuqUDnyfFW4No+ZJkzyyu4i3QHy0QOGZy0WPPclFjMzA0Je1x/\nuxRN8fTWYODRavX3jRGe8ACC4GjtlKEEn/puZu3kZSeKsJ5e2NHxIAR657s5\nO77OpolszHI3YLrn4ATWTMyXVs1Z5dDn/SkCj0JRQTQAHuJQyuPktIOgbEsQ\nONOAFlPeU5JgBjk+NEeZdxO1H92VHLxnhoNS2n+eViWEveHYu8oeKdhotm7D\nzhKzOrA22a2jrmYNNV3QpbJh6jkyuVJxFxmhg8Cba/97J6X0+AhZd0oConO3\nvuqDY89D3fRi08VB4w0iqTedp6T/watMXmbFykgGEwRc8mKyGpnXAk/6DzTv\ne9AzgQLxe3wepxZe/v0VXAKpZAh7qne3r1XEcBKgWlMoQMfJb1sFW2L7y/JQ\nqw7O\r\n=qs6C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"7b0fcfad5637e57497d1eae6cfa46966e103ea93","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.161.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.1.1","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.4","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.0","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.0.2_1557223453929_0.3244337237833137","host":"s3://npm-registry-packages"}},"2.0.3":{"name":"@adobe/helix-cli","version":"2.0.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.0.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c4ce4392fd8b089e9278fcab13d6f628c10d7454","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.0.3.tgz","fileCount":78,"integrity":"sha512-8iDqO3HjDNDw6qIrokDNAJe1ahFFPbY1qPmq+Q4RFqpW6c1naDZO71ZpctLHpxW49CRczmoX1MqT4P9jTJ0aEA==","signatures":[{"sig":"MEUCIDp5NdKhaboZWUogWuHfVbIkMoApB9nRVR71Arqn8YeJAiEApnzY4Hml5i9v3SL7GNdu4svBzzx/bXlgmdk1fqKamIM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":367676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0YF9CRA9TVsSAnZWagAAnEUP/3Yky7JLm/ebxC7wH+NH\n2vAYqlwAI/XKx+NFJSkZKrZqqsMHiA5JOS7Y2XjR6SkEGCsLEMPoR6eZLg90\nbZMZjijOouTh74I0Rxma6Fx0SYnFeG7WFNIgqTcwB/bP83iTl3o76j3cnZd7\nL7k4j1PwqOXj1hUFP/YKKcrb4qtdLAXh97Ny1R3r1eU4ccR1qIolXYw81QLE\nhq158UksDb7oYBPgkRwJHs8ib6upHZyw6Qrj30L2x1PZPaKHQGjZpKOdOBBZ\nh2MF9gd64CX71VBv1Axiljf6L/EkMK5IBQV0634GVlUXvVzMssyIuNjlBBw4\nJygnAOH9f1cjYiF28IgC9YW1wjHc6cdfT2JkYYmqEXV6OMYRjjlZFtpbRMAB\nMMpNePuTpSkP+6OZiUwDZxmARSmkxqY+Y9QBJkaP43KRoUYtiUAvI9CAhmab\nEWrRAjzPv2VZKH+LSyaLzzyWq20UGFUQyM/HTcL1d4C90FlYY7Cpjot5EX90\nmulCTpOzzAkekjExkFefybAPO/K8Y3CO8euDUhmUAlAGroHx92oYm2gLlZ9f\nEwHBngCQLpioZb3hzGXhhArAelbBd5QmHIhaMOdAFT8CLOIyhir/juwESXNq\neOUV16wrgM0Y7VBWr7fgJUUpAkUhXLwkC8s+rDTN5h5uBLXq/8lRke/Ze4Ob\ndeHf\r\n=Qpxt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"576b9816e505659bf135641b3324f925f3ecef61","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.2","snyk":"1.161.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.2.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.4","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.4","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.0","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.0.3_1557234044021_0.00800308145790063","host":"s3://npm-registry-packages"}},"2.0.4":{"name":"@adobe/helix-cli","version":"2.0.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.0.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3dc2cc575053f1da7ad0a73dc7b4f1d2bcb88a7c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.0.4.tgz","fileCount":78,"integrity":"sha512-jdmqT2Vp3qCiVFw+W7zceuaFH0x2GWN45uL5G0/d/HOr+HNCcGQsz5Or/2PHYfi+M8WiuFh4rFxHIbZyCvJ5gw==","signatures":[{"sig":"MEUCIQD5X46EMRtOjpokShEfrQ+kr1kJ5v66ejL8rd8V8iJUVwIgEVStkI4bsa7tt8Zk9mUwCMDKAC/NFUek/qidmukf0Wo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":367905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0msLCRA9TVsSAnZWagAAu8gQAIcam5dN6lczF1Py61gX\n3Cb7B6SdD6hvF9O9gwcb57POZHcOOzuprQ7TDto9g8uPC4E/fhyAuJZDXJS/\nWjrVtvwHm5szpana6So8gHr884YVF7T22lvnv02SFu0vzwDmULamFZhNnTV2\nDj5tJDwrOZ2ny3o27YQSAsQkWHv32/WMk/8U/eTcqO6BT7P/kdjxTXTAWekk\ncowInRBOIMtwydP5H8jukNTBSURl8GQR5X2VYaQp/tSF7C1AJp9j+7h1E0Rx\n2sRiPflq/zN9MFYwyX7xJnLzTYjah/yGwZ2/XWhzZPxh6vGOM1XDzbvzB8UZ\nB2CyfAflXIBYJbqpHCZKYPOQ4B9sMsg2fzeVmAFYhkOLO4YmN2YCjKhG5JzA\nq/OxGkQcfo6j1MQATdM8h5FrN/gsNcsZ7IpwL5fEgHsxaeA76IFhBlS8zt7R\n2VVfycVGkzAf0EpB/oB+TbfxaAWRhZkwSGtw1xeHYeqvTX9gRK9UfyHxgsEA\nGFHTcp8vNLez+7/jx7wO+CXP2kPCo+1h09ffpnhRafZkBwSLVQdjGvM5kI2L\nVfsN/dgJPmY0DJo1p6mbwslkheLbwA9bZJjWGBCL1KeaoQdyTQUMxkWgXMoT\nbBu79662V8kdibXLXmw73J4EZydow1ge8pXwt9/ZW24Fy27aotG1+AD07dVW\nq3YB\r\n=RJtH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"16bef0b3d1ca957b17fb3a344ce14025e88214e2","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.162.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.2.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.5","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.5","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.0","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.0.4_1557293834246_0.12578044627741725","host":"s3://npm-registry-packages"}},"2.0.5":{"name":"@adobe/helix-cli","version":"2.0.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.0.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"da4aca3d9ebbde98973d79152a8a3c99142a8e11","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.0.5.tgz","fileCount":78,"integrity":"sha512-ZDyaHru8c6T24QnRbwXl5BDGNUy7do3tFP+/eEauLuIRuoQ+S43ZMsWCvwDmYbmbOI3GaVTJnX2W/MIMvMXX8g==","signatures":[{"sig":"MEUCIQC/HLVd1lPr6dp/uYAoq35GLD01M6vYQGOKN1g/OthGPgIgPN9kBgUZpyGDLIlKiocykLY2/IYiUFoD6XugaDtVspQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":368133,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0oWYCRA9TVsSAnZWagAAhAQP/REOLHTXkPBG//Qvl81S\nfi0dLcCkWgfQXerDoW1SQrSwSNls5U/gXtBir/Bm5Nr6pQ2j8lvNffgmqK6o\nOQMCWHedWJmN5m38o6MPYTc24jxKuq87MIsa1+Yk8LXaLQld3jQI3ICl22gM\nkaHNLoVcANK+PPcCrzzF0/5JCogBwsLSEW3Mzlkn9RmwePc7uSAjoQO4gLYy\nzvPRk5SqAQjXhBO+s4o4M439e3qb7y9E+7vF6v44H+KPplRYXD82PJ4brRMx\n0IZPjZ0RpRYp2h6Qp+5+aMR28j6J2jgTKDE9yC6FhRvFp15bipA7aWjExvqF\nHFw4AwONN0mSgN8rjfvO9xIWYP5HnqX4LRHS3jbH8SQ74AyNEte/nt/oAysv\n8Azrl8nmh6D2KFcm5KSyMe0/QbmrdAy8+efwpV78Z5hX4eWER0VJPSrmY7hQ\nkl26fn8oG7Prcrshhz6NF2HALodP0GbDsb6B/aKZNU24RO9UBA1Tzpuhc9Wq\ncgHtFMNQKlPfx0jFj5uF/hfmB6VUWq63RzG/NuCgMDcAaiPOYDOApM1bRsuC\nnRZZCbEpm1awYZBDCD/HiRmjD99CeMm5m8INDustAMHnRcb6pev7SJh8+b0Y\nAQmchQXlHj4zv0JEgRJyyWNxbAIdS0d+fYgiBEeMHOy2yRj3mAnlVr62aoDp\nCSLd\r\n=fBoU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"8fdf1f2488a06a4bc9ca3a47facd8c4239827389","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.162.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.2.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.5","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.0","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.0.5_1557300631759_0.4825510680505687","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"@adobe/helix-cli","version":"2.1.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.1.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2a05f187085464def333ceb43da61d751b22fd01","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.1.0.tgz","fileCount":78,"integrity":"sha512-u7zrFGFL+ySKkNSXCtsVZHOoKg63IFZ3v96058pGh6pm4SmH9mc7Mqc1cQ9TyDWYc7gxSmOCn3YXjhCzRqozsw==","signatures":[{"sig":"MEQCID9T19AefyXs9rCeHIAGFYbkaEd6vJXNMS6La7hR8EiiAiBNllW4jgOOACKeHtOJBZWPZBKxgLWw3Wen8Z+jW+FhiA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":372672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0wkyCRA9TVsSAnZWagAApKIP/R/XcF3Pzp4lNiVa/r0n\ncxhfCeN4sZUuwIT9FW6gCE2oVPhWiHnD5tOnL1JvDcsSCiE2nTi6ry3hmifX\nP1wpZ9IINObklDf1SWKEZFG9WRHxPAx4Al43GmMAJ3VWeDmFY9RDKYGT23qk\nO0k1t6oqq/JPRebfyCXdwWooGMFCdre10LdRURuk06tplCHkCHiP8nxCKXj5\naTzwR5UKtH12mnX20T7O9mEg7R5VebrVWDWkC2KPKdkOWDXrA4AxW2XgqBrW\n7YP4ApTazuEB+aGm7QV3iu61EyHS1y+xQi01wbVsqQfywymJr7pK3b66xFOu\n8JWE1DLZyrd1hzdnr1aD2BagPp79pTGdBs+zWK306gBJ6tuuV4Di8sQaMaxa\nnGj6KHKz/DoyfkeICFfBGYXbu8qEriokdJA8PTxG7HeWwEI46LySUNqadEuP\nsLWJusCLuiLXvNQ74z415u9E2ZpdoA2Ni6W7C5EBsJm2cqt2lu9lsaN4va07\ncBUiJ56AbSNtwfSaO74TaTa6i8w1IwtgzOpnpEp9tTh/ePDZkMrhw/TMRN89\ncdEsKjPnO/wu2cXDEnPUAeFmxc0xsPJsNo5dsd6the1M7Goa9Nf09Pz46wHR\ng/08s/CVImSjOPMr9hl/Lzqn9xCEOBCiGcDLuWN9rrRGIvmYF8hoTvyPrr4r\nfJN7\r\n=UIUT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"3e30bd06339dbd8a4fb4fb414981a6e557e15525","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.2.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.5","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.0","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.1.0_1557334321741_0.1458301461152649","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"@adobe/helix-cli","version":"2.1.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.1.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6dacdd7a0054d516dac1c01e647e09f5b1dd023f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.1.1.tgz","fileCount":78,"integrity":"sha512-xBD7IldryI7he/waR4CzgPo8qwyNDieXOABZ2nhtlkD01fWFNmTrvG4NKftRX8U/MPYWJGdjbB5PMbP/ko6Bnw==","signatures":[{"sig":"MEQCIG9h8Q3hPUc1iIJDP/kPcWT/Fd+gyF5TlzcQcjceXIX5AiAOJW4sSyE7ejIzCmPSd3ftyBlF6NReiXVW1Nf+/JhVZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":372901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc038cCRA9TVsSAnZWagAABn4P/iRAgaC3sXEZhgvn7Y8v\n/3yTCZXgT6JVbbMr4GthNW/5Rml4psIjhS4iHuuqJdVk15knqXboq89QBJou\nofOTBMx9FEtdFeldGHPfeUJ1M19/Yk11/zC5f5EgGBI20HkVw6AU6Uiht8oL\nDPiBKU8DkOLr2JFjuSps/mntznxFBYx5wUfnZXCSy0CoxpTJQH70tzpqwi69\nF+vOO0wffCpug+Up5a8QZPHbhKRSLHfA9PvSFF8dNgVBMWJseHkKZ8H0e7K0\nGp89UpdPjyfplIyUUeiCA1Q+NG9tvxfflfwye6gnTzophgcjMAwIuPo4kdSH\nkT1WRChEGVa27fkNc0loH0cd3/o2/nRAdKoJY0CksN8R+skAi3iHaKeu4WcH\ndPrY9QDLdg9+OzYNnyyOEVfzFZSy+RP2+UgzFxcYucPRhfxPRYYgaKdg3Bnx\ndQjM8irdczRvUWHK7CmFfC2z58+ZoF6IgN5N/mmgKCZk0CTPOn5yn0AjRyEX\nrNpeD31hBQMl67IlDKlvFM3SvbzWQjn/i7fiOxAp1bboZjr8PYQRyMXrVoiK\n/xXqQL6pIdIhDkQ5EGbdxUpcrYabpuFZC8VSQCgPoneJ22kQqzP29ulEpK7e\ne5yBVp8ddBT1vBDTE5SazuAeFQkZEPVFlVrmj2WsodhbMvy94aWFAoP3KgK+\njWYC\r\n=tPvw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"521dc5afa0e86fda6eee7316b70ca6fb1cc1727d","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.2.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.6","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.0","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.3.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.1.1_1557364507291_0.8079415837613166","host":"s3://npm-registry-packages"}},"2.1.2":{"name":"@adobe/helix-cli","version":"2.1.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.1.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c39ca01b4a2a2f24873027a6ad26e7dc6c798e37","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.1.2.tgz","fileCount":78,"integrity":"sha512-ux0ZLMyV2czV49laOTUQSdk+fcM24DoROUXEFmFTwccPkuJIbLrgMonBqbblFAIStc2+fHpHT5dDEuxoJ/ii0w==","signatures":[{"sig":"MEUCIC157AaqdvmwNckMPqNjEqxHRhn+3QNGbasfj9U/bOBSAiEAzNag8ic+/MDskdcX7fqxHz82aNKQ09c2v5ZhqbVrvFk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":373130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc09AUCRA9TVsSAnZWagAA+jkP/iiHm8X8Hx4PzgU7CHhp\nSm7uVDJKzRKwXltpZiE+yOCtYErUfay+FG5g4bpi5IfNb0kjne6mk4SDH+y8\nWUOzbVc+IkvqwIGkqXNsZqnI/8HWPalpirWwAfvotEIsbLanqnx1/tVBXPqP\nNPjNGujw7i1XluJvuQDcq8FJ5o9TCc4pskjnqBGt5rMhNcDsnZ+gzITmJzPu\nSnknE2hhx2iw5EehyZtQY+Z/icwqQtvQtTmAzGOc5MnIMbjPTWOyhsgp8htB\nAZ8AY/RxyGtcttTOTI2bhRMdwGCJKa5hr/OtPpNpIaOZGMz3+d/cx3UkeEST\nyp60CL5C8DZ848k8bOCJeXJjiYZNfHWYH1j0MUmw4k5x4YL2kql77bobfUr2\nydGKoSKFyayArCgN8Jbg6PPckgO2SetsH8xvwcl7MQh+vSQG+ZDhMCjZy1UK\na7BteWFas7wPdgvRqpjZP0LG3+BOiqUwjhkdNbe9+i2Yui7sw4EaTBrZ+jhk\nlt7DaZl2v9c4aFtSqBBwLZUSi8I2WvBB9WLG3icyv8u48lJK0kUeCXXB0FaP\n/01jo+g2lvY7kZmpNQwIpKiLXeQpMDj/gZNxl5n954tYXj7luH85NeiByN6+\nqKjyjSuDIFnecC18Rs+0sURjOi1rIgceQE9ACBP/wLDjM6c1OiQgXZearXkS\nifnw\r\n=siX/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"f2897185bbb7660c3b11c35ef828ee85912b824b","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.2.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.7","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.0","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.1.2_1557385235336_0.930904448067587","host":"s3://npm-registry-packages"}},"2.1.3":{"name":"@adobe/helix-cli","version":"2.1.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.1.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b754f551f738062b7ccb4a3d7a6be93594f5106a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.1.3.tgz","fileCount":78,"integrity":"sha512-9OZyXbuzbwd7oC9h47bMGSqNbmzFkpyoIJlnSrP0ped/d/jpBvFqBvRny1isUAVSW1GDnSzg4NoXGPhrnM5Vkw==","signatures":[{"sig":"MEUCIQCgpR1LV4+YaAKPCPGqgO32u3d9epcniPc6lv0hStTdbgIgTZAwObmBTtG5c1S1ZbfJ4/hfS5zsxvd/NpW9SY30B3U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":373462,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0+HCCRA9TVsSAnZWagAAibkP/AocRaenumyTQ0VRb1Bj\nuW8DLbc/OOVW4Da7RoWpXdg0g73QmQbOS0pJXhb+QXVyInEKbgONst8jdVQe\nb+/7Cx5IDTe9zv5Ez8LWBS5aIw4/FZ52Kz6hiMA4AB5U8D4brs2Z4aKyWhnN\nazUSf6PgFuurN3CVY0T5riA8HjJOfd9vZXbCnrb80HvZ4oM/hgGAyg7szF/F\nr6Q2SkosfasVIJcWGwWhATqCeIKJAVjsygi6tZ/fuXfVq4hGWERwCSqv5JR2\nzvI5u4FTpXU7S0nP2ZmEf3yi80Tl7cwShjLSokuwD5F0QAhBXMfKJluXVdtr\nZN1FCXHcLjv935abq11gC+lO2Z+PGgXDCYsqN1807z/3h52s8x1AZvZsfrWm\nZzFklWnzDslyy0899XJlUX9lYNDrdnnFf81bTqz0nnz8+Um3kkFSJwPGu+4A\np4nJ/RnfLTCzV/bKjkCVaCU0uC67e+V/Tkan6Yv01n49AELJW73+L7jXBspa\nj/b2R/386wcWFFOj4hV2GsYbgXvElDUrYFvE90rXv45lZeln7fW3IAT8PnFK\ne4mDU+5Fks6+pCKtHhb/hi4oxkOTAaeu/J3g5CmvZuom7Su1Lffw7l47nRlO\nQ6nMfU0Zfip/+k4yGBpNZK5VkM6u9VH++XwJSJJGU6f1kS66NoLeTCNs8ur+\nZG4M\r\n=razf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"bb6c68e0b11489a6d5400e7f8a1592fd70326db8","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.2.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.7","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.0","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.1.3_1557389761595_0.4063305096699805","host":"s3://npm-registry-packages"}},"2.1.4":{"name":"@adobe/helix-cli","version":"2.1.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.1.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"cb7f929087ee880667dd95a60e59570f1735ceb5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.1.4.tgz","fileCount":78,"integrity":"sha512-EVvfS8EWEEaPTP7q9/xBiIq0e+UCtTGKr9uWKuv76Vh6M/80l4uA1avPAqAJArO4ushQ6/7rVbSeKAzkaieOCg==","signatures":[{"sig":"MEYCIQD8iYghtzfKOsjV8ZNdkeZUVoOxyxHXc/cD3hmFkG0fXwIhANgzT0G3VkjUPqRm/ydV+09iB2DaV7DbuV6nDyAIjFZZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":374053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0+1+CRA9TVsSAnZWagAAEkUP/A9NvMAzgIYa0dAmd/a0\n/FnD2qY+rAIyFUc4GPppj9aaFjqqjrGSpn+RiBga/AInQ6aknKhFT3+1++Ff\nMKVumaT5W4QDe1NI3RmGw6zzwtH217uRCoersjgJVpT4M4TI1owbXiO+xb/S\nzsKQOX1xMjWn8csSXZEVO1/vPNkZ/Unvz/iJZPZJyrkreUQf44tYWajCggNI\n+F5rAFhaKDHCtoh6pnQrqz2W1fNE2ug8VUbOLKUIAWnMJQdsVUfqkZTm98NI\nEHOB4RGOF3aaDpQ77L3HAnBj7thscx8BoGUlMqMJYMNGLHdO2RHSPp6rTJXc\neQtc+GWPCM2DmY9E3U4zmhMTLBPQ7O3MfXXxyBkpUlheFiTwFAgXmBYiT01N\nv7/jluceDr5UUepCU1Ril1LJF8bWj+VEes/yGqS902Tg2zOwN93mK5MjxWS3\nWg/ksvFZScVzEAeJq/97ooB+Ao+BLpiFyIow9/Ss2q/gRhpF8w3CxwuQo+nl\nWbDtKU0r1hGFyorjb4uqruLzTVmK5CRO8EGdvnBDtYUVQNQsJuk4J/vYgHVo\nkd/6YESOzOhE0hV3ftw3VoNDEwFjIEOVytrk1ckZNhi5Zmgq2B/nmsM1d02C\nFs6JlCahviZRxNHXQm1FhFgqn2ekneuoN94ojw2W6iv4l5waUeIFpYtCqqm4\nHBP4\r\n=YtX6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"9735cfc4429ec72f314d45a7810480a56b87fa36","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","prepare":"npm run snyk-protect","test-ci":"npm run lint && npm run test && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.30.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.2.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.7","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.0","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.1.4_1557392765288_0.7140996629029681","host":"s3://npm-registry-packages"}},"2.1.6":{"name":"@adobe/helix-cli","version":"2.1.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.1.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6c7c89f2f832e5e0dd55aaab2f1e4973bfb90b0d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.1.6.tgz","fileCount":78,"integrity":"sha512-7OemYCkTmKqpRkVd5v2KtBULkvl4YZ999G4T1rhAEsFqpS+qlMPyg4IOJ/9oDR71Us8XGDWtl/kDYKLBKFYoDg==","signatures":[{"sig":"MEUCIEUwvpNi8nX5zo1r+obZV67KtX+GAOYeRlZCRppLpeOJAiEA32jwEZs/yTj+v2zOcoCKCz87TlOMyepSFkijvc4jlY4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":374713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1E49CRA9TVsSAnZWagAABdsP/RZKGklFEy9A5/ncGGoX\ndiEkeuXOAqGhUrKSzDKtcqYusuAmWhjEo31qm3qcck9/pV7I8EVLUt6x2tjE\nkmd3iYcQz6WGFB0apLdsI0wAWMgxx87BYew7lE5VX7U5HYJCKCJIc7HCiUMi\nH8Fg6mkxKfyx0kl4B9Avaw8CXMLkQXprF2027CcjEvqeSNJ98Xm6e/K65IV3\ni17sGAYlL0O2J043IZh4uedD9Er3gHbqC1azkr7wrRpcUB6RZ/5wRdCd8ibA\nZP5omjdecJ9us2O25IOHn+1MDCk9IGDqmimz0Zv4X3LKHGvtDhU2pBYxhPK6\nJC09/RVCDcayp9APgTuOh3gcLsyLWIFrTvvdaouAFC43Ez/WHg5wtOTnwcgZ\nx/Fa8Xt6hrGOlZifNPZtN836ITt0JiyvMaHalpyx9O1C34HGcMBoX+GZfRD0\nlKXskk6WxigSyiyXJjVg6yFcjcMfCEwJdZCGcT9H0lHFyAy8sriTy1mMJyxl\nOLJC6lZhbXN8PvAjLe6WcSdBF3eMtdEnFVxEj6CiqDpVCKH0jHx294WXNdib\n3mtd6UZoEXmeZA5f3s+80PFRvQvUGg4jADzVVdKBnp9e8a5Rv7/jOV+yY3N1\n2q3209N55xTJEVevRzAklAM2gAcfGz+eJUWHJsuALO1DbFzAoDGGu+tx8YTj\nwBXe\r\n=QcRS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"fbc41d44d548075b017cd00739889a6a9419c715","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.2.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.7","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.0","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.1.6_1557417532566_0.31796542693145846","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"@adobe/helix-cli","version":"2.2.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.2.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"13770eb751cc37da067f035d0fbaa3c216ee22b1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.2.0.tgz","fileCount":78,"integrity":"sha512-MmH5wQs9OmnNSZLgGtK3HE9kk4M+DNDtox3hRz2z3VwnLe9ewiAVQHvOMRS9VE4nlU+ALYG1uXKYY3wqe++EfA==","signatures":[{"sig":"MEUCIQDnRkF0TMob8aGAm6hu9Ps+1D4sjGa+FXUYx+4BIwqiEwIgXkWnQ4xsxp+uoeXMuCV3WzwWZBy12/C1WARunWIIdnw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375233,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1TKDCRA9TVsSAnZWagAAMGsP/04+n1lyyFypW+mRzmcQ\n/crSsHJ2g7eVDkHP1kgqnIf5HlCHsbb7/mdYmU8hOc60KmaCw6D1JCuZiwbC\n0sz1Ap8WoXNOWzFtj29ztvGw933L/6xGjce31I2wwsHQj81fFd08v8DYJJsU\nICz33wO/+eOgHupTWC9KDFp7y4mwnSQtH450D0uZw/qK5jbOWZ36uLoGnjt2\nINVAp2tgqR7RRBl4Y8SespbUwqC+2jV8F3StWCKTiUKwAez8MpF5S7jsoSL3\nhPBYmBUsqi1KWpZTA6dBmxcSCTilcUiLbVdCb8Urpn3m5XTW6ziA3Yn8NRGG\nkLX4fXEDWgZkbfLDkq87DHNVPoWyM4kswrBb7vx5NvefwpwUlBXzpkWxh/+Y\nBcQppvLanlYS07g7ewJO53efDaYHtUC5uGHeZKdAb+GCp7Ab1R5AMAIkD16v\nFPkTEVrzcHC/MLEmacWg7hJD8DRLb1EULiefzHlhHgakB96Frs97BljKHA8z\nAdcYBdYkz8mJlu8MJMhGu4l7JGwTaQrIHzR8hDFBHq1pFa3CQuIsDVL8Iwrr\nkBWboJGC1fa2hJ9jGzlK1nWpMKpDYxIeyVz9Qg1LFxnKV0fRM0OYVVdANzCk\nULBoNrtBV0/W5f4mt9Zl5Jy9/EW0zEiTVSQTKYl4Pr3vfxPjMMvZRJZ1jyN5\n6mVU\r\n=Tt3D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"94c189646b1433c9e554940eaa70cd43d2e8a096","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.2.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.7","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.2.0_1557475970318_0.31724880753335305","host":"s3://npm-registry-packages"}},"2.2.1":{"name":"@adobe/helix-cli","version":"2.2.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.2.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f41f1c37e331f5cf9882dab16815cb7f348a1840","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.2.1.tgz","fileCount":78,"integrity":"sha512-0gkPMYTa1OjLbz7bzfpmZF5lSMrLSUtU6nXAkR4i/uog+rtvazsRHarcyubj5R7qRu3WkXp2pq01LWSmxtxvug==","signatures":[{"sig":"MEQCID5GwZSdvjtSMYiSs20Uw298R3fKP/9oIn4rIiAnhGe7AiB4ZGslkE7jTsCX0ypZcO6AXfAZ6rMkxiF6nJUvZvWmhA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":375444,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1XmyCRA9TVsSAnZWagAAPsUP/ROMEazrvkWCPnnBexRE\n7rkB/MB+eR5E6VMnvlQc5QJFjg2R+5cFIw5YKlN/V3WnKZk4DPXkIFkItIa7\ngllNUy6wPa60HnAMJb3I1ufuounD9BswA2U+oh0x/JnZSnhmi+T+HFTwERCy\n2zNxqXu/f+WN7Hyy+H6brG9AxJI7W6il4263wQnSVE5K5Egslho+KnEeboV7\nsMXR2ksQtJt7WUSrIX3zSUM7mmI4BKyCszbfSlGVkLiB8+U86TSck4ZbKHQE\n/Qw1el1BBpos57y+CO7yVvLSSlZb6tZbjUI+8hCeCaZBG7ETWqSfFoEMpdYk\nnw5mVGKJ000XvUBroikQYSfkqSpZVdSDRmUcLb+UsSKHusLfOBBrCfIYBXYr\n7urwhe99NgvrXP+IC3qePBd/CwUBSZZ+POlc82pzSgdZCUd7qCMXwQcrwhmi\nkRpvBNH1/jI3dWioM2o2mR/APqzt6bQDDG/+1UAzTIcxJAZvkY2gsqbObcLs\ng1mP53u/SCWpGpjygA/gprvvaq7KTzKW5fX5qWrCyqjPe2jx1vHYqSkLgZrz\nwP8nqAZ0dhsboL05gQECYINfNe1/cHUAsgDpoTS3tDYBnLhwXsF1FZZT/7Hv\nZ3Q509mGTDro8/Jq1sqXgVdgS1mfFABgQjZ8DKynk5Vp2RgysJq/deLtWxhw\ns/+A\r\n=xBgo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"76144fc99396b4325d8ba633d2e4fb2b7d1f7d45","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"7.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.2.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.7","@snyk/nodejs-runtime-agent":"1.43.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.2.1_1557494193462_0.4740541057896641","host":"s3://npm-registry-packages"}},"2.2.2":{"name":"@adobe/helix-cli","version":"2.2.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.2.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4eb9da1128080e5949e2db11506ee8583e869544","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.2.2.tgz","fileCount":80,"integrity":"sha512-uqe/NHzk78uCxVfy4sg9GyczRYcExVx75oIv+2ng9v+GSo+sV2OxCr9o02hbVR/vhQRHSaDWytpHK8VhyV9jyw==","signatures":[{"sig":"MEQCIFJuaNxhklUMQskyybVeKw9ud/MKgVV776Kvp25nkwLjAiAWFtrGwLsSdkbGmCR0KMFaQiCkEx/Oowm7607IKhajug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378423,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2LxqCRA9TVsSAnZWagAAwmcP+gOsiedXWcqPui+yq+/4\nIY0fCKOqYOcAM+QYnzDz4xZqOElyWprJeneV0o+OUWjYuui7ZZWDb2L2kh/w\ns9Pl1IinETPkL+zSZ+mQ9xKhSJVrqQc/o89cKJYJQnpY2jKKmWfXC5Ss4u72\nMTHd0DDJcPvkeDzD+YdaWaohzNqcMviiw1nrIL1W7HpUOCxX+TWIqeKRHf+B\nilpPpUUp5W/J+Fb9y12lBVxidJy4rhDWgshyarxWhbs2hBWEcGYLQccmi7dR\nJNHM1CDAXdwbAzA+0NsmBRthHFy9gq5Ejn68oA8qfUlD3JMIxqoLhdS5rR4z\nHTPQ2tO1ecqh0B+ndzSPpQwAuwSNY09WY7b1w4WqpYDvycGU2zUtweW8+z17\nBitLyPTAI5vY0nypp8+N3drqp0xmSQoALTvt033W0pTHVSFJZYA6ednCgxZd\nTO16SvBQDKsAMV56LaoM4fCPRVyJ48bEUGiRvBeEDkQjjUU+duNEe4P6U3jk\nPEuQsH4/ZKxLTJ5VcZoma+r4QqRAXKdlcUs6ddLVo/zfJaOQhp6bUZA7Wd0C\nIz2EVJTUUYOPUIP3KYTsvAjA8y6S2CrhzFhiG3tZLVVLL6FhxavJ57mXPFdr\nv+o2+RXXGAmZEwPfqNovAj07C/eZRHM+cUMTAQIb0gSUJTeOpAsjzkLDATrI\nvWpp\r\n=ckjJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"9a916787f837de712ee4979add8b3c3f8d202fa1","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.2.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.8","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.2.2_1557707881708_0.99769843526025","host":"s3://npm-registry-packages"}},"2.2.3":{"name":"@adobe/helix-cli","version":"2.2.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.2.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"517a2c17d6dfe8ca7646901a367bbd8f75dab7ae","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.2.3.tgz","fileCount":80,"integrity":"sha512-Mj+kXrzAcmu/Dj2CpoG0Dy0ypIrnj4UqVdQQAmtfihvJOMcItuLlueJQ4CUtSpn0O4X7fBOjaD+TGC2fdkB47Q==","signatures":[{"sig":"MEUCIQDXya3lK5YNB62NmMYEaZArlNgu3F28OwqjtMV/CeUr/QIgFe4eaGXT2xDI2LaZwK32ho/azsj1N9cJbRxJKdS4eD4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378647,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2MhDCRA9TVsSAnZWagAAHUAP/2x2S8JtfRM/4z33Vpql\n5Y5WwxFz9eFMiOlP6RHmBo352N0JqrAL2QcVZBRI3TEkhaZA3zCR1r8fhzgS\nWnaVa4l9dF1dE/aNfPkuVjKhgF4xuel2nBMMx+Bl/cXTpYclm28WTPs6BA8y\nWvuRg1h6HwX4pq5rnJ7BMX5xFnFnpXn/xqwlOpZybpNCtFqqU8GUXrzy0D+L\nMLZVDK4q6AgYMZVIGMA5tThkgSicSWc8JgZtb4LQfFK05HOFJsgHYq8+2Ltj\nO4XqML6wDHIspo0tIgHvOCl8w/1Z0mOyTav2Nt51pnlwqWCwuOlpkp2K2O1Y\n4BpThc9vFyVZbwL1TYpRRXmtVF8jgz6uTI/w8eyM7i/Hu49DydNnCEwZHq4i\n35uGoRQNiQNF3gebXvKnN7+AQCRsW6tI/oLIUtBDLiaIUXK08DneY36nEO3l\n/3cceLZVzcCT4ajJmLn9U3xBWHB5a8NfGs8zadcHj4b5uv1AXxQcvJgfRJ3f\nNA3Sn/7np3Uh/ehfxfvm+kVVOu3nRH4NTAcE2ahwjYi6xFzgGEn3HBzUXq/T\nfqlan/Kk2eR/kG5JXIU6FOCay6l+/fRFMP5MWWSMNEePBBm26aol2lD9UpBY\nBvbCp8rCPKH+9/C0D3uvxHhPdyi+48lrlibdd/YysqjvwphYyXt2cXuDfZaU\nLBvS\r\n=+DJT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"278d9d86bf24b562e80129b9f74431c6cfe854ec","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.6","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.8","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.2.3_1557710914388_0.2185571745092023","host":"s3://npm-registry-packages"}},"2.2.4":{"name":"@adobe/helix-cli","version":"2.2.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.2.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d5dfc28123029c11626a0b52bea1e0c27612d503","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.2.4.tgz","fileCount":80,"integrity":"sha512-7t8HsIOOUql3i9ngetR+6tlZ5GRVYoC6keKWG7kM5cwDSWmAeONeQp9pS6fCDkiWaooM/qpDO1+aykI6TQU0ig==","signatures":[{"sig":"MEYCIQD1u9JuM/rU1gjyrM98wSp89w0Ms1L7XPTF+ToajwtN9AIhAJci9YTfQb+NcJqLF9dzEtRupfuTmYV6bUKq8ZF/cDJL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":378937,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2POOCRA9TVsSAnZWagAABLMQAINIaVVpPHcAKQtY3LqY\ntKN61VEzK3mr3rr4QO1gxolpRSdi2f3m4BBCeYxk9CjalZHgxxfgUk2E3H6a\nK+5F82s79EqjFj1qs2EDnvz93wn6mbpKh+MEV+t0jPxjELf5+f0uKMkAw9Cj\niIjNMohlqrT4DWKoanKtvDoPQ92H9eLt43nHA/v69U7l0vbUt+Bx/MTQBLah\nLdpwycY4xzsCYUGadqlNxzdqSlkBdybBnYPH9fDZitvbYl/j8476z+qLR2B6\nDjnMRkMG3Cf0t+LuiE7W6plAAktCoPdWfkT7ir9xmMooPT2Kx0aCsA/ljo9f\nqovzGG3uJE97jBbJrngcQ1wzgGz+q82+7thSY8ZfAuqzRmpJMK3mPvhijW5q\n05fivPIt0Va8iVnHkYR6YSA3Y9h6HgwhIX8aBPDSbzifadk5cfabbSYAow7C\nq79qFCb1yG0gZ9/EJwtsqshvNwSkCYSwG0ytcW2e19VFiX4NAG79z2gfPtGc\nqq22MCNqczaiOUgm5AlDkBMzPBV36GCTEY4N+sb4tVa1ZL7MFvow6wYs4AZI\nxIo3A4quo0e3IGrAWRhqfVBy6n3ZZH/5eqec6HdDsxr9rvOy79g1Vh5Jlk8w\nEd/qmXfX91GQEJcvshyRb2NiaboK1NE5JoE3rgHRE/FElL5ActxOJHsuVNZZ\nzLfu\r\n=/JvK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"933a74381cafdc1e93c8c390a11fb6d4bc204c77","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.8","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.2.4_1557721998146_0.11988365605022389","host":"s3://npm-registry-packages"}},"2.2.5":{"name":"@adobe/helix-cli","version":"2.2.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.2.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"bf3b259b04446b6cf644f31804210f7299a656fe","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.2.5.tgz","fileCount":80,"integrity":"sha512-373GCs9UfDdB+xnxuzJ7XaBKZErTz9gPbzrI1PTSnve5DaifCoinhw/Lyr7BwVXZcNudYerSduiA0KbZqQ0DMg==","signatures":[{"sig":"MEUCIQCHHEdUSjWbI71P7m7dsOc5uLRBjmS9r8RYuXVdlTPoWAIgY6m1LW7j/Bp0JP9Eq4vjWbLwX9zoZ95q3sBQoZATMeo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":379325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2Pu9CRA9TVsSAnZWagAA5q8P/1F2XfA+DDIWoJgdZNav\ndHJJztM89DgmDAcK6l2aEcB2c48H3vzJTR/s+nX2+ioNDCF91n9YoGFxup6D\nEz2UVHacbkF4WYt0V9lTRGlwJ/LtFbyiSM6pVN+Z4TBUwBChBQeH+wPs5CSH\nOfOYEsjJTKKFsTUYtHXLu6UxoP27tQZ2LfQzaYi0MRj2emwsOy7Ja2Z8lzf8\ntF9cUenWAmEqGwu68KNxTcqFYGEzROQi9bFs9FDx1oR43ukVzWyp1P1F4QUI\n2e8jC3zQ25YcfWDPmlWC85tLTBu4efTsj4oSsE5AJKPOHPOrE87f5vydMXqQ\nRdaaOP9/AUIi7mgA/+Z5N/WkMMeC2Qyjl8F3uxNvoG0gy/oWd1gfhBc2Iaor\nMCWUrsQtiW8qCsk5foevHhregdOaS/qymLO7lds1UoxckwtqAR1gsWaChnRw\nzryotLy0If4QRn1nU6LZO31oSQKlS1hBEMeQVu2sa7KdbJsQWOMPp0LYfJvR\nIS4Ijw4Pj3MZy/5sRSJsBYI2AcPjCef3LkGHgNNozLKwfjGhd+uuydB7b3FE\nG+Ievp/smiH6+EiadVdSvTqQM2S1ON3h2+YHNN4ylNXPm4UKBCVIt5eaEqqg\n7sgOYvERwQi46x+2fC9PiHZHhka7MRIRVtyZYfcOBU5hLrcGniM+oJum8+yD\n+S24\r\n=y8XE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"d91b55f454aa203c259f66699985f1dfaf0b425e","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.5.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.8","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.2.5_1557724092953_0.42082036176628845","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"@adobe/helix-cli","version":"2.3.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.3.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0739b6f0a9841f9b048d1b4a5dbdf859bd3ea10c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.3.0.tgz","fileCount":80,"integrity":"sha512-cvJlhWRz2BjSAM+7pAvJE0ZgBd6XjSI3gs3zAUqLLzRzKtqS3TnrKZ4jrUW/7tHF700kRK9PP0WCWMcN7qXaPA==","signatures":[{"sig":"MEYCIQDM+a0rUHbD/MRQc5vkMgsoTjUMO730nfLYDjVmB75FZgIhAKA5D/dMRszVJn00kMOHmdKQO8FPAw5JFrWNh9WVr3u7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":379760,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2Q9tCRA9TVsSAnZWagAAgTsP/2IVDIKy8ZH6INZL4D6E\nX6Myf1KLwSUi0Wwnx8Efur4tewa4stxaEOIaYJHtHp+S8wdB9O6yrsZYDTha\nf3dqdgcwbED5hMIj+z3oOFskKiB68zV7lYWYT3tO1PgAuy/E59a88LpMY3pU\nMhvFvVmdMOpMVk5EvVxW/QYT+8hdr5lFhzjy7r47Thg2InymW+bqJ+YSbcKA\nDVkPxOGd3s4hj/SD006axvAyzDMlmbGjAA4uaxdlzZzk9OA8XAxJKOe8ek8i\nfoHI9L9cUeMRg5r7JGyKjspL4pcPXeFHY8bZmiVFGkh5qCZL6mituoJ/7J3z\nZyNyAbFQmdV66n4S9SCRCbPIfDoifAXJQcvUcYy5/Na8zVMggRwUgcl+bE07\ngbE6u5pzLaXtqy4Y7GIKnKIHXO8IAgTyWKSzBEPryuZaZ04UJ9M+4Bw9FxHS\nf08VbjZgi4bSBGXNDOqBTV+vcPLU7lX8Ud73lR7st712V4aY+gkfRNO9dnEp\nqM0zA1+4fjJQzhMf4F4HmjNVPJ4mt7rd+sGvuVy+p/dGotMMAUs4XxiSQ22N\nJ16zgMiGKfMHFqB5yPUhDFUVNV4ftiuC4RQ6fuugpPC+R94ewRxiOf+srvmc\nSsettf3lTyrRzQJWv7xY30QFfl/vmCkCG9BcrhU8Gfp7Y43FiXMIv2ZuTI1d\nAtR8\r\n=6SBc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"20a909c77613057f6e0fe91c4b7c5c8e6e5c59b8","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.9","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.3.0_1557729132268_0.4436007162231228","host":"s3://npm-registry-packages"}},"2.4.0":{"name":"@adobe/helix-cli","version":"2.4.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.4.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"28c8fdf502b8e920375140ec9e4e1d67cf3e7c1e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.4.0.tgz","fileCount":80,"integrity":"sha512-7OifJZvt3bWd2xapmXBigHfImYu5epkFFKuJ7IwOOZk0e4Z6SCkW7xXwZuJBjeY9MjAWDYX1EH0mzkhcEzZ3OQ==","signatures":[{"sig":"MEUCIHK1/GGbr9UWCRSeLoXNxzXKfROTf3Q8PoCJxuQ2Bo4CAiEAnOToZUBEkeCSG81AfNtEbsuzUBw5KvNBFwF54WPT7rg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":381323,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2RNQCRA9TVsSAnZWagAANtoP/1V+Sf/fXufjmV49lVL+\nNNo6lHJvR1jb8cOfABbfd1e4/lxYLHA2gJkgN2FvFjSOkR9PeuEjSbbzyEgF\nNyL9FsF4gDI13U0jgPC4FFsNikeVTa2p4/BZ0H0m0zJ3u3rasEDzF6cr2HPu\neUAWNY2bKS+plDlqw+MeFJLK9D+GJUyKFQJMRCdernsUOdZoLUDdfoXjoxkx\n7eysSFTvW7Si9T84q5EZiaxzSBD2ZpBaxAcmH89mB6pniNnkRk80eZXMhk/4\nBdoEFEWte3Ms5RGRhsWtHkwwsQGEllC58J/Vx1aa3xMCrwjt2N3NX4m7VUuy\nnZbySfZN6DsGISbus4bAoq78c3+FpLzwvlxKINnfn+Z3akwImeH9VQTwT5Rf\nuJd9TxOk/3wG0E47cixnD4yCivtfgX+zvqHOVh4pf+ACvm9n40/pw6c6olnl\niPR4/MB7FvUKxwek0KWU5a1HEAWHYIwgZHQHP9CIW1N11Hc8mMiBPEl41kRC\nMI5bVkBumig+jdelN2vMyvPosSUC23vZ5opKaQprQZ4QvnDQ/0uHZXA6XXkh\n+iTSsZf8h+Qr1U113j0UoIbqkVeV4rK52z2cMjCHE2VUXCDqjjtcE6rTv1mL\nS4rbecEpaPW7LN97thGBW90gA+z9VkIU+VawQ39p8KNKJWglNavxgxX9abeJ\n39dR\r\n=yUFG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"529d924de5784f8b8766e7557b798a175cb3bd41","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.9","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.4.0_1557730128086_0.9611459174940806","host":"s3://npm-registry-packages"}},"2.4.1":{"name":"@adobe/helix-cli","version":"2.4.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.4.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"eeb39a70f490439b663796931f0c46aea50eb2fe","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.4.1.tgz","fileCount":80,"integrity":"sha512-trtNzXHd14PknvNiUZygOPreEXpuNqX0cRPs/o8XWFfDwH18/+J4rWmOZ/ij21hmQG1rs2yTz3aOwsuT95dbgA==","signatures":[{"sig":"MEUCIDR184mfnHTHsXDQRJoQWy/2tXXFCtV8ieoeEb396JMVAiEA/kQVZ1rWiMTNRzPs7iDD9SRQlC5FKnztfeotTGBz5tA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":381673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2RhLCRA9TVsSAnZWagAA6ZwP/Ao01o+xVa44XoKWt6X9\nZ59K9vxUG4aPYyX+HudGwcMHQrl38Ceu5mogxzBNrj0QiMpC6oE43kmjd7yV\nbcUIbcTyDrEWc9CSJ5pA/1lpJgT1+2SGoKx11a5650PYMbAcaI+O8zZgcAEP\noMu7dc6T6C1HROMLhOi8iXY8FDd1pnXDkKHikezUexfzhXQ6ke2NiEuykDhf\nO3JuZS1C4Z8dy4JHATfzeEIZEIfyF1dAOXWKJSgenHgC38xptb0UpgyQ0mNX\ns0MNMfhyA7H/yXG5DTkbPsPzq2qk82a+OIZZVGPlDeE8LVgfJvzNPeqPckCv\nI/9Q/ZscFOXqvKQfqKFoL0NvfZKLDfBtGF9ThYp2Okl+pCGGeRpEQApgVyKr\nFc1Ba1LytfJ3DaauF8+3LxFwPkDg6DS05xnuhIqJDQ0jK2hoxN1hYBdmmWnT\nr6ZWCrOSEDMz57xI/pev8h9HyprIHVTO8/13JbzHPCm/9nJ63FzQgvR+FxWt\nOKlHJgwsqDT8YwsWMQSjzrJro7tQUl7WoiZn+4W0CKpgibKsUyuL1HsD9Iz4\nGdtzVXLsTd9lrTdaqbrVobhj1o59KAqgv4Gb6rTbdktVhvT4DSEaRPO/OiUX\nU6M4vsH5y5pxN26uOBR4jMVNIn1dFyosK3LFJwjYx6ItyrrQWxrMpeyW4zmR\n8u3o\r\n=4sLR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"0e7ff0c59f732ba122b49218da8fe6094bf360b0","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.9","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.4.1_1557731402993_0.7600203025410266","host":"s3://npm-registry-packages"}},"2.5.0":{"name":"@adobe/helix-cli","version":"2.5.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.5.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a441d0b30bb1691bd28bec1696f1879566e11fee","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.5.0.tgz","fileCount":80,"integrity":"sha512-1LAvdVxth2AsPfdjxtk4KgY0TqHNBl6FiQzV2JkGXtZv+UEoOXWAzddiGYL8opYUVIxbw4XMC+zi0ik0cVRkQw==","signatures":[{"sig":"MEQCIHhRZk76o/YvU3E+Q/c3Ya+xWzOypzcLcUz1MLAVRhXZAiAJEuViMzKH7Zo2m2Dfy8EaXR7Mrl5r2PQDir5TIfJEIA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":392031,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2S5eCRA9TVsSAnZWagAAvFsP+wTUB8MvLtQvD8QSCh+Y\nRF6KEJK/NwYm5xAOKaaU7wRaslpa2vl6NexOnOoQgDfa40vEhv2wifM9XW2F\njRuEvoy1YQXSxlW70ZNTE51R5IIGGcxFdXVW/kSpZ6WBefP4qRbHZNGixXSJ\ndBwF5iquFYkljqOi0eZHJH6DOkg60S60/KEA7gkMK0eWJ+H+imZSPLL4pUXp\nDbcrGQ0ma2GYBO7GV/+V+zOrtd7w501qcWU+G09fhAwPOlgEY0o0SEbiH8G7\nxLmDjTPYlWzDvSzMTjRTzEOmC6/YAFG6ibwwv1NMdF7pN9jz8OMupDFAafwL\nYhtHATYTcdbpyhvjzpdJbqMjvaF0d4URp6yXfyMefbVDAsYshOUf437F6Qsr\nXNsimjdh3pl/kj4EPuEB7+Sv7wFnQsMGaSDogjXiV/aB2SnQjEccCMZm+8Hh\nRkuL4fzSJbaZoxLMype/ud4YQmnt4S8ow0VZGqyuShd2+Zl3jimCkhW/yPH3\n7E0Mx60UHvXzjFSQtr0xRtmQZGf9l13F/H0HkqYJLCj84ES4/HeKRb7WiJNP\njfZrKoCztQ+15jmTJt7m/HjPImQTBxXbdJQrlAMLUbb9wmZ81d/Qv9xwZT7P\nE46/k/p+GUskMnRpZX4X9gAELXNwKxgsQH83BCa51l8PMNxj3xWoOQtxxj2H\n/lqw\r\n=gMoN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"d5c070cc6c48d50c8a2b1a26eb04fff45fd005e5","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.9","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.5.0_1557737054151_0.2610047653172065","host":"s3://npm-registry-packages"}},"2.5.1":{"name":"@adobe/helix-cli","version":"2.5.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.5.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b529e0941d5d28649b865ad3757192918723ebf0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.5.1.tgz","fileCount":80,"integrity":"sha512-belZfgAds3uGEQ9eDaNK/AI23CnF6gW12HUhmBgUj7hS0J2PWI9jd7AEIc5USWw4thWVE510LWreULlC9BYskA==","signatures":[{"sig":"MEQCIGnTMmWbucgwev/h5s59Cxkx8OFiw309PcR8aqPBos8gAiB322QiKVzqC4IWne2QPnRmBWHie8PeqKHNFZlS7mgKPg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":392244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2gIuCRA9TVsSAnZWagAAwyAP+QCpfhmjx7PmCi7rgMLQ\n8NKFJofwjpwFxbikuKWUZk/nhnUXuTgKRi/sN/7YkGVTlth/2Elf3pSODF+g\nAYB5fOeFpX8UdKdA18qLoa/9q7/BG8yV3aP/Np2LTkjIwfhb4yZaCJ/54wlq\n0CdsbagBMPDEmzBXd+rlZKHMCJtMxsG9il8s2qfxNGXdVG0L00YJ0fXaad0o\nE4cBsT4J0+urHV2OxCBeWrZZyxQbJP+PcR6voy94d8wlUBtC/BMuUwl9Ca0b\nQ8knT2rmxSL8IW7tvygdyoZWiEBQlp5NSdUARRz4KmHzfMeXYG6rMGdWfinA\n2M57WHidsABo8bvr0FROQjYq30CcT54g2h2Zrl8TE0mSlQHQ4Jdw9YJ4IQv/\nEfmKKGw6Fc/Xyyzd1zTzNEL1FPTUX0Yu3goL3tZ3QyQBLkze20pDCdbELcsz\nUFNLBgE+sV0bbkGzNQCWa/BetQJQYThhzwaNeAgA6Eey3uhY3Zz6YZdRRbXR\nBEcQ1Rf2UmssIHFvuwN0dvBAVvwm1tAOW3SWFRxCcrw8sV1/O/5M3A7vgduj\nJIZI2YSor8CHY1mREZw4x1bmpDW4Z8oeooVF9utL+xY7Hdw5r1vv8yBOoNCJ\nWtr+H3gg4SDre6zJPUMzB/flBeOI7f6vzX5yoLTowi7ixbozMgybyrxibUjk\nTWmB\r\n=Ufl6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"c7781fb174f818ddc13791f36c69cdbc91baa254","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.8","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.9","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.5.1_1557791277631_0.11602204410834926","host":"s3://npm-registry-packages"}},"2.5.2":{"name":"@adobe/helix-cli","version":"2.5.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.5.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"632194d363680d79ac07015ca7ca2ff044b30df0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.5.2.tgz","fileCount":80,"integrity":"sha512-LBbfz3kCWjkSL5QrJF7BL2IU792ONCv5+y0q+dQATMh4wat91y+xU65MpIUZFbzID/Ow/EoPUasnvjUx1NCh1Q==","signatures":[{"sig":"MEYCIQCMJnB0rbP7Vp7lEtNXdr3IBGxWF/bWCYUegRRKXwr2pgIhAK49TFULAdUCvBdEeqrFyZ056dJWpuQ1XQ6NhlfChvVS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":392534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2iQtCRA9TVsSAnZWagAAcMIQAKBvUStbXK1+ALHEItj/\nNOVVPQyAcB0hSPXR2/tOWrhxZEHzXXMJtVXScv+Bxti8/Q/0sp8pvhb67tRT\n9ddTWk6/fv2KEiJgqicLaC7aRn3kwjFBM2D418D/EdoSbnxwEmnAosvE39dT\ns1apZKDz5hRjDOh89EgndX8p+jPrCW5Jchgyyw0oW7tZ61uK18yZGo/RytNj\nPX8wB/C4WtiR56bGTyqmg/5xMCwi0I1LvtXF7clT7l77hE+nUxc4As+hdT47\n4LP5ggsY7hxwtahEG1tE0mdB3Eu5AyuVb7fndzpqD1InrUeWBGbgWuogxWbc\nJFlwX5bTe4bi2QSBA5mabyMCVC5M0qtxGxPMbHSbEtM9tebeLxSaMVt7oCD1\nryTC3TWzYB7jaVBaEHIwF9n6pI/c9x6tZYQZ1eS7w+1mySgE15IHl9ggxeqn\nz/kSLUmVq3WQ++9tkYkBGBmuV8hNdDC0g6kXHu0zD8ZW5EuaSAoaA37cAJYN\nBBFL+EF6gklWHEMMW/XkjNwyCYKhHBzUAIEO/ZVBWnJjDZ8yFxHILQWHxak8\n5IQxWmYDaya38yXkolBmmPrlTypmTLjNqr2H/N3yZBVTxEEufIACZ7Zz7ttO\nHVFW0Q76TxCidO4PrwvO1md4IC4Ytvk2WXlQmyuHCk1QS/0FFuf1IefO4A0x\no4ik\r\n=kukm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"0855c48d84830477114ed5700f2ba8ef5e1c5eff","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.9","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.5.2_1557799980881_0.03576880305361785","host":"s3://npm-registry-packages"}},"2.5.3":{"name":"@adobe/helix-cli","version":"2.5.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.5.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"31b49c171bfc610e708d448ca6d68ece5eea4485","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.5.3.tgz","fileCount":80,"integrity":"sha512-+ygYGdbpMN7a4kz4rwoATxJ/KKNUZdWVbZSO19XaUcFqlqHLdyrcguDfgPI5X67/EkgFwPCkcbpHmsi89N7tTw==","signatures":[{"sig":"MEUCICFYvgPaXe87YlxIJySqcGGS5SKmnsJ7NyrAk2gDjWxRAiEAhr4xuZeTW9ej3QEC2aB1ha4gF6VYlBP7FfIKH9suDlw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":393313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2rtECRA9TVsSAnZWagAAI6UP/3buJzJkTUqbBhgUgVt2\n2FOx06kqHWiceRnmKmJq2anskMgdGOkFIofBo3nZEQdXN2wXE6n84+lTdyrb\nXgdgVa5LMW7ydHf1X4wgW0Ho7TvzdR1RAB3M2u4YKWjFv12of4FU4M4dbLUT\nszJ2yXfD9Esziu4Jb4fuKRDydSY0U2R+beBKWT9knNUnMz5ElJz6/RLGGDAg\nee4ngi8KrfjziQLTcAssknmTRK8Fm6IK3+Y8OR2i55rEesRdbwngk59coFO6\n8TiUvj48OpeMonC+Wx2RMDKWtazpvucjmn4sH/kHRX2BsWtKCr15jJRE/RlY\nfYYHTp7hiJEQ8A9qpMV5iACiC7HCteOfEPhmiGCBburJVJHF6FOdW75JpXLz\n8xcqaBRYNSJXLtKIH9fKOtW63FOKz4ymMcQiud643UEhKElsUnM/qZGTSKTt\nnJCyTe7Q00eNZm8Fz6wjtwMKoPW0XP8U6h6nkbQXuSfO+RFSY3MoGKGwhIHL\n667OUeTW+HozAoOUlRo06L/4RrmWQtBX/wiZUpmKfiCCFQ5l7ncEcdhtUBJI\n/JFTwxZ012mcpm7eIvrtm9ooa4MWiTAtupx23RM7+azVlhOtpTmlIEVZXNab\nzr31SCdV6tYpUu/8Sa+RMAsHK5gyJpEsyLb1Q0+NPUN6RTbtAMN/lgeLQt+1\nYX1u\r\n=70HH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"ca4ec4e13c6bdcdea40f5bdf644b24aef1b09ee1","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.163.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.0","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.9","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.4.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.5.3_1557838658615_0.7093183823560985","host":"s3://npm-registry-packages"}},"2.5.4":{"name":"@adobe/helix-cli","version":"2.5.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.5.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"233a412e4aeb73456b7e47e4c4fb4fad4206cfa3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.5.4.tgz","fileCount":80,"integrity":"sha512-bsHgYO8/ijs0nZTYX7GU8Sr7VVV/OWSZMWArbsZSlqqIPyNTCbWkyPjpNBDN0SkDJzXwbBZGUS+u7XwSTwS77A==","signatures":[{"sig":"MEQCIAq1mbElBS1JoyHEfLp9fRvrx0fnTTMpF3KpIdCudh+HAiB+ODxO5fdg/IAsD4UJw53ALhWyszycmalRix0Khf5Spg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":393599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2500CRA9TVsSAnZWagAAYhQP/RGrm5oYug1nIdngHZEE\nuMDPSzwFywvx2hwUuD35xyDvk9xDDZqtPUVPGWDyyOgnpgrqN+SP2wEknxkU\nqKbU+Zhnl/sJRYYqwpxvHZiPpTLhXB12I5P5WA3QpiwNZdt0hs58FQmrdJcc\nfim/Kuhc9ocVlbINJB6nrvUt72Nv3jW6r755D4hmson8IaGiyXyeRNm7IZ+m\nQUvfKmPX8IrqGQYYc/xmhzkiidMvyrz8CENKwD15azP/kMD08OPqM0KTK+ih\ncvhyOQXJ58/JNHE1dgvLqmgkN/AyZe4p2wsibMIzfByWs2W8uRcmzajtsIa+\n6m4EBfMdzyrKLGgdy+mJI30WSGosu3G04j7Z5HDZCS6t8keKN/H9Z0jZPT3h\n6BFGxjhw2MkSi4xyZFshlyzV3R8j4cFHD/Hj7wxQjgUCtpGiyw1zy/UsnzKL\nhdITZc1jFvg3iyB556FJRGZqxOCgn3HjMU/D0X/NOVBiorMzwbRxVow+L54i\nuEl8vH1glh5CiIs6+b3rfHMfhZ+vQruN5ugPblIhscUCkhZf9dgMYgjG0nAK\nmT2Vw/oTYCpJGKjqZFCmahuZTP7/OGan8sXcXPjzAubDP+9VgWCf/xgEl483\nJe63XCIs9/hhJOMDLrIrQiBpTiqYZToJ9mWBhSsoKjktDNBL2h6JConqPlmX\nhvr5\r\n=tbKW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"93e4146de2fdf36e6cb43bede8e89d30ec1bccd1","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.164.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.1","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.9","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.5.4_1557896499266_0.1258938263473488","host":"s3://npm-registry-packages"}},"2.5.5":{"name":"@adobe/helix-cli","version":"2.5.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@2.5.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"455941043fa3aab2a763cae594553945790cd1a1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-2.5.5.tgz","fileCount":80,"integrity":"sha512-B/8r4RzW3I6PU7bNBVw8VBgTN4pYSnri7HVJ9DAXdkiJdVWCea1ZqWuZ0IcgP3AyFj8HKE39F01XqeVO6XVXmA==","signatures":[{"sig":"MEUCIQDkvotlwtduGD+iLBLxvKUVvk4kfvlELTO0TqFm5awNJAIgCqs6oPkSMUIzTUuIw8grFWf5WA5DzH5tOIlZP70afw0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":394317,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3L8JCRA9TVsSAnZWagAAtpQP+wb+YEfQwSneSPaNuiw6\nWlmG73bIcctiHOoTb2cOCgH7PVJwNvHD9hNhdUl0Xle3yqejnXWz4YzYKwsB\nCkUi6qaiYpRbWll8ohRqmPrNbdstXeeP1C1dxbDzCl2qmyTB8p5Pi22bWnd+\n0+E57X5eEvySwjn5q8nAt+n1hYJWexaNOS8J8eshKMvNqqZOyK/4eQKvm8ND\nEYel1WtOOZKT+njyATj9KrKw4m0AI3OnDRyLSdmJqam2Z2oeP9/7yFAVdTg5\nBp/dnT+5MGjL34q6tX7lWJVOoo3+5is6uC0irVDQ63oqDVayB4K/VpDpEBo8\nm1/r7NlW0LWyEIQbE/EkgL+vB8xn7cZ2BkGYWFpIZE02bB8IWTogHgqj5nFB\nWa8l9U0Lh9NdyxtmpdHo5nnG9qrrwnHc/K2nVN4N0ZXpav/0btp0GhHkglXr\n1qtMD74zb9+WDDh2OhO5Zt5XvJoBAr+47Zo2COqBTwYx9qDZUxOmgrdLmptP\nVhD9SHsygOW1LSmTCkWJf7lmzKVMyHOTqC+WH5E3j117Yo95kt95I+knkSxT\n6uzreXJbDiXxyd7A835f/DoKXjebdC56MPJnSVCA0pgx2r2q+eHanuQfhkKO\nf2kel282EaXwYy1s42tqy6f0Czit79bM/ufsddVy5vYGrGzBLukfwTCHAjrs\nqs3y\r\n=k6Pj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"cac5d2190cd525740431b9ce3e8d7e287e6cfc4a","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.165.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.1","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^1.5.0","@adobe/helix-simulator":"2.12.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.9","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_2.5.5_1557970696455_0.35835174141693926","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@adobe/helix-cli","version":"3.0.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@3.0.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"dbb3e9cb8620e15ad561d05183219b7629f936cd","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-3.0.0.tgz","fileCount":80,"integrity":"sha512-WAJdjEVbOROzPflv4CTJmlnBYi1BZQCedp9+d4AiJUCgLLrCLeSM2ASzHZmCFelW05Utkwx2je5iOTqqnoOVGQ==","signatures":[{"sig":"MEUCIQCKM3KIjjzrPL/YZhUZFSDi5y68MhEpnzAyjCYlkUAKpQIgSjwJA9zD2BPtAnMnxVEcyHfMuK3DQx1txjeqjHQoc8g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":394803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3RafCRA9TVsSAnZWagAAQSsP/2lYP/S2wmlDbcT50pbt\nkaqT0uu8UhpOnCYMyV76hmbP5G/Q4Qg6rT5CcluO9ABJVRBidLywGnWdhoy9\nXSl+qVjVFGMwG6fdVi/JzEQrUc6GjhMBCgLmOyKklAHpibxHuw2hsQvWTrJm\nT11QM5w8IZYt/JPqaJThq4VGC3r94dZDfuoaaOV+1FlN0aBOMqVzpEjpA7Pa\n7BuQftfu6zgnrjIZj+ehFvb/xY9Gvq9xzofzT6oJy5p0sZpB3qQy//LagqG0\n+K2rY/qTqdnxijA3QRKHPs7VK6EE04GRl93iFyuY/m2nwH/wY1RLEHaKxDKw\nTeYDdEv6J1U8ggJxuZenxlK71Qa4EkL3FPUqUhInx/c3WOiZCqtUT6NbkE32\ncYQ3n8zFaU7Q3IWZCc7MSYlfscPXfFegs+GqdFD1OJLCkqZhtkkNUJJVflz4\noKEKLx2HdxVxvIcRSZExFti7oQ0doPoamKyiotBNooDT/PzFbX2ZGhF1WoGH\nDsJzA29zmcWoeddaiZA5kvaeWsePQXK43F4KT0c5ZTxV/u6yt4q6Vpu+iAqi\nlXJAoOXcdPs2y3WY+t0YqjziU3kin2z65vPDG7OI0XGwQOxCu/PbATZvGlwW\nbwPBTZq6GaIJsmTY3DoK+5OuaDTjqGF+5GNw29Fz/YIPnePGCWq5uZcIUk6N\nps8/\r\n=B8GK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"86f1b624dd343e44cba3928fa2ad542fe64a4984","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.165.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.1","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^2.0.0","@adobe/helix-simulator":"2.12.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.9","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_3.0.0_1557993118072_0.2512128773450486","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"@adobe/helix-cli","version":"3.1.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@3.1.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"fad7f1521c9237d3e404eda5a73cd70bb6680a78","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-3.1.0.tgz","fileCount":80,"integrity":"sha512-Y2t9qoEedwe5AiLCpFs03yHGPrInPE+mbiG55xBPaQcyT7IO72z3KRc3HAvNicuWf3duAlTiMoq8Ilpo9+zLZw==","signatures":[{"sig":"MEUCIDnVc3k1+Vl9FAfeqXF5NCOR07FM+ojiBT+EDxXqpRhuAiEAgY/kEXcSjh2+Dl7Y+CCYw8tASnvO0YK0Th6dSxoccdk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396437,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc4mv8CRA9TVsSAnZWagAA+LoP/2LXHQhWHlBuLZXxRRR2\neZSGKThKC44eawT/J+5TUcABBIiC+d49cTXPJHpIdjgGpt9D8Ly7Cfdj3gL5\nyRiJx0aJUf4+OoH067IiHj3joLJy6ee/pjlX05/eRzs9XZwM5wbtGDbUamfr\n5mGW9u0pIL6UmG8NRDAZG2Jy62UnkhRBpPKkk2tlsOyLqWdTfBQRLOWNU9DN\nPXbLQG/USWhnV88O3vW3y3WpalYCzCWfYnx8fxOlSjOmHST4tpjzNWSLzQHH\nPS94Iak1Kp1iGBnAjoyPlm8inDFPCgrEWMRT/M4KlUk712ovgL3n9i/PXT2E\nz55MuskoCNkqgHvJ4IKXXGRDebTGVUHPdK2vD9i4epUedgz/D3GJd391Dpzs\nOjrHOP1wlYYAtYJeTK6TAZDdcKO2+xHuAKPDHZ+lP1IWL8NUKq7rom5Xa7GB\n58yqyyP5a+NSZo08XvsFpuP59zoNq8uzrnnWdFspK0saqh56mKm/JQb9OAe5\nYX/ImatHeOBzkT2wEnaxiKo5o0Gia8I4xuO7tinPbhcC/jcM4e729FwXJF6l\n6aQttfqA/zXW4f2btg5zuGf9OQ483ZnsziALCMJYPJ6ouAvpuAHdAwyGkRHV\nab+Cu0WVuAyhVPm3DyEP9Ux6m+Qv+iIQB2WHwx/HutmANhChqv5GMflckdXj\nlqEM\r\n=7ode\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"b88975eeaf150e5843524ffbf92b6a81760f9988","scripts":{"lint":"eslint .","test":"nyc --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.165.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.1","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^2.0.0","@adobe/helix-simulator":"2.12.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.9","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_3.1.0_1558342651919_0.9179839981726641","host":"s3://npm-registry-packages"}},"3.2.0":{"name":"@adobe/helix-cli","version":"3.2.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@3.2.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5288a3f5abf862d9f2db3d8357a41cdca5f1fba2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-3.2.0.tgz","fileCount":82,"integrity":"sha512-mCWnRigHizGVBWVXIi6W7SWYGnPbgwDOoAr84fy6pTZ0HtUhovWUa5zhWV8Bu5j35J+E6SfR45IUy3FyLSs0FQ==","signatures":[{"sig":"MEUCIQCHUQ7kO+o/vAURC1pp4FaTdzlHZ2P4iXvvNPbQlUF19AIgLhP9onqSbzpLmMzH7xW5JTyj5qHNBsx1KE8kAczl+S4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc4nYQCRA9TVsSAnZWagAAFXoP/jzsD6hd1m2Biajvc2Mt\n38CVKMu5DYH0tkfaYx/bgsqKWI6NgsR+L9Id1kSQ9Fnq0t+ECEdECNg3Cf8E\nToeOHr42XeZlvJuURVQL6hZy6NoE9CLlSikQoasywJbMUJlRPqmIuQkrXQSX\nZDcsGrD8pmrg48p5QnI43wNdkb6MW6dS37xv2twqGxwCDE+HaWiI69lOyrdd\najJJE8FVzKKkFjQdmaVMc7NTWCt7+sWgo7tHqh6IyN0vq3bOfnmN4E0aOk9o\n8Mj7VgpJs+yfOebg98N34ZTIqLN4PYt79LyW3tANdRxFhYaapKuiLhM08oW/\nw8rYBFfVY3g62JlyAR2uEgLG5bBnbfrF3mjHvK4yLm0ruNWoYhiwe/ITtDwn\n4wLCb5//kfgah3dKHoeXoR6Pt88mXD3NwnuLdFyYF9AcbuYvzg/PHTY2PRFn\nLwKhu/3jgEeGe6zW3kQcWQOQgxYN8Q2T32lvAKENpRGbD96E8K5KFoento0H\nfP5Qs7pNCiFwOBviTJzUAWJQQsPqCi9UpKUPQJ6Bx0G9LSK0JkDb8GzGd2t5\nHHRWPbXNZblX6S0Lh+5f4LjUgeLu1lA1OcvJ0Vj42fP6v2Wil9b1akzaYSyt\n+YLigeUKX6BjQsMCK57tZJ7dybkcs3hJ65V+dPVQP7wlfllb4Uel/eLL/8/A\nd30L\r\n=yzv0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"0cac05927f777ddf9fc64bbbfd18f52ba35261b5","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.165.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.31.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.1","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^2.0.0","@adobe/helix-simulator":"2.12.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.9","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_3.2.0_1558345231199_0.39927858502256397","host":"s3://npm-registry-packages"}},"3.2.1":{"name":"@adobe/helix-cli","version":"3.2.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@3.2.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"667b4f75ce9e7aa0d28e686ea8e30d5f24c1be13","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-3.2.1.tgz","fileCount":82,"integrity":"sha512-i5idcPP0mNrLVObTvk7bKCNXirmEe4hP7/aGyltOyywiImUw0uGtkL3YRgyWuy1GxOYZYX4RJ4rnG2nS61s0aQ==","signatures":[{"sig":"MEYCIQCKoaeBYuzmwolqT0YHpRzAX8yLtwqqzG1T0v/xwWxIrwIhAJTvJk3DwAV+ZuA1unS9e14G72YaJoPRBClMw5wpvLNm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402766,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5FB6CRA9TVsSAnZWagAAG6gQAJzgdDyCoYJAT3X0lEsK\nv3BSkD6Guh0/kTL3xatLEjJkie6AG6pNYSV2ewwYUfWB0XRm7zp6u+s4srqB\nseN7HCIdBjdxAqvFKhCFyTn3hXV/tzB6WX+TBLriLf6xsor8pRISoh5axP7s\nzCXN5DqPa+ACv3i5YErTLMtCaRQ8QddNi/DH2YKzabHAiD2Sn1q8xCxZdJ15\n6PYxl27e0qtXH2UgkkAvQOOQey3s4U3BdMfj4NnjeBFLwoViBQJrh6MkM+Ar\nPU7r1iKV4Dfoj7meV3j0caUDY0cd/7EFnlFM/WvK2pJN9vmIXwx29MUnTeWg\nrcH9bjmby0nZBqH5L8jU7Z+iHN8yHtkXpkD9ITYVOQd5+jw+2eVI9VmZssHK\n8na8quP7lVkV4PLIFMUldglaWy2icB2QXXvJWkGtl0CLKHZuWj/yPrxwWXBQ\n6fpCtcfBESePwT2D0DtzQtyl7fYIqQMI/HMSYIIiIe1kXmGPqPFJowDzl0Aj\nbnixknsJnO4GHD2Z1YO1hm24Q/C1S70GFZrqaNjGF68KmypJ4Im0GeKZR9iE\nZjWcByCMAfhWnQ6JxeJaD4E9Abb5DOlksrH8mXDh3axTuLz7v91yMos+9Gjl\nitydWQSE/baY2dJ8pSnCKoqbBHrZ7wEp0DP7xE/ih8kmyGLAzJpWgYTKPwC/\neIeN\r\n=cfDz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"6937efb81307efb4d31c3524d24f00e76c27b0ed","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.165.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.32.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.1","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^2.0.0","@adobe/helix-simulator":"2.12.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.9","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.3","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_3.2.1_1558466681644_0.4643651799693922","host":"s3://npm-registry-packages"}},"3.2.2":{"name":"@adobe/helix-cli","version":"3.2.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@3.2.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2e1a3262f701069e3e8cca3ff10d26375accd3bd","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-3.2.2.tgz","fileCount":82,"integrity":"sha512-eWRR7oIrNPFgTJobb7qNWWdNyX/cNg40yvqlYM4Yjf6Gh+nxas5Muq/hpKa253QSD34FqxcHreE2guYxRt7Wpw==","signatures":[{"sig":"MEYCIQCnOLL+KchAXpkWqcT+p2D8BMmbx9m1YsrkHPC0JDF8EgIhALfPlvRcFTMKxC8ADB1Htv0zejW0BhYd9RQLwgucJSn0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5Z73CRA9TVsSAnZWagAAsy0P/0iH491JCYD2P25V6QZk\nMVD9/0XNezzkDzlv8mxOVpYvxCdLmE7Xxk66Z+b2ZmqI5WHD3pCgzwru+sdU\n2cOKOUc2uRgo1gRZBzVJljlQWr2Kch5CrLZRFEgEgKAU5LNwLAmoW/TPVf04\nxnXCK5x0TeGjsptJar+adKKOgPS285crKTCHtdpoy7xpHlgKEGqRjlCNgOek\npHhExphu2aWO3YrGLJLbWIkCyoD5kaub7Hx2JswT747ly1awgRI3Z/ciglZl\n0LmRthwQrjcs8OlCHIFfSqZE1V8VNRAtBGZfruZvS3c1U59OZ4D5WjpBR34b\nddLhFjjB/VgrjwQowx9Xo9KNu4HLpVr2HX4N+cFXttbmXspOEl/yD4jeiVM+\nx+0lxWRuzInWwkltCQvR2hgKGYbio+FhBveqKptoSemyjnoNqtd6WDAGL21f\nTNxKiNokVju1Fe2ysQ5gC3brsBqrdmV8C+w8VukQvOf3ERVxv0JF5D+h4R7R\nU8jNBqRts5vZOkuL6cHD771AmF81IwAN3+ls3Gcn1sc2+1qKDvwhYVDwATef\nYdDHZz8sLmC15ZindcotMmZXzoc5U98U/sdzSTqHsruH6TE/cUcA2mO6eYe/\n1CLSmT8Siess+CC7spTGcHb1VvouA5B/LQBJTTEtnDTRO755bgPykDS3G6sd\nhNBU\r\n=Q+77\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"d49590698d82abc32899e1c99287dbed280bda16","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.166.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.32.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.3","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.1","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^2.0.0","@adobe/helix-simulator":"2.12.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.9","@snyk/nodejs-runtime-agent":"1.44.0","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.2","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_3.2.2_1558552310352_0.2487746500897352","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"@adobe/helix-cli","version":"4.0.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.0.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0f433f769b154672a85604efe2f7b4050da778be","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.0.0.tgz","fileCount":82,"integrity":"sha512-voLW/OC/vhSO9qZF/R9h9fIQBjcLMSbLrqhajf9OEpOG2WnqNbI707oYiIekBn/hxJiG0lBgvBiuhUK4ryysVQ==","signatures":[{"sig":"MEUCIEz9bFNE4626wewXyJDpikCIPVQaVZBA0sHNYu2nXXNlAiEAm+8jcQTk5Pu8HA6GktzsHCOY65hAxtc1Qzre3QTC6Dw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403396,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc64WfCRA9TVsSAnZWagAA+/0QAKEg3iT4Pm2EEIxC9EWy\n/YN1x6+sJ1p8YQatTf5JggOrc+8gVKEWtrelwPO+gtJYUiNXnUwhYHWKn2Fp\nYORTZmVrI0G2npqFcoeBzLfwro590S3UcA0UfFFMh6WUsJGOjhTB5uP5ac7c\nKi38Bl4XzIaq1rAvR4l5/WAhVhus5ldQ7A6DjAelBBXqn/xhtJK0CzDdRr/g\nl5tJwPRrmwrg8TvpNSjRlRNL9bu8c8C7EDaylNeWtlF8E2RZ0ygZ9MQe3qk7\ncDAd9YqIb/xMikiCb2liBy34ou1qqQmrLY8TlDV07TWBrKEGLq98EK5sC3O5\n3A8nDbZ4BlMOW9xw6jxf1DnJU8gw9tf+XyTrIit6ek2zXpTV+C9uUaxhgW2h\ndbCwFXMI65pTSltf7OgbNRC652fEVUXdLdE5wckKko0lkNWKEa7tcfNEbfkb\nT6ckSCn/sdNspl/4zny4yEB8o70tqqzKy0X/NHoBIpV6ST9zF9jZJuZ0Qvph\nMKqTLIlGV9wCDM7+z792jA1GjOYzAkklRFF+0KQhEixzUsI8weTT3n/6685I\nk4GHJJJSJgEtCI+T79tQXkAM0RhV3l+xJNRbgDGAaGSi2jpN0nsMswa39STl\n4ufkq5hyN6p/9OwEbRt3uOWr3fIPy13FoD7ILvMTJMLVQuk1jL036dlLa1nI\nYVt/\r\n=ntN9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"184151bfab3102fd987dc806603c906d57c714ec","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.167.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.32.1","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.1","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^2.0.0","@adobe/helix-simulator":"2.12.9","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.10","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.0.0_1558939038665_0.7896465641822616","host":"s3://npm-registry-packages"}},"4.0.1":{"name":"@adobe/helix-cli","version":"4.0.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.0.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9599db4ac9491a36121b92a5ecf853864966ea29","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.0.1.tgz","fileCount":82,"integrity":"sha512-ns0p+FTi2BhpEhACdDvTzY9fHrjn2K5/doVWPHrPUXaqDXou56ZJe0xJTmdb7/Sf2GeYV1V3SiI+e2EWNpx2fw==","signatures":[{"sig":"MEUCIQDCjrs2D8isfqk873aK+Uemid9zAP8N6d0qhMZ7s3cU1gIgaFz3ma8F6APdQVldqf+oUJijDqzuFOt06/uR/j8XYVo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc66hECRA9TVsSAnZWagAAR0AP+gPHfmyzYWka3ofEA756\n5IZW61THVuIdlODxPU9P7wbaljoKzw611KftU9lcRY0EbQefilND8ho6INR9\ntdnxHpDOG/kciEpnZ6+qNJ82XIFldVM6DqeNYItlhBQ5lVULdYEVbHY4qGqh\nT710hv1fvbTo1DPKIqESArdo6DrfsuT8c+7RMZr8z8R58jDDFCFsstx39CbF\npAsncFQPHHjClBo3NvNiAD5f8UDhEGX8K40TXa25VuA0nDB4OeYLmWnHOnBq\nnWHHeSW4EER5JQBOasg/GvFQ7uQVYDzYm6eqBmgTBEcNV08IqMUUuHIq2bea\nWELdslVJxxUqStEJNqBjKMHQ6FlYuFU8vnwkw78u1sSX05Wk0XBJDIUUg7Q9\nE8GxFmZZSTKxwl7rn4NyUmLhvvBendz7O25TdT/IE8GeLa9vxgMvVDzMfwaT\nx5BbmFfz31nGi2ud6Frb9rV8XZTG+A/Be/ezGTahCDZ30eGXRwlV7X7v40Do\nh74XXfxz8Z8GBCDf5JB8bkZM/zl6q9n7odgiV9xDkUl2VP/e5lE2GSPRpxU8\nd28QymZmdqNAEf2/apADo6bSMqytKS2t/UcAkxH0iCX8AA4sHQQbfGC0sVaN\nDBF+O8RGl/cqCyrmJRxA9vgNCDo9+D+kB+Ll1bf7LXEUTeBlyMccwaJsvsI6\nccLr\r\n=sRbZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"4579048afbc5f9bfeeb6e4548a83e2639f7af033","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.167.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.32.1","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.1","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^2.0.0","@adobe/helix-simulator":"2.12.10","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.10","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.0.1_1558947907349_0.7014062681873057","host":"s3://npm-registry-packages"}},"4.0.2":{"name":"@adobe/helix-cli","version":"4.0.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.0.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e6c1f62627f7acf27282ef5b1c97220a742ec800","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.0.2.tgz","fileCount":82,"integrity":"sha512-Un1QE5TXzbJprw9EQ5alsk5fW/nlyGptUAUIxKrrUrMHQUHlx+iwFw9EPtZso+xOgWCIxmxNpETs3Oh1gAaNhg==","signatures":[{"sig":"MEUCIHJL/cX42AvUNbTfaHXLdDYMciMkGnJYAAlF3tBUcidkAiEA64bOOoJLDHXfOrh+anqORRJdXuow6ifh5MFWa5MkGjw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":404041,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc66qCCRA9TVsSAnZWagAAITEP/idAiFafoVLQlkm9a8AH\nIkLFVZ5C7PcjD8g1rHHl5zavV1oF/lmx/Qs7eOSF4nvjdX/ocCOEfQMy8XlB\nYyzCsvUnuUSe3ibTPUOLUxByUECvvEQgWWkDxmeSxQdJG/IiHearfxkYNXCz\nh+Hozvn/nK+GdwAVJ/R/3yhiGtf5U//nsyIlprUo/UIlVFB9gCqTCVDBMSU8\nivv/+uXD0qInTegVihkSykhuUj6Df3w4Q34GuSBlTenK4a4dCyIkhngHFc+S\ntDLABQTwF7ZPMIbNHQt+7h38mFOmpmXih/5RGuJAbNyrEVYFoXCQ78Q4m3sP\nuFPZCYBs4Z+53nNsdw+Iguk6RHT/ve2b5Nz0Pash+VAhtX2yYC7ZuijiOnpI\njU3TUjuaY8MybCCEXMivZeoooCxkfwabGnvew559oIMUe0UWvx/5eztARgMj\nj+0Xns84rM+1esHLf3lFTtdTPDc1ffoaLgnBgnFZbZSH0BvGFK7gfJj1QzYq\nWsLeqZA6Fj+UoYdTbPz7FfO6akVLvFEcC9pLWcGyUJtURwZTLw/J9h/dGeQ4\nLs+JBMRE5N1kBGmDFXZqiH6HvsJmyzTFS27oYGtE/K4ypaZ3MvKQoCg1YFrd\nSvY639EUcLa2NZbImaXQcK6OVwjL+//AxYhLhvB0PTq+ipzztwNxmFZ7o0vQ\ntOAr\r\n=dp+1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"72fcfffdcefc909425c2eea3fa2028bce8399ac3","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.167.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.32.1","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.1","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^2.0.0","@adobe/helix-simulator":"2.12.10","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.10","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.0.2_1558948481199_0.12012200367645343","host":"s3://npm-registry-packages"}},"4.0.3":{"name":"@adobe/helix-cli","version":"4.0.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.0.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6d710cec0d73ed03ac261c48fd4b08c91279b27a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.0.3.tgz","fileCount":82,"integrity":"sha512-MA5SQIfN/eN7Jr8g9jWEQvoqQS7qqvT/yUkZ74VbOkVQi3VAfpf5tJRIif46lp/ZzdI8Jfdb7fF9TmFzBzOvWw==","signatures":[{"sig":"MEQCIBAedBakhFpXpcm137LwWzXrsQu2Me9lA6ZPAbt3fcHsAiBU6uAXCKXtFmD+LNWOjJrQ+7sVGZoXlAnv7KHbVVt6kw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":404265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc66zeCRA9TVsSAnZWagAAWHIP/0euP7faTYYrnKaR5ny5\nGJ3Du99V/pce+bQA1zYHw7KPHe/9wJ3W6Q/cxIkm72qf1iAWxYV+VieERyF7\niJz2bMcUqM7UZH5xTQHDuMabx3OM6QwE+WAslkhCrc39xeNLoD9ZqBBSfOZ5\nrbhV9B3otC8zO3T/ckS9I2BSinFHAY2vm/pTZBJcy8ThUhm27RaqoJhWoZ5b\nndITQhyD0v8OhWAHIToiniLNzkdDUnFcmjDUYyX3ZIKyuVR5PfoD6xOTK4b7\nJOh5XN3N7VKiHa+PvrhSWzL+NhzpnbBfdWuG2hYJJYKx2YPjnkvmX05eLRj0\nx8IqWVK1rqLt/PCtYScjDvdsnfYdlSm5ipvN+lKnztVr/S5qX5fIq4Plf9z0\n/cX1uqknQPHDBeZvBoFxOjJE3VlVtMAIrulEkzL/lnc/lb6JOm85CEBc6/Kr\nq44ac78bFEOTjmBEHcsyGvzwACgy44Ai+1BOSG9GBNmnuYY1CHwsxaMHSxH6\nzMJ8WTBdbXOb/N2vv9haCN+XC5iovrdR5FCXWvItz9+q6uboIT/+NDbu9mmF\nC4NOP08IajcVby3obxhx3MVSL3HavRuNiZ+CgH/AcxmImJo53PpCeIotvG3E\n3Lx/jKME0hl6dgWIjmxndjOn0EepVAdb7bwRGwjVarHlFMAWNJK9NLeilW6G\nYUtu\r\n=oU7d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"4eea2c0c1f912672a8373e5ea64a51ece8b0b01b","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.167.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.32.1","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.2","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^2.0.0","@adobe/helix-simulator":"2.12.10","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.10","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.0.3_1558949085564_0.350788548389821","host":"s3://npm-registry-packages"}},"4.0.4":{"name":"@adobe/helix-cli","version":"4.0.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.0.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3384a68c9aaacf14d733657dcebc6b8ba8874754","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.0.4.tgz","fileCount":82,"integrity":"sha512-O1vTyOMCLUwSs/fkGh3f2N+GVKUYxou+WseDAc+D47PN3jlhoc0K+RsNZZCwCETH3xKztuIUBR26/Gyhvu4V/g==","signatures":[{"sig":"MEUCIQDHp2yNrM3ZWRgWz/UzCGgSRGZ8ti6q3gOefEx1vosF8AIgewTVSzoEl/aEMCnmdj8USZqhSKe0sCxeF+gTGa7Jhsg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":404494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc69ihCRA9TVsSAnZWagAAs/0QAJtyJo6UjZalIirMRO37\n6yGxbyHpUb2kvnZ+XB4GQClTLpPwzZ/fDfETDPNJMDoYFfILG8HE8yyEjA7V\nohYA9vnXSQQhIZ96MX5B+s6qQx7BBGFZBrOpOazyiflHdQFAAKWO4r6dSLBp\ny+111Qm2l1bMplXwODN4MKb6eHjAIGAc4kgJuGgC+aIf5tgeYnk5jp1gtaox\nne8uFZDcNXpyuTFMwnpusojq2H3s4LFx7uV/1AppGuHLaBz1P1zVDOxl9Khm\nBLdG3ucov+vnGOz2bKiyBEZg/VQtORQJTAAPgWQ3E6KFyjlFiS/8l4i9xaIx\nlVQmkZ2D7BAGrtVBsu3fQJkevZobLCMP4kpI2gFC5Bfg8j6BtzQLYqijzjh3\nfcyOdb3KYG+YluwrrKf0z3cUY4UKPB3o0HJBaLe1b2tYjaR655w8jZIc/y94\nQCorsSYiTskjBQ8HxfHsjKkJeqtTKtWpEfgr1F4gZLW0e1Fl1vPYMV7gM2X0\nsOMmrnsW+BKuNhkcxFtVelLLO9jJpik5AQtgXprsyHzbk16x+7JaPXA4m7v2\nG7rUccW8MsKuudx/a2VxKJR4WxqXA1xQ8dCelKJ9B0/tG4Ylp/4flgVkbcQI\nSrNLxEdjHcuhzyzU3XjlhMh3cZH40yLOK8Frw98y28dNIcXNyUWndjl9dy1J\nYRcF\r\n=pEOn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"a537823a5eb33b0eb231d4a19a6c0f3ced4df6b1","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.167.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.32.1","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.2","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^2.1.1","@adobe/helix-simulator":"2.12.11","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.10","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.0.4_1558960288185_0.025507887170987065","host":"s3://npm-registry-packages"}},"4.0.5":{"name":"@adobe/helix-cli","version":"4.0.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.0.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9f27baa96774872a9fe105707712ca65c984da2c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.0.5.tgz","fileCount":82,"integrity":"sha512-eORtSSTDd3EmUm24bNgJYRbIHn6dLYLtu+NeeBIncbUJRMXrelRRgF08Vy1hjVCn2bNeYD1syUxzMn29k8C6LA==","signatures":[{"sig":"MEUCID+JPo7+Yw49JjZpNyBnVkq350AySGy3LyvX/7e9kzbXAiEA5yDUprRnDnXndxMtl/fCJKZEWswLWuIrhk6O+zsQKjM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":405015,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc7J2vCRA9TVsSAnZWagAAT4UQAI+MbSnjtH6EuExKB3e5\nZvdP1e2BVUFo9FLfQ3UWNfnMPQFrkz4678QypNXemE2ZEhtadDBRXOQH3q/C\nFDPl8cu1SuKInVrAhr4ncNT5ySRjsDwKpvgAu0bqXkuMP9bM1kBaOWi1P9yB\ns2ysbO4neePfAOMsatW3oZpgkO6L/T8LgyaWjge7V3+gmleNHSQBkuZW1EQp\nN6PUEkVuyKHrxsOLdNHRsFavNnYuqUpD+zh/aaV1v7KkRg5/w1BW42mmLp0N\nTgjyHtkmpGbcyODXRDeibIbSMRr0cS7nAv+IbDNCGczdPyZNI7lN1TQ5plBA\n3/BF7leGgynLMnhkkLQUlwwj7bI3h2nv2+N0EZokUsFyVoarRW6D0arRtvt9\n+f3GfCfqg/+zs9LEn034B6gI5wbd1mLEiJ4rINRDI/se5+bjAp/Mx/TPe75g\nDPff+7pCtRgbLT5NaOVrf38hW5pCxocji4TX7bpBAxErpHWwBQ17X+OZOiWn\nv0RSOymaZtEMs/N5oCEIe+1mx7vsA32UMnxdNqs2g5HuVcFVWLwTTJjBc8P+\nzSWKVhA6MV9aigCq8wzgnHfTI6fgXmpKAnchN9cPsG0CierjRM3eEx9qpP0k\n2nHsf5YxHcBiYnB3UmMkvbqGtz7y1U0DBvxXwJ5aGSVFB4+ujBpmeOniAaV3\n6frA\r\n=srX3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"76234b9e77ec4758553235431041dba4b5a9b6ec","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.167.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.32.1","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.2","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^2.1.1","@adobe/helix-simulator":"2.12.11","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.10","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.0.5_1559010734171_0.04717579958587037","host":"s3://npm-registry-packages"}},"4.0.6":{"name":"@adobe/helix-cli","version":"4.0.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.0.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryanbeats.com"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"055bb4875a1946456cce87a9ea8032b28a4ac3f8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.0.6.tgz","fileCount":82,"integrity":"sha512-cSHaPjE7WsbrAHCDG/02mi2nnupl9oooPq9PYXzP8CA78aDWTAP6gr1zeWjzajrl34ZPMTKjIkghF4sbnZmh0g==","signatures":[{"sig":"MEYCIQDnzrTyiSZiexXYgLbXqRb9ksHVdAIQRcO3kZ2Vgks9FAIhAJcToWB9zUyHTSmGsp18z65fRw3hAmEF7yvEGvg1RPTZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":405372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc8Mr4CRA9TVsSAnZWagAAQ8kP/j3sRGwjCd9b2v79xwXb\nbuAJEisWqSoYbXw87R+t9PTNAAVyV5/L8I/WvyueS69OJFnkLY42Y0vXqYDj\nSC0SUacNDaV1Z6gq1N+lu2D5tUq38bpLCjum/Fys0yV7TP0BfpOjK8Ie8Q5e\n77RYKPRg5gb9HoVYZG+uWfTxWHOUhdtVSd4OXOsL3dv82Rd90YbELOeD6NQp\n6WQJMicwyTEDBnGVSgsozfT8dJ29HOFx810WAKPhAsT7Mdoqenx3+20JcsAV\nopq0ahmMJyv4xChKNuxDXFiWyU3+13CrB0+NXVsRzk/l6nT9AlRi/zN04O1T\n0DFXNLG4+SUw3n9tSwZjV+0zLY81SFHOQQT1ZTEY953FBN9HKRoprglVflpG\nHPZh/ob+jj4oRtU/u9ByvNaUfbjJZT4y/s7oh1Or5hxkVxGuLR0skgOypuQH\n7r0PH2L/ElIopD2wL2Ujq2fSrpJ6NeUdQFW0+kHP8rkoiXlNKHTImyXZ4sGj\n4qDkzgryprEZSBpOupsxh+/WpTILW1EG4mt9yfXnTcTvL9F0eTj17kgsiiED\naSbOoHqc0qoRGWaiFtcAQrvhaMvKrask0toMfn4apcfcdJdQyWQhyAFMmuFl\nOxaf4/RKN3a4DSe6qsW5sesKql8/QfmZ0B+j7EQKktmS6H9IxS/pF4NG6nVq\n9SZr\r\n=zlK2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"2d26c8c20657ecc737227efec5018f91540af914","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.170.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.32.1","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.2","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^2.1.1","@adobe/helix-simulator":"2.12.11","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.10","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.0.6_1559284471202_0.7605932783282119","host":"s3://npm-registry-packages"}},"4.0.7":{"name":"@adobe/helix-cli","version":"4.0.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.0.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5a38a35e0f9fe3cd21826652a6d5c72c44aed1c2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.0.7.tgz","fileCount":82,"integrity":"sha512-gCy5/8ku2bTXBchQop68GSVoaQyD33X61gxH+l8nfdGuoAHSpQ1/aARR+SaBRhNVY/IlOREWjFo1RFPWFHY3Yg==","signatures":[{"sig":"MEYCIQCEx3XmwQ2pBrjKjemCAfLthTN36vaNnWQFfARWU+2WTAIhAOtv0rrAjgf+FiORUG5FUnP4PlOHZXm1UvSfublwB6t0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":405602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc929cCRA9TVsSAnZWagAAtB8P/AhuRIavc5XCL7ReRo0F\nufRtHEdss69PJt6Wxc38UNglj0PCBYZ/8pY2KzIwOxE8+8lNslbVQBppV1vZ\nShQSdmM82UqhldCUxhkJeL+5h0MuJZpxYhBC4P0kBe3rNs68Yzxh1oDOZ7i0\nZ8IdnQ+3/t6Uo5X/v7FuMvPDub6YG7kOQMSrGiq+kOEENrDD9QBlcL0O1lar\nkj0BKsaGWqANwEyodh2dmhHACz4eDRraGYv8nGMGskeh2cZqTmX3NA9IqwmT\nkWbVPyVrYk+wAoDdtDWfVKb0LXBWeks30i063B9PIp4o6yunR0KVxTMib+sp\nWX4YfRApAYiYGURWGB9j7DR2Kt1E9zMO6KxurZZotXfSrs/HD9Z7kj/MB7yv\nAga7ss6BSFHtjREgyjYTXNWAQNu4dotnaohEGyxW2AO6eJImK/LOdB/bBm9A\n+bG/RIFhixBBAulkzSBQMWbMBBI7JsE8DYtw9DHBUWvRLMMFBsqw15ZMs0Si\na0CFZfvTo7omSVy8+MQhR4aNFl7mGPM7fNmMjTHGKsFdxLkTyfrQ+ZZLu0K2\n4BHymFGIyw1B+WAKOR/gEZsAAIX22BSN/c4Hf4G7h5EffiLtYowQ31fMLo5L\n648NqRz2Yj4GyE6L67MNWphO1WvMAV1/lYIqpKCOuxP0EkuRAvK0XLE6LMQv\n4+yj\r\n=ERFQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"257709078b257155e0104a8154b5aa554625fe75","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.171.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.2","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^2.1.1","@adobe/helix-simulator":"2.12.11","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.11","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.0.7_1559719771218_0.18591438235020052","host":"s3://npm-registry-packages"}},"4.0.8":{"name":"@adobe/helix-cli","version":"4.0.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.0.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b9b9a76e2b4a415cdbe3f101555e52f7b4ad7ca8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.0.8.tgz","fileCount":82,"integrity":"sha512-NsbGtN482n2n0/8utG6+pKQGecPbTo5Gn5otYsiD2BgG3f5H1v5v3pV0MbN9/HP2xuD9O2fUdhHBEm4i9gEtXQ==","signatures":[{"sig":"MEUCIQDqerx5mAMkCvvvmkKE72AkfrT29+aDS/EZZn8FfJxOjgIgQkSdOXawss+oDvLZ5h8dgal+JcDPUv5hH4mKStYiZC8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":405831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc93goCRA9TVsSAnZWagAAtloQAIbx8CIeBnvC3yS4bX2r\nKFKSPbMwuSEvxwDSo61f+hYtRLOIs7j7pNdTDX0Xhh3eLz0Y1SenwgtYlKwV\nhOtx6/KhY4afpCbNJj0B7W91p14/Jx+SJmoz7AN97DmUq0Imf7RBrPAR3t20\nFYLenQsQekdFCacZR+ru0VSxLTpdO5/222tVYqiRWQxgaGZP2U87Vke0xi8X\nCRAi5U32N6pVWVaCVxXRluJFar8yym00b231qUKRwZT6ytWNJcoM0voZLXRO\nZOwn8UsBLTekxSowD6ukE0dmAupZcm7gZEPHGvPsrqBQYUWOlgwT7WHWpK+C\newu3rTK9Qi17X8HhBLUK/D3UNJj83bg/UQGAIERRSf+HkLD66kaYiR3gC3zc\nTtP9t52KPFEFfXX4gY+pm+5svs13LW8Ap57ZIf7J1C0E3tOAaEpLcWcVVx0+\nG1pXL7uM6pXybTx7InjnZJWzimF3hZSiig9DZYUiyjq5fEVimICVyli0emyX\nGoew5305vXQ4FAnR2Mn/96xEtvgqmJQ2H1GMkOibyUdoDYG3HXOlN7WQf9BL\nGeYH1w0UTk4c0oz+1MZRXoAeiybVP1rwj7wiH2/9R7caxq+VtqgDE9q2S+YZ\nH4gT8zUta5no9LWxsO/wfAeors2Ry/rLNGlT3w2sM4+86oAl8wNWCHvDIE2E\nH4/C\r\n=+uvu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"35f0189ec05d426d2effdf32efe47a5aaa8f90f1","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.171.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.3.2","junit-report-builder":"1.3.1","postcss-value-parser":"^3.3.1","@adobe/helix-pipeline":"^2.1.1","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.11","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.0.8_1559722023771_0.264941623529128","host":"s3://npm-registry-packages"}},"4.0.9":{"name":"@adobe/helix-cli","version":"4.0.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.0.9","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3dcd2976610fd51a1c1b070893f7f987433bfec5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.0.9.tgz","fileCount":82,"integrity":"sha512-Seq6SZX/eZ8vszgYcQkWYDYy9T5vnptoxl2yTv6A2gvoUiS1QuKWqQBduXX0Wf3ZI9srJyy5cWrePBeNM3Vx2g==","signatures":[{"sig":"MEUCIQDpJwT9gTblMSmCLnlU5wxfjMTn949IFEbD/mtq2Jq6QgIgCBNhW/DW0ZOIPKB9ZnZlhDXvSHOQ5lWpzlxKCoTobPw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":406178,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+FUiCRA9TVsSAnZWagAAVxYP/1G7/fvkkk3luQaG/+KI\n3BjKqLFJole/YKQ1IXxgp2/jL8vsNTzPopx3gPatRgY5p4EY7HH0ozgOkM5K\nGzuBc5tr0AoG5lrw7L05dMQbn6B/a/kqt7q43XdFEsi+jbU7WAUCnXOQz5we\nM3qA7ND5MJA8H43tzA+BXxxcvc/qDc07V2otknXRSeAtXxDfGBM2/T8r1/+0\nzuiICRwMrz2xZhU7rBmzlhEhbXZjhtFiMgaEV6lMzkMIoPIs3ocxNTUwnezX\n5j6LdvK22npo8I8X+UY3lajKG8Ky+66YYwjg2ptFOqdYB9Rh7elw72Vtk26g\nE+AU5Aukm+26hMhcCcEX+rmkq+eJSH+E0sKSdNpeOmQCS1PUduAuKzIJL2M+\nT1v0HdRhgP8ieZsxrQdT08TUvui1jnlcSOtK0AADx5GVEuR32yYOeqKNG6qn\nV5+89ls6dNxGZpUWFJVPLmO7albnX7/3dZU1qtoalTuqoKp2bKiV10fWYcsH\nitKXxaWKEo/cdEZUQtsAI1AZZgIFSp1e8WhrSdHk2NLb2dxwYpH026jINdVJ\nBsL6VEI9vDwedysWp0HcgoSCnNIG4o2EuO07U7SAcBU/DzFwTCrii2cCPQWg\nKKZJugqE88wltjX9fFn7/0DZrWyQ9hcty84yeX9aG2dPBXgSDGDtj4rEwdF7\ntr61\r\n=JrKA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"a722e57015543a58609a5304b7abb34700cd98cf","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.172.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"^2.1.1","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.11","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.0.9_1559778593247_0.5515917342954462","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"@adobe/helix-cli","version":"4.1.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.1.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b19008393ce1f617c7aa127d821386f96dee7e60","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.1.0.tgz","fileCount":83,"integrity":"sha512-bf+tEnks7YatFJsLzyISFMwRKEolBIDrb6XugVRTj82Ohs58MSJuowe4KC/3prmpJTc2Tv7vnKDDnt83qBhd9w==","signatures":[{"sig":"MEUCIQDjbmZsEV/pmLTYSQBsiy+2qUy84q61QjVi5vNgqUma+gIgV6fm5vhYpZE1OEDz/rIPV8AIM6VD4dYqyhAFSepJcJA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":410876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+LSJCRA9TVsSAnZWagAAF2EP/jYG6LuGg11n8AugD3fo\nL8ibphDpoZYRpmK4+tEHtk5t/ZmB5oSt2PgklV9kvUww/HQ5cjszjhxItRUT\n8kPTTbunkQf0t8da4NkjtfeYOo9Jcu+I/UyjWRc77URMcrY9E8FkNurPbXuh\n6Osalcnv5X+p6P5M3nZ5LQ6kAXXJFpo83PTpE8V0RcrfgJtSd4SV1nn25Jm9\neYCjNUCRSpXQzhIONByYFqobTJXFKTMaeSjb33kfRi0KouBJ4a5cDRCNwDvx\ncLvIFQ+LOKVsqpLF4LRNgjKHwghRvxiSKiZZ0bOJMezX3r3HtVYSzAyI55IL\nk6MgxT7H5SABhJ3fLc+QgA1s+4Bv2IU5xyXlZCo2B237k1TUllktr73tgmdN\nRAMsbViuA06jXfc3c1BseX3o1IDq/INhWV5fsewFjSsqZf9V42gMYuemA5rM\nGwtGekbPM7LMErmBEPgVYQz525xNgCh/jkR2EM1gvqMjDictsltFk07uZM7S\nBJqXNWuz1yjfa3zPIxPJwwoh7RTAz84ia8wLSmWUI/XsPd2abGCafd8Hkhk3\nJncN4GHDaS9FHoBgB0+1mXp0sWQk1wUrNbOyOw9nj+mm1BIEyUx73xPLMqkS\nMUQBHPwgpL+7VRZQyTUDmzLm1NySSq6NuG+JcGNWLLK4PoSiDH7ECOpkVh2o\n3vVw\r\n=8xzq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"b817530fe7b8960b46ce8d6e68d65e1e6d17467c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.172.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"^2.1.1","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.1.11","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.1.0_1559803016662_0.6919720906755988","host":"s3://npm-registry-packages"}},"4.2.0":{"name":"@adobe/helix-cli","version":"4.2.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.2.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4098ecfe79b1d378db986b1898787c14701942e5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.2.0.tgz","fileCount":83,"integrity":"sha512-h5bE8v1rumNPgHLNYDtskDnrnpRiJ2Kf+7MrYBIn0W86HX0Sbruq/CsU2t/I+/B5FEa4iZaoEkk8pXTIcZoE3w==","signatures":[{"sig":"MEQCIEHrAp9OnOEsk872lf7Ris5Z7s1Cnxfg8HIxBWC7mbiUAiA2MPvSMU6YTbQPvqJQGBa7+tuz+7amYAbY0qv7jy+7Sw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":411445,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+M1iCRA9TVsSAnZWagAABMIP/j16wFE3CX0PSHjrfnrS\n2XTtChvIuFy4Om73ANOxv4b+kyo25hC61aBG7HJQL7WwvQ/mBP3+ouFCXGEr\nh/WCtn4o+ub9Nu99ZgMjGtuChAVxj54h7CANMk8Lpf/6T0Ue3wF767nnvvuB\nHDyfdVjyBXJ5rkdr97nmT3E9zYYAwVjnNyNcGIXEpSxH/B6o0jeyGx0Pr5lf\nHuUyFSPXfcdCbgQkDu98EMt3LD2lHBgXqJTMCg3RGuK9O16K87qX+uv/Fdzg\nCEOinjTj6nY29GsPUeWSVFWUlfqx51NgZ82PaKyQBFmQvMT5OcYAUiIByOFU\nkZ9orfRQ+Xq1tj9y6WSPOBv5dv698rqSoB0zzo0WDd/qCOnf5HZMHceGjeZh\nY+TNkh0EcqobkbBf1JB95qqXfNX1f9tPA+eAQm63NSoiM4/ElV32mjdxsUCS\nU7rgJHP/suva/by2x8XLMVriPpPY909OENzSUI3ZiVtvEELvwwSgUxcesX3u\nNYC1cAm3YQm1dxab7q51iNiybwarsXXkzGvHjst2PSjMijWvF5znaytnCPfb\nX7d4iQyFktKUpOOf5r3mVeZ3FyvMM300KdcIDCrT+gprX8ZzG53vxkpunuoH\nMWqMi1LSOEx/DmJ9qMWlQ/HU74d17L05hPVIpuFjPys2HjoMcW25L7ADkm69\n0mUS\r\n=c2Q3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"fa909df0f5574ccf6ab6db671d14833603e8fc1b","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.172.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.0.0","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.2.0","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.2.0_1559809377473_0.2194097576649483","host":"s3://npm-registry-packages"}},"4.2.1":{"name":"@adobe/helix-cli","version":"4.2.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.2.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e3929935d958f1475603925b887edd41ef93515a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.2.1.tgz","fileCount":83,"integrity":"sha512-c2sfOpdvlCRMGDszHi08K9t7mQ8zXMW5cWQJEBxCrl5du4OJTVPzbIPmBOHn61T03c+rQ/E91asz5ZHZBdLdIA==","signatures":[{"sig":"MEYCIQCUEfTT2etI8Ify3jlNEYo6yVxJIsc+zw9JaKgrVvksUQIhALxmeQtDUtscnkPJuIQr45BjbZ0oDWqPQx1sahquz30/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":411671,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+cdYCRA9TVsSAnZWagAAJQUQAIQ5f+enQtGfSoJcNoX9\noTB1nJC3vjNDKNaiAvwq0B8+O4eAFtTMUbQa/EMIggleYIwBHlPv7XxpySc0\nGqsCoyXnn4ydP/27PIDTyxN6auDgWdiwvOM4fB/njKJ2If4mp1iEcFlJ/tRh\nFKGKoipXfZrMqHFrU3FRSj7WHRoq4CHmgLqakLLG0c53n9Fc8md5i6uBrELU\njPesKm35gDkxNlMItY3891LaLUkxwymY3vNOiU+oMGBLNxjl7xX6dPUzGE3+\ni/AWPqmfNkmFg+srKHGsCgYWzEWtaWqsfkaI6uBA3Ks+NIB7Yfx15Vtq0z84\nc+SwbZEFnb9/uo9y2HHwII/gt9mytZlzF2XtFdYe7fgjdmmOaUIqMQm7VQ85\nTzrA2KzGciDpNgs2+lvXSvb3+QLZelsSIFLMAGJcm76i+2fZgP1diG49VSKu\nheQ9qE7wvmhIh8YeCmLTg3H5/A75gT+6xrDiX/cb26I6G0hYlN0itdxXABJr\nnpf3DTqV25mKmuAT+lhxLLODVbhf0k/40J5I09NL0O5DqUsUgCY8JEQGecIO\nI6kU1Le3uhaRRp2CR1ye2c/tMLJeFFV+7ymogQw5sKHFNXNn6WHTqrSlU3qB\nBJ2nnJDDhzG/PbSWPBcaEwFCsHWSl0ElkX3Inb8jtxev+Kjb8GxaJ9QXKJ2Y\nFGRp\r\n=zI4T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"e2a650ca7165b4dccd59bd7fd01487ce843f8631","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.172.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.1.0","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.2.0","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.2.1_1559873366830_0.4398802104766415","host":"s3://npm-registry-packages"}},"4.2.2":{"name":"@adobe/helix-cli","version":"4.2.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.2.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c70d8fb42b3a89db41901ea9718553ce43be37ea","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.2.2.tgz","fileCount":83,"integrity":"sha512-MqzrQVxNR5dGcaa98WI4CGRrvlYfQwHG+31tB+2y7e7Kk00fYrlrn1nZaUQBx0hakBFLoeT5qOr6JXLZCv1Z8g==","signatures":[{"sig":"MEYCIQCGGBkPn6F/HvKKWjyCcZO4gEbuSQ7CVI9fjzNgeQK8RQIhALu77iBIvqKs2NpVbNEpnFdIH5jQa76xOZ8QZQALQ4ME","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":411897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+edTCRA9TVsSAnZWagAA9LwP+wWHYC9miYntmgkyztMy\n9UkZG9Mkke6deEiU2JmlUv+q8if/ybJROXUJRYCM4jrmDGDsEgh7Ok2NSLXs\nHhM2TtCrH1SvwxYb4B88qiQ5pM/ZLm13hHlYH2Jy0LXE3/yD9lse0sViOTXr\nYrATTaT5IyHVIK+3Jq38V0odQYniMHdTCW32OEuCHtJPg3iqr9CfRli9FXlk\nznn9UXLYGoFHv3Nyza9XapYT5sPpSduZ2ZH+RDW4W2OVOk4jZb9HsJHo0lRh\nI93zF6AI/Qr6/XAhNWdv4b9ISlQeTBNtq9etjbKZxg6VxUJle0sNdWDTLzkw\n+iXgKO1SnVWhBmD/XrzT+GkyPp5yGJ0neGCoYnidSAa/ivyGGLM00HgZLL5q\n1WjCAj571vJTLOJKzPtQ5uz866LcInIufln0kwZNJr3+8KAYjIuhZr2DApZa\n2DMtCzPyX3inqGUl1f6cT2/oe6TeAjxS0IQI6K3FPqMEkU0yODz/H3ALPccH\nWxu0YxFUDafFSDoroUO/Peodn+Ey1EpaHp6BRLmB/dbZyaaFAZ8dI2B5Do3n\n/v6Xle6hniw+loXigqOu3CWTr2ZrbEjakbgCDIYWA0wQ7v1BGaI5p6pfcBfp\nd2PEbzg0nIG22ZfWxSup0nQ4H+ejKVRaqUV5HgcFuOruhmOHRohH0138PIHO\ne555\r\n=/zr0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"9f67b6397fd4c87f8b5334b7341d518e58df02a3","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.172.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.2.0","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@adobe/parcel-plugin-htl":"2.2.0","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.2.2_1559881554593_0.14354819588975132","host":"s3://npm-registry-packages"}},"4.2.3":{"name":"@adobe/helix-cli","version":"4.2.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.2.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0125203ace890ea1da067eb5d6abe5f66775e52f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.2.3.tgz","fileCount":85,"integrity":"sha512-APU1SZyFFlJqA+7zafPXPnDBcPuo+aCJZmO4mNOCFEgGD47U+bPJhpJpISwXkZ0Ikuebaej5yxcdjQoEbNp5CQ==","signatures":[{"sig":"MEQCIBhR7fqKvoJMocMgvSjYwtO0OeTw6NnKwmA7J98eOTktAiBI6D6Ohm6As5Yh+kiQhsSn1tUoHDoolwbEGyyM24fq7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+hJrCRA9TVsSAnZWagAALTgP/0vZXOZ5Snxl8Nmy+02/\nV98kIoiAzukR398tNjw51Fr3SEKo8UITuJBCA6tI/DhAY1x08wBIiyUiPgBN\nhF+9e3MAU/qC+VZRSKZaQbAI59aACz0a3IFYJE3cJbOfivcE3xWbJgRRxC/l\nHGjgGsYVacoKujt1cpFc52VW9UK9Bp/xi+b3n+ntg+S1HFe0/4v+m3iSnKhm\nM15c0/5r3KpJYJWsQtOmodgsn5CWDqfQXKGQ6yIHg7GHG/VLqxeuBBkZD2at\noOOigSfR/V+qbixVMv4I3Dm7caqpNMteW8u7KIHJJkbxR8DjN+PNPYeNboaw\n97pf+RYuSCW8wiyGnZ89EZ6IxaCS5HYi9Patmt7kpZ+S+9GPzL0Vkt+rsNfN\nkb5gQf4hpUlzIzli1lmlsyzjBQjA7bvvu2uovJJaHF4J8qTcHKDGOGSKMTxF\naV7XrLmWlQnRvey2kz17zEIfOuGM7ta5hWMzF6SdsR7y/DJRFpeSXsRrcFHg\nfUinAlPdEZ4eN9sHQcHlgoZb6URHr7nGCAFHWkIjkhR9Wrw+epr/16oHPrWC\n1+KOOaQQjw1RkMXewshoAktjGgQ8gMC6zGcpLG35VUxW5aGcATb6mrogjZ4f\n9prAF2PE0a7UTMLZnjT+70DlJYUz6ite+sGS0z0rGK4sSI8r/nQqMppaZ8T0\nmQbM\r\n=zUwg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"fd3001446810336fca9e84add8ba2abbb2f7b391","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.174.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"^3.1.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.2.0","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.22.0","mocha-parallel-tests":"2.1.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.2.3_1559892586829_0.28051517092413825","host":"s3://npm-registry-packages"}},"4.2.4":{"name":"@adobe/helix-cli","version":"4.2.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.2.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2741713c72157ec02c43764a2a3fac18b415ae92","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.2.4.tgz","fileCount":85,"integrity":"sha512-S2P3qDliCfKkS2hkYd6IWiXNUQT0LINE1dfe3nWcJWhr0EZMQz/slSAr+F+bkc/IhqWa4K+wsqriEAonolgkPw==","signatures":[{"sig":"MEYCIQCPJlI1/iNy1JYGMPahnZeYzBv3fLimpt6dbs+5LD/OQwIhAN6omWHZ3N3rvKJJJIuKhdubjCathUMhgj1tAFzQVfGw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":416134,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/utACRA9TVsSAnZWagAAxYcP/0H5eO3htD3KqdXDkovq\nOoitmyrXSAQY59OcRLfBrwcKksxEBkz4fsb3sBPCuJD3miOxwBuC0/ufGaJc\nZF+BRMWVb3wPm9YgwuvTewH+JXKiMy7HT9SkzeBH2MCl49GpIvboXvtTpppP\nU2jb/PyGpJ4V82uyEGlTg2HAdEoE4ANkh7wLO5HRsvbCSjaAtUSSf/Udo+f0\nXJ9K5YiF5tRGvdqTNqaWmNej6oQLdDNbe2+fnHLB7VBKfxXQXX2AuDFr+Irp\nMmtBLPwnseUCV3yWHrkJwQfdKXNRZ7CUv1MF1o38X6Mf2yK6NYk7TJTnFGc8\ni+4UK0m3b+CPiQ7UfNJ8QKiQUM96t//aGLvEX1y41/X5ovmsStvShute81Pk\nkxdU6NkLN95QcRLhdRNj5GXlU4ggCVo8XrgLORxgbcshOw+dIdMzG9+Hkrjw\nO4aVoEg3Nwul85xh0n5f+/H4BxriyYWepCypRLPQPLJoRBl0FxLjXpXf6MOm\ncTrq5QlZZpL8Rms/buCjGBaf342NOmWJfiXrUyORBWL/0mCOqZ/P8w6oRbWX\nspZWbRzXViex+ERSIXn08UMApdfnDUBTYnm3clztHHU8+9xkBm2EMITjvJLb\nA0dYpQG9s5oMjFrGuuQjE/wEHSRflBj7+Qu1fBUTfo/N9rr+1uBGftZ4A0za\ny0cu\r\n=AoBV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"73af556c31a19eadaae3872c0c9af08a8135279a","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.174.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","xregexp":"^4.2.4","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","ip-regex":"^4.1.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"^3.1.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.2.0","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.2.4_1560210239210_0.6951376085893266","host":"s3://npm-registry-packages"}},"4.2.5":{"name":"@adobe/helix-cli","version":"4.2.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.2.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b86f4a197bfbb1c47d8a8406acc344cfddfe77bb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.2.5.tgz","fileCount":85,"integrity":"sha512-bSDBbxBvOXHC9H5/vP6o+EknPpHM/5M5krxTkkFnHCQi7fMWPQBKWIeJRn96zr/0uQfoOcFuLR3to1OYXDRTtQ==","signatures":[{"sig":"MEUCIQDNheHvg4KCIlLe0uBUA6a0/sz11xnr4arGbfyI8aW4ZAIgFRiYsqn1bUCT4IA1pwTalVVYGn8wnHI43hTA9JqEbTE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":416322,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/wYqCRA9TVsSAnZWagAAQ84P/2MyOSy2F0mRbwAmNmfz\nifK/DCz1DB7v3c6t7vOgPM5YMA3iUTq4fNW2LeSmcBi5NaArMf0CBMK4KKhY\nmWtyrQC9pD+PYgCfVbz6gxFxqXuOHQWeldmk1zhp80jLF/u5rK0dhaShXw58\nCWqhClrYw3U7aF9BBDmKm7EozuqTVLZM6ZbbvXCsWqiA6fd7DI3KqsE63GbJ\nmqo5q2bqEVheqLaU4B/v9yb8VAekbSniuV5AIQ11LAoRPnqMzkDXB8pF/9uw\nIsNZOW6VYaE6+pdNRJdf3+yh6+tCNzR7JzJYVYWNXZ+dFUbNS/b7sDNIBMXG\ntkvIjGdcTefxthWFGTLGRtNvBrQddrDnlKeOaC0TwQlLtAyfhRhwBcCYTFrr\nDr3HxPGrOS/PxwdTzmRbPOK3WwByVfAVIuAYZqYuBW6StbvrM3Rqv3cRg1p4\n3h6/SlqCytLD5NzOJpdYHMUyLm3xuXuoeWOzK4otp2r67n4UCIHWEjxHK2rA\nYqyDopFuScOZCLvCS6S4X7kl7hFwBN76my3w8t69vBYPhKL41xv1C0kWUWfK\n5m+gDa91Cy6O/GinkkI/2wm1nrZa9Wj5yt/u3EjFnmPS8ZSDTwunk99aAdbY\n0MosyKL34of3Vf1LphDPotuLxKisD26sVaTGiTq8/RMnkp/LVDBfeeW640+n\nSOMd\r\n=QMkG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"bb6fbfd8ab248b964b7cab1e152a30ab9fc73ead","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.174.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"^3.1.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.2.0","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.2.5_1560217129968_0.3464476258960356","host":"s3://npm-registry-packages"}},"4.2.6":{"name":"@adobe/helix-cli","version":"4.2.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.2.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"7e289cacf3c15413f17b36384d7918fa005f9527","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.2.6.tgz","fileCount":85,"integrity":"sha512-UD/Unyf5flLAjVUHo8qR3gLCdFEfxdilKJxVQSwMAwtQUs4+HkdmRnSPCjtZv+fpz+cp1Qo25ZFx08wlvl3y8A==","signatures":[{"sig":"MEYCIQDoKiOk4jTjieMhKxeD5ZaSBF7vxsjjdsuQRWDQexFeAgIhAMOoK0oU/UEDaOw85V4jvg+rziYL0wsyfvwfQdWmiqSm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":416548,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/1rpCRA9TVsSAnZWagAAS2oP/A/O1kAnIAxx3HIUidBJ\nE826sIEIo2/1fz1PwraeEnYE5Rz620pMMEeIxcZ7afiyGXcoxwj1Bvw/MPC0\nWBgiU+jvigwmks+Wm+JfS58K+dW/OCz7Bh5QLhcQKCf4Pmffq/WycDBZ2eaw\nvsY5Sceba9NgS6KwSTsKzH5FkqMRYyGiHVJHIKwHlvD+0eh3po8BgHYKsc+I\n13jR3QVc8tzRN+MgaxeINr3K/iANbhUUtdMKXdzfq4bYjhgD9Zo2fmLaqwSp\ndBah2Brtcys7vwm8gI4H/hIrBmO4XTR04h/WK/9aex9tv04FOn8PK0Eb12b0\n/4sdiqm2oi0ec8mNw4mHCApRypZW5MJ9zH4Xs+gEVcnnVu56V3ldNUSVuUej\nsMpXDkTeP9q9h6oYHQ+khOTGEh5grdPxgofWzVCd59Qj8/F/RJZD9vI4/NUG\n6Et5wnn8pV//BheKHZvs6zFritasYMxFZ+lQY3W7v5KCLazcKiw8DpoZ7UNr\nSkbnFAxF+FZM3RXDq0+TAFFF50M7q2WpiH6CxaRcW3ksfAvqDq8W+7oUd6JV\nFOyjQ404DaPq3+2cb+4RDg2n7wvY+jkzhmSo7CCXqh1qxNRcqed2k52PqWgl\n2G0UgqgWHLLvGRAiQdyOeFeZnpgSjyB5uZCsm6bZQUBEamB14galYzFXZ7qX\n6vcP\r\n=QPA5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"96014e9ef548ac16fe319497a1e3cc2d8c849751","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.174.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"^3.1.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.2.1","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.2.6_1560238823982_0.5395331683123759","host":"s3://npm-registry-packages"}},"4.2.7":{"name":"@adobe/helix-cli","version":"4.2.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.2.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c1c425fab5cc19651e4693298846b7fe4536f45b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.2.7.tgz","fileCount":85,"integrity":"sha512-J6VNHjfZIl2uKs+X6ip/ieyQhFiwXewv+COtH+7eY3vE3b30FC+Lf7usuBr6SZIdGjDRhWzfgITLSUIdfpJV2A==","signatures":[{"sig":"MEQCIBYQSeKy9k5F7raSnE6pyggvatzvetNd5hJtGiQc6pdvAiAvTv5tx8sVcvubab4Ze7Swku//FfDxtTg94Mfb4U1hXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":417889,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/5q2CRA9TVsSAnZWagAA1REP/R0btRzZaT65ggWTH96B\nnZ+aHouz8v323TgbaKfnDjgiaQoiL10Z87A8Jd0mzn9bRhS5h+D7Kg6pszpg\nV1KvqJgPU5tQ7+g8DshJj+GJv8AG2sLu8kq09Y/8tLyjHhw+HTn+zw/S2U8v\neQQjw8NX7JohiLQ8epGn5klVu2yRjrY05NypplDsqESixtzHmziriiR54NMF\nInwWDEo1Evo33LC39vPUkh1gnptozH+gBXIoMbLXbKjQJZUdeT/70gXjoT6p\nCAg7zjVSCQi3lBaZn6hoagy8s4y0L5vh+UPRoVil6eyeDW8TZxvZc64HWYNB\n/YFDMzh8X6qUB4jdQTdbKt9pFBMG2lq2AQvy3QcC3qaXk8xikt/e34b1pLNY\nKCEwAasRXilauhgDiqP1J8Oof++uo5z54x/118f9/73MpWFWGr+3wXuuRP7T\nlHY0k7vMe3CdevIFY9//MASfAVziCqGtaAqvFt1twgRatYj/FyhhGYKyksJ5\nU/9WgUpwhwiQPsxiZoHeT/CrCMCRLaolHIoTcy5kvzFHDYQQQodbONR/PPZG\n4G3n/JN9CfWmv0ZGNj+RH9dn6IbdRP83lEFd+Zu1hN8sRF7yO5u0Oj5rdXtH\nIEAjWxfp6ZFrcyFbP5vV2Ex52DocjKmRogW+qsxVpI7OkhSqCa1/JQMmaokr\nwrQe\r\n=j9Xr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"f72002afc2d4a37b94a8576d69c0317e9f176bb5","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","opn":"6.0.0","glob":"7.1.4","snyk":"1.174.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"^3.1.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.2.2","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.2.7_1560255156834_0.5437252104261703","host":"s3://npm-registry-packages"}},"4.2.8":{"name":"@adobe/helix-cli","version":"4.2.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.2.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f2028d4807e0c2e79981810976df5cfd717a2ee2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.2.8.tgz","fileCount":85,"integrity":"sha512-Yb256d2dG/D3ghy9Mhjq1TH4fj4UN9rCxWXIbx0Y+9sn8dgKMB7vnR4Z1b6ENeVH3iMIcXWhCGEU9BiECgw+8g==","signatures":[{"sig":"MEUCIQDEFJhXyL/LcQ8x8YN+TUzaSQucjFoUQNhha1+2GoaMtwIgR7kBiscgU38FWoDFveKiOrVmSw4UV3g7cn0jNTt8+1s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418166,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/53cCRA9TVsSAnZWagAA42wP/1PYbK9oCOUXV3DhEOFq\nlBI+gQDIIwe0yML8e9m/D+c/2koF9JP3kKqgJBRhuGoaLGJ+nO4vQIHIHRaF\nfROHVEzY0c1Y9EosqcbKDZK4KMGFzl0Kk7JqNvaJstGtBJJK1v3lRkB3U4Hz\nlWW5xJnZbFU8tUGOmvmGHE9P9hWDPivPMlnqNSP7/mrLcTEYD3Kx4CQ/Wk+1\n1PaXzph07b9Bie8HbWaf3PGcWVyYV/0YEkj+OB2ifXLCnKyjoArXyXMsE9QX\nPOoMAYE9yrk1ouZhYnk87q8TWPGxVuJH8tobJ1fBKpzVtQXa9vgDaNzWPiCP\nogG9L7F0bphaVB8JKUFePuXXl8AkhxNiMgdFow0vgh9Y3IoC0n1ECvwOUBsU\nxkzFoHls84pCCTl5pvcj+LF3db5Sm8XAnpTuUa3xb3mDNjAZ0r+Q12eBn33i\noyuXUqk7Dm0KNyotvReXcVpWnPepejtOmj1zj68dfKxtoif8+6gnn+8J2Dee\nQovkbrgrBxR6+VKqpiMgK5DH6rNpLAwesNo0YYUR9rR1Z0DlRE8bRf/4onOM\nPhjwUtnKYZAHmTD7vZ66CkrzLoqAVoHyBLrl5SyjVWZ0N/63LkVB1JYMS5kf\nyi2V/ToCN+bQuswXnkDuxtdsDiDjrs7OZSk8QT39m3CVtSJ4P9z1tNhqfTYF\nKAHZ\r\n=KkrF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"bb18d24f6ff369796b1dd335789bc968f11e792c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.175.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"^3.1.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.2.2","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.2.8_1560255964010_0.9899534435952928","host":"s3://npm-registry-packages"}},"4.2.10":{"name":"@adobe/helix-cli","version":"4.2.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.2.10","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d2fe8f3c588819559b92e8333c9b72bcbeea54bb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.2.10.tgz","fileCount":85,"integrity":"sha512-kAD2IXkLHwcemYWdI0TV6JKP3z0msfzbycj2zsiaXadkCEhfe71EfZejNTs1ZALRoQcE0GbYOkeOt8VVrQb3Rw==","signatures":[{"sig":"MEQCIAaDHSfFdyugECHTxEDIN3bXIMLhItOtHoWfyWzZCfJ/AiAzR17vtiosMrk3AOf/6CrclpZZHaVBAeiHCNhpX8I5HA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAQDPCRA9TVsSAnZWagAAaykP/iGViQ5PMWNJ88BqlaYa\noY+P/cjCsSzqBBNTS0CoEQEILwZ0p5c9JzIsYpLesDFORGgORnYT/99Z9imf\nxcIQT3nVy1mFCryFUlk9GZTNpjS9lumSNF7CqsUcOS+pmfrNwFPC95q7tWxq\nc/8Yr/vaxqJdQrByGpot8S+k4x/I9kxejEVKumUMmBVQGPlG8AgANcp9VcVJ\nEsRpy2ksaDIaMvcJJJp82WDuzY5KERkZ66Ovv7GXoeAN8Bb+EPH2t10R0iT8\nihFekdxIZYdRzkyqI1Xsx0vsuMWFS4YxiOFbvFLN2+51cgRuh6UtEyVezh1h\nMQXtT5XiQrJHuogSjdNRwCKIYSHJxxUu4uXlCmlo3m0ZyOPQN62kcIjNkEEs\n9p6iDmPV7V4Rq235jf11MqJ9tIzuhsOEVdOl+P3DazIgrdpQlT2u8WY9xNsz\nXbOpUXWp3iL1cJNncAg+DyOWCXVQLnWWm9O6tgnmsgHaDfo5NvYoryJNISX6\nB1bxGdL+9ayBnVbckib7o9Apydsb8+SQeeSD/C997+IFPOmL9ECnO/YCovE7\nmBa/BdOGXBANsx8Y4uyPDPj+8YysAm3In1GSMCWMYbC+TcsKT6evgl4JwlhG\nFDwnIuyhUiL24iY/sSsGC/WqiKyIM5EY96rRnJ112hgEsZtXq0kIRURJFnT3\nTofY\r\n=6PXy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"2a0ca8a3707b6c3b67f2c222a703ab5b40bbb098","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.175.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"^3.1.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.4.0","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.2.10_1560346831046_0.516561937211687","host":"s3://npm-registry-packages"}},"4.3.0":{"name":"@adobe/helix-cli","version":"4.3.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.3.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"50fd63fc42c37b18b742ee2718156579cc7bac56","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.3.0.tgz","fileCount":85,"integrity":"sha512-qxVbSaMHW2nBrShXpaFxJbwgOzokbRDNRLCCjQv6elT+CcLUginoIj3FarBOPqiQL2+g+UokqKcXVyVOvy5P/g==","signatures":[{"sig":"MEUCIHdwiZv6bxgihUEPTb+3ZBbMtZuPA2EuKkFsKbJko6+yAiEA6pWB6WN1Rwt85C8SkgR+WkVuS9NZqNf+xlNCNF1/eVM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418285,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAQHQCRA9TVsSAnZWagAAtbUP/2qm26Y0w+atjkgeJhXY\ni81ahDzpMXwrtxa6BI1w6CC5nyjfkGOnn7bAWZlj3OjIGoE7NNYGCVPg42Az\nxf84TkfqDb+Og8TpeoX2y2TlmY+SpEfz65ysZdzbnXDgrBV098i8qp8CJFnK\nb4t+vr+v6RePcDeSkM33mgKFfx5CckmWAbxvq0GyRuSGoHpZ/NEmGGKf8jHj\n32bOYc8c5jHdkrnUVJPqtZSImdEnzSsOPXxvvbcgN07shGhLf9Ts10pQV4yQ\nKC8j5NBdRmpa5FrDcF1tZtGqrX6DdcEuLdGHg59hwpJcQ7CeNtpZ4hbHJN/g\npI/+IUrrpG75t0/7/zT5jGmusFMPnsnpMrjOmkF+hE/iDqqVvzhN1Es7ubg7\nEoIyrY1PXy7pKSz9yq7RLjbsTbT295hS27Q/Gq9cVyfsSsKCtk/lW5j2f8/0\ntBSC40c1SeneHBikIFKe6CCXDfDz0Va1e6mfCABsrCxNaMraTWCfYLmhEa46\ne6Isj9RqrlJrK+xr2mIAK+Cfbiii9ZNXMOe3fTrvI1dPn/lC1CM357pem45t\n/4lU4JryndxinaPc5yPGDzz19zJo7Kif7dVsDJkxGOjhtK6/lbtZ5zsZhfP4\nXOmJLNLS6NdPz09FtZXQImbSrJSaR0WIIKCWc7hiZJecmJuYazz5I07mIlaw\nyhtv\r\n=DIaw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"7f089a7d11bb4ddf9f9829d414b78372abe622d1","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ajv":"^6.10.0","ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.175.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.33.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","decompress":"4.2.0","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","triple-beam":"1.3.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"^3.1.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.4.0","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","less":"3.8.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","xregexp":"^4.2.4","commitizen":"^3.0.7","micromatch":"^4.0.2","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.3.0_1560347087516_0.7688177010052997","host":"s3://npm-registry-packages"}},"4.3.1":{"name":"@adobe/helix-cli","version":"4.3.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.3.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"994fd5a07b1c9b8f5ebc5910165d5fa19503e322","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.3.1.tgz","fileCount":84,"integrity":"sha512-HTiRkp2RTmy30of/DOIOmTLROt2f469sfn/CLvFQn1xGUapulJQxXrwQNPbizYKgUEZcL4zROESdF9gaPIY38g==","signatures":[{"sig":"MEUCIGuiALu0QycUfsecw7V+uZV/78DA2skoCmlkAE8/bMXXAiEAr2meZLcF4FO1/OP9wzo71fRTOi99BQSS/qcCoaLmv8w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":417384,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAcozCRA9TVsSAnZWagAAQR4P/1OJI9wgpKW3/VmGloiT\nc5o6hdAONPwHnej3PmspHzCER/AyZE2QXUTsbBOZw4RC8Ri8+9iejP2B9YI8\nsXKaOYvbPB1pScPHxnCiaSdViMP31GzxdUGnOkvDHIsbkF8cQwvXjwyQokfJ\nUHc9ALPLcH7Aim5xmXaKWDhfov5DMPqBZNRX5a+XSE2E3B2XhNfoctEqEnrO\nwY/Y/d5VqbIbFDtstJ9kFwQGUo1b/NDQCIfuQ/UzBWnMuHr0fr594SgPs6LP\np8l+d9BrRDMDjalq8f2frD02xaSNsoADV+1q8Vc2KAFdtb5kGtcLfxML/8Ar\nLSaw2UehenW6rRBCWDYEJ9pGceC/BfWtfZSGTFG/lp4WsOfExl8VGEBkIVwQ\nNIovUE+BoaAeZ/ROEeDz+OkvGnSTapp4v82Qyb6QLBTsyqhD3B9nkhZFr6u3\ndBmeDgPzD/UTQ7fIv5XqBq8nszsVKZWrC0TUu09KoYtvLkH3VYGjNzhtX2Ae\n5Ae+Wv1R51TpkTcGvVa2dkAeypma5f5ZYgyoPrvo2inHGJN2vQFkqMM3ySXO\n/hjfSBhm+0TIAFuf3/hB6QBRzgkB4QVqt/yCk5GoZoD+xs/2pcVKnbn2b0/Y\n6/8l5F9q8JGXx1dSY86wTqvxShVxa67nM++igFSLmwoSjY+azZ7fhgYKXfMg\nUGt5\r\n=S00X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"38a4a86673929af67bfbed3d6da6fd257317caf6","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.177.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.34.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"^3.1.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.4.0","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.3.1_1560398386136_0.6442353850451743","host":"s3://npm-registry-packages"}},"4.3.2":{"name":"@adobe/helix-cli","version":"4.3.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.3.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ef348d1d4e600ee61d1ec5fc7b9e868bef358978","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.3.2.tgz","fileCount":84,"integrity":"sha512-M9crdtFL01/c3ndSy+MORXMd7RRrN6uCfoTHtG8gummXsYV2pAyQs0H6eg/oNOxeKtS9gxo16L46eBPJd6vnrw==","signatures":[{"sig":"MEUCIGamHwC+5Mfzp9T6kQBqXIA65xYdvNGrQx/nlERv7d9gAiEAnNuWImRUfSWYXcLMYctS1rW457VD8mN5nSvXWOUu+AE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":417540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAfoMCRA9TVsSAnZWagAAgYAQAIS7bv2SeQnh+Ru6sn29\nvvD2eu9OZx4I/ZWpiR/V4CW1zgR8R5g/4B2p3CtqCaP/1OBNEpocqmiTdX1X\n+5oCaWvnTKsNMgEK5UbeM7NSrlOSTis4OJhqymzRuyqufuyuOJEq3hAuvvli\nY0pzhPLcmb4e4KR2GLufKvhQr9JN289XJOJy6oNh/CX5qZfFCCNhPUomW5kD\n2WOdVRHSIYMb899Ej3oNhoVL3XvH67lTbMlPZJUphYVxzCubM/2+FKVGX2wb\nhCm8TdDGdMa+tf7sIIzZDIxyb+/NDJ8ew8DTlo4LfGTCd1WDzf2MCeHkf+u0\nPVBibSJsSYqWLXMAwGqETAWBXwJbN9Gl6XagjUNby7xe2KhhhYEGJPRUHDZ7\nt6szN7WT8zt1XdxPjtJwO+BXC3Fpeix9ktqHftfZlPQwHGCX6pEYy65M1zTh\naURcuX+ZP+mkDQZhvbVkUbcoVdBW6XZ5J6c1Tdti5aKDwNkQO0N2y9LbrUo9\nAoMxNdVwwydAZJvn+lKkigJYvAFwSYqRsS2sJGRYtwEn2RnwqOXvN+Dtv1aa\nDjujT/+475T7Gx29H49rJ0+m1P9FjcTdrw5JijFWIUg7d3Ypv/PzZ0A13pf2\nJiFJuJnWDM0rDD9cLcOaMYM8jim9ImHaG6o3LLEH6d/53j84ZLwfm5pSi+M0\nzVUF\r\n=s0Yl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"de1a71655808de4effabb5c83d82d91e97c7913b","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.177.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.34.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.4.0","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.3.2_1560410635147_0.5172072120267028","host":"s3://npm-registry-packages"}},"4.4.0":{"name":"@adobe/helix-cli","version":"4.4.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.4.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ec5e906d0e5d2275e1f5dc078adfdbca8a4d4ac3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.4.0.tgz","fileCount":84,"integrity":"sha512-lU4dLFTLVHrsyduSAcSHI1SXTiVEYvrK85URt7mMyUc7nKo7RnIIXsmfLrCtOawma/49oZJbgFwF/1Ck/3tq5w==","signatures":[{"sig":"MEUCIQDT3/USvq55lXZ2i19gh9IAvclwpm85C5IqA4D5MgpXtAIgK2gUAaUKR37dwWifXfJ4h5pUScrKPGSKwSdnCrjGGK8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdBvx/CRA9TVsSAnZWagAA6koP/jWZ/3wpTF6lJrtZHGoq\n9Y5+4XGfofjzS46HC3PNc5kN9nNMwFppEdZqnAsuTeY4ukfrlWHltsKs24Ls\nOOJ6asJNYIJhW+tzBW/4Smm/MukFiC/iUc9+Kt6S19v36mRP0rW7A3m+kw62\nt5ChBww8jmnFLfLbS2q5/Wx4Ty/uRC3/NUxyZV9rvmJI2Nu/Y0W86un/VHW+\nF7mB8zdNvfjiReroT4YgqUV/YBHtGPaMM8YwNsgYWekz1D9LeDDWrfxh9AI4\nJ3vVFaC+Ovo6e7dm58PwzU7Ffvpm6ilwTvNVxSGgMKfLQs1EkH/wJ52OIyKZ\nsbyDtbfZrO91XVJPUvVDke6muBGfypdGfHQ1G36tQ+BeKinRBYtPlZPv0MD/\nZz9L7QWerTdaujFdVacKdv+0vBGaECd4vMfPXIs+7/t1Ugkz9icqf65MJPpN\nAJX9cmqW67xY9QKgTPXKzGZiIoeBokVDWUADbJLDcI7RXC11PO+hoz+B8rGe\n44hz4yyRUIc2ZvalsyO5Gw1q8398jswiwLZ1XQyfbM1QcVifW9N5uWlU3GzN\ntMFQYRUytbX0V2RRN59l5KAiX2zoPU1mOPlpMNj3zfA3/HaZQXG8kWjXL0AP\nyZK7ePYTacKQHTfUrV0x3k6TpVQKne9vAXT9OH11in+inwhSwo2QFFq4WFfw\nzFn4\r\n=ylTa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"ffe9467d6e8c9965729b1f26249ccc248938f920","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.177.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.34.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.4.0","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.4.0_1560738942342_0.41386039876505376","host":"s3://npm-registry-packages"}},"4.4.1":{"name":"@adobe/helix-cli","version":"4.4.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.4.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b4dea61f6a3b529133c7e95a70a6d550f885ea7a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.4.1.tgz","fileCount":84,"integrity":"sha512-cj1UG2esZN9eILZzWtZiJ24utW/6lt598SE17FtVetfGgA58QwDf5AHqWYIOrpYP1Z+1inkOLCcV3ruiTXi0kw==","signatures":[{"sig":"MEUCIQDEVr4DWlEChHqqXckH8RFdBpasGYAxfkf8pZfyKuIm6wIgWf/pQS4k3brWMvsr9GLh8+GS3TA1QxW8MMpVW3/GiG0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418752,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdB1DDCRA9TVsSAnZWagAAB3UP/2kbYb4ev0C//qtWaAiR\nB+87k1Cdv3t2n9NG1h4IgBroFCHwx+HroKiu+Pw0V3/Iu7pUFhnzFs1NUYgc\n4yMLzbUsfcVgZm7P1ivu4mniX9qMqVC3yugUJmMKjlS5Suc99s6F7iyPrA9I\n5Sg54OKCuAWWha/L0qrN/wfWV8lAQEoez4o8xXabsM0SHZdHc6kFAYEtyzdr\nwLUMDjqOisG6q0xMxcyNQp4yUAjRL4r8I3EK2eHjkfmZZYu9eiwuIkCyx7jK\n/NlZPfgL+zDC5Ejy0cR7YC3KpZ1D3Yu58EM84j9kkWAmsILhscFNJUTjH1qj\n2ffgy0m6UcK1RHfAk3zBl9zwlJv6ZK1t3K7RWR5GEj/EUYzJzcncI6yEwZIE\n3p1ti2zLieQAudE53/WSIoEnToVZkb8hfNzqwS7hr5YxvsIBR7YGdTGKyAOf\nJFmqAblIifXYjxid5voKx9FT+wY2iyCc03IfCk+4ZPf47O3LC7w1ylVbA0/e\nCMP+bifGXNpZO/UCNGbsy9Hce5WMdcpJg8rZOkW7IYWE4L4qwb/8FhUSyx5N\nhLHQ8xa0oKIP8M2F1ThxaSRDvJF3QGs+jDnqyw8fGcJnMfGK2oTGq3NODm1Q\nULpPsKg9dpDae9F6Dy+SBcryxtRAO2slNFf8B/QGtRHX3KokNb5NYAwHNTGc\ngTNS\r\n=odzO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"d7393cc3b7e4728aba25546075f46c77daaea347","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.177.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.34.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.5.0","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.4.1_1560760514354_0.15454108299410385","host":"s3://npm-registry-packages"}},"4.4.2":{"name":"@adobe/helix-cli","version":"4.4.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.4.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f1d2e1f138128bb3b57d7b6d10557575f581543a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.4.2.tgz","fileCount":84,"integrity":"sha512-7WzLJ6INmtzahentts2RF0UTqHJgY0SoFJ8M+N3AxKCRTQFW+Y+1dtlILw2ikyuRI+TBmyUbFYFMKEaeQs3qMg==","signatures":[{"sig":"MEUCIHVtdThbYC+YGRNZ55zteoGX0kAb5eibvvhMKCemNBtqAiEAwAo5PxausGHU/SXm8PJ32mHMEeUm5SE1KJH2Nc3BYzI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":419020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdCKpFCRA9TVsSAnZWagAA0QcP/3F8+LnM5zSgkTIuGVOk\nLcXcv3lr3UiNG8LCuL2JbwNUzi4qMrHTySMwd04x8dR99IsOtIng9oF0rQRY\nSMom83ptycfDAwSgUAL0+4JKmsTCwFY8DTzNruzCjAFIVxpvEn8ZlgcVC3gM\nBruwy/N2WLr138qrN3+X0rNJ+tu3ut6v9yztWRPFYfGn/advJyV5t7bnx3fK\nN+5hXbYYcUSX9gDIvnxSV8NqpJeIaOby4BfOxGvzCr1FgZq29stPbDelj/mP\nGNWE07cmu+6j34hTYEBkb+//7jhDOQhd8rJ0y6ccs3hYP/BuJfsrhfIfAzaa\nGJOI1fWDPmJuBfvn440oLYtJ6UJ9genDKyJQc8xW68u1cgSae7i7w4L1S4JH\nBQ3sAVyFc/U2DuZIuWzHvVu8Tb5DFVoThB0Q78JbD4unc+eSSx5VayDLWde6\nQ+f7HwwbW2zjiFYw0B6N64VXi6vLsUbhhVXHbgtbPmlUwl2b1X0j3ORcDE0C\n+T9gjsXWvNJs9MwJxPBLXMEhl+SgmDzc4yTtl1BtEtZ6Ujvx74hbG6EIG/EB\nyDk9+wyY78jrLX7WcZot8pnF8iTG0vPtfUHhh7FZo4j+UR0fjXymanohDkOz\nYcl996HhDE3q5b9JboHPkZD/7+CXWvuYgj/3C0lMeZV+xbCJFPe1Qnjqu7ft\nIVUD\r\n=551z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"ef6acf4b75ab87ea3c6f275a8fbc965be64fc57a","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.177.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.34.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.5.0","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.4.2_1560848964802_0.5189796819629284","host":"s3://npm-registry-packages"}},"4.4.3":{"name":"@adobe/helix-cli","version":"4.4.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.4.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f6ef8ab33cbf74e84580c24dcd85e75221fe44e2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.4.3.tgz","fileCount":84,"integrity":"sha512-XNqHt5hNdd1zkSIKv3vTFJs12Ou/qkKWGpV/Pv2T0luMytMvR2ZwrqttvAT19Jmt8us+hAMx19fZBY9m/qNApQ==","signatures":[{"sig":"MEQCIBwQZTdJEWD4zNsQ6TsW+rKJIQBYeBkfg4bo0JVpcT+0AiALloh4fNf4zWnsyVVDFRK7HRiatmS+oyhWGF1AC+WQkA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":420568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdCxB4CRA9TVsSAnZWagAAvqwP/24lrxoqHhgGzUBk1eyq\n8EKvT8Mf5d7vqu7NEG/Hf+Urutzp92+UCrj4FVSVpRa3aWqAGsgV0S+1rJ3E\nmRBwPf1Drzc20vVLZUR1ZXHw2/tcIF5USCyzeZ9I2/DOequa7yxSLM6cvmsa\nU9Bq/cnVRfOqXDo/DaxSQE6sc9/qw/GxcLUcWtz28Wl2c7raDxsvX4EPc/W2\nzXBzYtPKjcdy4viG8x07J4tGrvK7QRvOhQohEtgaMF+cDg8cQPKIu0Dtmoxe\ngi5VUAp04AjjUJMeceBGX9hlFbB8DbvszuA5KP91/iRcS6oJWBjbyzOcj289\nvlg1JCO6lcPvnrisE+HRUrdmMXE6gqG9WxH4KAb14mNaMJINf1AtvYXHLl1J\nTPp6B4P/aNWL1KCxaUSAS401LOiybVRBYqDcmru2hQpOdYTd6xYaTlJBmC1I\nniFzlRgMq914SMTE//JcX5/Psb8bxoolskmf7Oc4WaaPqFL62SnSF9N2fngm\nydlEcDycjty7KWEZBJLCyAKie1HHpy89IXALt1aPF96xQWZ5ksQe3f7oXmUj\nWh/L3kos6tJmiPlpCTtxSaBOnqexv9ntL2yHvBw0K9IYke9Wvx3WOYP1CCVp\nlr1f2cv60eq87bl3tLa3hqVCi3LOM2i7wpEN/UvAfCR+j+Os6LgoVoTDCzDd\np4uf\r\n=NGmv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"9932fb0fa5853920d204d368af41c6efb3f7486c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.179.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.34.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.6.0","@adobe/helix-simulator":"2.12.12","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.4.3_1561006199016_0.7458563817820281","host":"s3://npm-registry-packages"}},"4.4.4":{"name":"@adobe/helix-cli","version":"4.4.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.4.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d019ec59425bc841a2a8609deded71c4db048317","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.4.4.tgz","fileCount":84,"integrity":"sha512-I+J1wxn4wJ036xkIVniCnWQgBtj74iB1qZLD1uPFS4WT6ZNWos98kQ/1NfVABcBRJia7MfSc3QMeUw8SYYh+bg==","signatures":[{"sig":"MEUCIBehX+I2ntL/NUdFHM07TO4v8+w+auMQ+Sa0oEi0hR8eAiEAyKEPPtEZaJmw1zSWG/2NMdqmZg8rgJBkH/tapOlJ2os=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":420797,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdC1CtCRA9TVsSAnZWagAA9jgP/ixEML84fo3B/GsG+U3w\n2qcfXKxh8FdAdcEwScOJSG93sAp9VBi6U9RRi5RPI4DElx8yR4OKWWz+9d6g\nmz+acJVssve583q2hn4TPoq9LMSrs995/aFaATn1m8XLGvJgNrTDu8y9tlFj\n5XNzaKBDwBS+TmGPkbjNPQqJ34LOqSGDrgBGMiBNSVSYDa6r2puYN9pWjNzZ\nNFW1/nLftviP8DRPBXVnJfcZdHwRpoY2IhZNDUgNHtQl1apY99Sr0QxCqcDL\n43Ad845WzgiwxLGoLcz7yhg6RagJlyQxJ3+3FnLkzYjP4ZVV9WWqjJGaEjhy\nkzbfP/1y7tzrNMMgF0Fy1YVAFNUPDWo5hRoPFjuxbA0TItjijiqWdURC4mwC\nI42mthf7cyuFHOtktNKAtW7TMjga7ekR4TTSHGd8ZQa4EoA4QKXxe56XNjo0\nCc8UK5VOtDL1Ko5D94AWZNfST0RN2ZyHSlHmCwoAEkynP8HaRbpnIm0+QRGI\na8BRiznITb/D1vvn0Z8MG6S0pozXW3LuZaZeuT10BxrkrZ0nvej1p7PyzMmI\nZoMcOJJqqo39pbvswHRNyV+txtaFp92ybhai2XcJdvYTQ7++wvSOkKN+DrGv\nA6BEeB94duvxZhlio+Ov4qgGNArd2W4IYGGGIEQyG4CTUogu0mek43IZ0Wz5\neUUX\r\n=wTRq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"0ef388cb7307807035f9fa0fcf5437a926c4146c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.179.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.34.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.4.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.6.0","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.4.4_1561022636364_0.9797152812493102","host":"s3://npm-registry-packages"}},"4.4.5":{"name":"@adobe/helix-cli","version":"4.4.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.4.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"aeceb8a0d93c3ba28079b74e56611b10277409da","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.4.5.tgz","fileCount":84,"integrity":"sha512-8ErmiwTsk8hiU0/+MJacK3jsv7rju6VTGgasD33RVVm6j/ZkLUr1qki7sjVqhiqCsIC25GsP+Q9+8n7nDn9n8w==","signatures":[{"sig":"MEYCIQDuJ5W3lW1SJ8ZIzqTOjdQAG86KF/9anoL0rxsiTql71QIhAJ/qJbs/EvfTk9tj1rBc+4tGWCL2ZqO54UXiOSGOur1W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":421023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdDF3sCRA9TVsSAnZWagAAIa8P/3zSkeswm6BWCT9ScdoG\nkdYEGRWp8PCBBL3gvobjJcMh4G062LgUiOdov4kxJdH8e6DEKEDpaUMFPW6u\n1t0eR6CVL5No9NsKsw0zMh30PjPtKl+Hucx4OKDSLcb9IBNzj5+DmPByulBz\nUW7CBP8T23wg7snkJTRWMlvqDemJGv59w6yxxUFQZ4bgT+TOmSWSu9uGpv/M\nACWVgLfQ3e1kmUlVgkgolHE1kb7ryO8Oi7STtC2PKoERVxXxN4RXxxF51z8U\njA8qj8PqBwWfuWV0V/q08/rxn7sPmP38AMmX+krJlA681uT4oPAJN59N4le2\nzewoDYGe1EazmuuReeik5i0XaT2uYshAPHlolmQlUvWmYGTgSobgQhIbGuX7\nMZ+vin7ohnp7gNknLoEMT+/HeFpZ+pTuQSsn8VNHS/y3HKtUkX15aWwrmAu9\n+D8g/Kd/VWcMg3sXtxvXh2bCgKw/cbEs/DhI4Sm3SPwx1wgl6m6mvvkfAovP\nu2qlpZpIEQW2O6bQiFDgKKPiYLE1WrRrh7e8rNyCc8woba9iVDNk6AnmBDzo\nZOVIaup/S5zqh6toK6b57aoWXdxJ4mlKr2EPklr+ofxxV5eV/+4kNtChlJpJ\nHpz2pZ2WeupYKw+0mTHcHXSyTalICNLkelt8Ct+h0C2fp1WYBdvAs5dEXhzo\nHdfn\r\n=FhO5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"733c6bf85db1172ad9e7860a39cdbe0248ecc7e6","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.179.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.34.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.0","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.8","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.4.5_1561091562992_0.5699456025554885","host":"s3://npm-registry-packages"}},"4.4.6":{"name":"@adobe/helix-cli","version":"4.4.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.4.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"ce782a303d92a738710323b668466bfcf2225331","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.4.6.tgz","fileCount":84,"integrity":"sha512-USl+tuI/htLYy+LPZmhQYwQtj6lN0sEYjqr7bZyn/LLd9MHe9kkTq9UTTMWAHHm+bkjSP3V/cpHNqkqfaCZN9w==","signatures":[{"sig":"MEYCIQDOtQ0g/udSQJa9M1HQASyj0UqVT9jCjwi19lEudzrElwIhALqFz/sMZIKT6VVqcssJsHjDU0cYRSQzZ1OrWhWfnQgX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":421235,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdDMnzCRA9TVsSAnZWagAAiNkP/jL2UpcykD2W7zPoQRci\nElaT35fTisYkVCLyy92eRjtsi9xZerPd/Gv0DW8tlSjBN9wAVyMlCXIGJHHg\nZqsU2+l6bRNlEXJ+V3/fVlVUTYBoo8a15WCLT+CLRs0Pf9gu6CII6zTBKRRq\n6FkRLbmEundoAY5C8RM/Y6Zz3ZRMJMOBp9XoZ2hTjOjH3Qp3XppzWdslbyBD\nxqkUMg1+Iy4EZqQAIO1jAHWWzVJT/m5OX8u8XCg0droCkIo4QKI4tPR8sic5\nWetckeJgioOBx2xAAT6t9PNuDPROHlJhsFBJE436lfA24DzinzB93uPZ2kI4\npcmBluPZwQ7L/tB8+LBdGi996/8KOKwxBtmSwyduKbneHO78zHLYuT/MaE73\n0Jgs8LRV+GAaMjhKy/tQQiZsP4w/xxTfV2kSN2kmFqO1ELaFYrtrCSdakunl\nb8QzBP7SFGYWJ6TkrgwFhGvmNcSjLHQ4XS5KVctTHYdIs8RfbRuw0xbmrE7Q\n2TvANGykUzrOV0kuA9bvqE30+WtsF9gqdEwy9U45ehyaVt3DBcmkQAJmYChC\n2zCRnAmVAzeRpr36Z0NWPqWCt4l4PpX/p7B1wAuzhkCc/DubZoxjPEtF5Ygf\nDyFmUXuewOTvLC+zU3w+ip/qk3UMR16LTEUB2uXdl6SfCVkeWK5tRA4JshLN\nXdVL\r\n=arX4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"1ffaf9c7b6ab6a2d0d1b7d6236acb63fdf03182c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.180.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.0","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.10","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.4.6_1561119218080_0.5100695720763078","host":"s3://npm-registry-packages"}},"4.4.7":{"name":"@adobe/helix-cli","version":"4.4.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.4.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e9232a8a5e40d46393df7ff278c37e1e0cf7afed","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.4.7.tgz","fileCount":84,"integrity":"sha512-iDKw1cdL+tSx1L/kV+o00euPFxGJEPSMtGC8PjHfZs1BYiY9ifKAMf40UB2zW26P0y9ipnh2cdihI8lkfRd27w==","signatures":[{"sig":"MEUCIFK/UKUQ2X4Ce6E0EMBiVS1jUEIHSUWEbb4jGBEW/VvTAiEA50cxVRrENwSlCCQL/oZYegsukwozBAMIkB8UrL3SNQk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":421461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdDOUWCRA9TVsSAnZWagAANq8QAJ24X8eouvuTHGOWIpSg\nv+CT8JACndEREKOZl603Lq00JAvXIzbH0PHAbzvyqW0KpMxErhzjEUcg+D/j\nmnwmJfpaAhj4YNJtMvKIzWnZLAM2luaRFv8fX1n0aaatO+k4XOn6I+i6ckft\ndX3lv2rtV0KtdchkjX5Fcypd/CkQA9sO0+pcuH/voRrTqcsCvX4YHhgMN8qR\nYb5eAtX1KL8jthkZ6EPfFwPxeeEGSTdoooYZmp+y6HnAL8E7jK6hk05oEP3+\nJ9AeeWsjOquEWu3h8By5P+l3RAHjMdcmVfMJMZJAI+dLvM6z33pV2EXKrEIl\nNlGswOdTKxb5TjGJ60gPnD5INXsP9bIY200Riil00sxhgYFAZrJHGU3HOY58\n/Jci1s+JV1kf0/cQf9o2Vx6ZjE2wa2FXxVnd2/3HW3VOQNuPV63+8Tr9aBgv\nNaocXFN3sgPlADuReF3fUgCoSfaLQK6MfYRn59mNY/tIf9UpbZ9USHH96zlr\niP72ameeCPA3cxUKWl9SVczutBENcr1EkU4FwNIXcmjXuw2aOenWxIgPc763\n0v8haWrMxoyu2SbMUIXm83KXqlXtCkiriGlkqECsACzPBXNG0QQZFIk1Mweu\ndwgGnZSQiTbTX+SYB/m5V0C+uPe2Ya1hQDM05Zml51oO6oxzUcWeE/+nWPof\n2AD1\r\n=LgyJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"b8dd4fcc1b5d2a68a0930f29ec6251536f3d23b5","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.180.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.1","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.0","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.10","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.4.7_1561126165081_0.13234215530030613","host":"s3://npm-registry-packages"}},"4.5.0":{"name":"@adobe/helix-cli","version":"4.5.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.5.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"29ff0982f354953026d14b7d2f313138b9036785","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.5.0.tgz","fileCount":84,"integrity":"sha512-yyNCfmwQ380SRnWSWlBhWbQFIW5rckY6YX69ptGrpLaW7LbUZBuRZNDOS3zaH6BRG0iZPb+0LHii3/k4S0maJQ==","signatures":[{"sig":"MEUCIQCmqd7XyOvNxCjx6ffQvE2XdNGlfkrIZe9FpsBdeep89QIgHgjUBpPVW0VaVjg5TeAF9RoitfktMCQ/aAnaBf3Tbuo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":422287,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdEMsjCRA9TVsSAnZWagAAmQUP/3w5fQL2kILENlJm2swf\n2n82IZDmWZwG19Hn9BmlXFn7wqGNRXcY/4G1X2VIrqn7FYPpeKKYSqihHYlo\nKmtmnqUptUL9t/bJMMLh8sH0t1+4+NqwJgYAJ3Zxe5/8nfB6A+xQwwNflp59\nF3+8ClItr/Aawu+FF48JZs8JvqAnv65MwZfGqk4KlEFpNgHaMaE63ivgLPh8\nN06g3qGMn8VnfqmHRn7QYhEnGG776mi0TtU45jklKXl3oHL7wvOq38MUJRHC\n+dHvXy64LSKhDJOW1dHuWpfLjn5tlFKZ8LajJFCB0tFqxzeUw8e10L1heSB8\nNsGm1+52ftJzGZDbHI5EIggfAt7SCBmSdtMXb/RJ2UWwTaCESvmsnphgB3zi\nVcmcbz8mAtfpo10RjsfX48sbaPNR2lTK439cTAYdgW9LDBN1iDKpOTwyBffJ\njlkYpBBz6or031pMRwQJeSnpGkMxWK9dsTodgjVppZUUN+5GihRTx9PxD1dE\n1Tvv2pi6QMRhrcf8qBIOCQYh/NSTM+ZzRPT5M3wRqfJvTfSt92gZ8SQGKJh9\nkJJg83fHWBZVO7kNHBmnXSy5tbjoCRMJc2DjCVhNtQoTsqH4F9aBRctAnUVP\n1BV44Vchl5GECNxUEW7i4Zwk1jMZO3GTUsCb/brWxbaSXzz5Hd2UebW32WbN\nr3ed\r\n=4aTD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"49eefb6971846851a0bd25c76bad89b54d712a80","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.180.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.1","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.10","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.5.0_1561381665736_0.019601069184390196","host":"s3://npm-registry-packages"}},"4.6.0":{"name":"@adobe/helix-cli","version":"4.6.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.6.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"87d4b838031e44fa429f0b0dab664dc531165805","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.6.0.tgz","fileCount":84,"integrity":"sha512-yiaRk/RvAqmnMDw3RwtEYMeNCGGOhhHjTE0cR3y//nelxYM7N9oeZ1dtH7JxTdIRk1mC2BWjjZdHIE5Gu/SwBQ==","signatures":[{"sig":"MEUCIQCk714BSvGqRaPpwaB5MvzwvtOuHXqJy5+MdQRx+sWVuwIgflKhKqCdRBnYWQC+1v5EwuX+b7PAGPh+G72H5Z+UTx8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":422511,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdE2DKCRA9TVsSAnZWagAAl/IQAJS/kRb3dbsNb3tj8+nD\nhhU+Ygr4urOrzRvPopoPcrPrgEX4/YGpgm0XvUZgFwVKVdQxrrAthsrhDHZ3\n/VGs7IG9EdwAC5aqnUNFzEwcn70pZfKSvl1rE04Wa2b6yInVe2eXqpVdpDyW\nJWLPazJsq62N3A0CPy+18Y1FL2XTSBq4V/uxAftuf54um9G3Y527DsmP6q/3\ns6dUiFodOizb9iNcp7sNatxZsXQ1+aHzu1MDeKl4AW5yAROxHmCsfEW1EFU7\nC8sd05EiaAGuOUyWDTx0JpbILTr/B+fBQNasYP/WTajesabhVdRVD44jPZ1U\ndTTLyB4Dh94eY4TSHKH1Hct+Q1aHAyB+FO0oRPMS3e1Bls/jZqY7kDQTU9jZ\nnBAu3XgxmgOz2Qqy9962b1DXI7LTMY5THuRIoXgyhg2PJ5qzYmxD3mbmulkG\nI9FH7kpAuXYKWfJiSvAB+R6QvX86So/+f+ezE0OtG+pUoX7mFDnKEN6GFjg2\n+lRrQYyDjEv8xfAJ7pcl9RBxL0TdVAnpu7x6l/SQVNxz0Y/9RplG9Jp1bZ8X\nqP20JPSzT2B5QEaD88UHSnNX2H99NM//OLbLF6AZwEfDd0fY+7UEX/o/tdxf\nXnizOCVqF9YXrLLZo1nhMhXBNCueT95SuPYRLxgoaXW6VPM3Za8psSjKEjAZ\n4f8D\r\n=3bD7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"5aa542bdeb5db390850d6a517908512f3ccf12a2","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.180.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.2","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.10","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.6.0_1561551049556_0.8108994706339367","host":"s3://npm-registry-packages"}},"4.6.1":{"name":"@adobe/helix-cli","version":"4.6.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.6.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9be4c3340edfe43211abd81aa6d6f0664e7a9889","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.6.1.tgz","fileCount":84,"integrity":"sha512-2YHjDXtEfdLv9UhLaZkYcxtmnWLcQGbsS4kUkrinr9OkigyX+HWS+YLrnv4KvBcyDqAs7zzjl7y6dpFgQHjdvQ==","signatures":[{"sig":"MEUCIEL8HQqjLOJTiJuDwMz4fugtqxdDVbbJP6gT7D0NUNVsAiEArSuT3JWiq74mnG65f8e+kSATdMqVf5gOpeLT+/HjAEU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":422735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdE2qwCRA9TVsSAnZWagAAS7QQAKBkDYHJGHE0GZXHaz/M\ni7EfToeEmsnSnlXM/qajD+d/4WmUrAbFM+KplLEBqmNn0GSnN0Nkd9f2Trws\nRBuPgRelkZ2wJag20af1KRsiYSq5FTglmmMc5iEGxNoxKZiKqG6QZKHn5x2E\nPqu+KianXEUVR5xh79gI5l/txJ8NRIZ5PXL7v/UwzJVK3GuvZtme9KRj/04h\nkm+31nz+LMHe7qWeAh7d9N7904TXPxKgMrxFiAj4mhE2u7Hd3jO7X7RlxAse\n0E8U2YgdnH66LeG9mQBxvzk7HUFDAvIoH+Q9B/Cj5n7B0ckhfHBM3Qv+dhNb\nJOH0XEcbmfbJgEz+k+jmMEYxQ/SruJ0EWGTnG5F3OPHH9qCLC1QRr4OmIj40\nYweeIpvUWZ5R5EYnZ2s7LU8phlMgwjAiHl8IpRq/AF5ZSfohkW5Gz8mJQnEj\nTXtev3VqC2EJnYGgATHUU3l41NmQBUl6jFh14om0HzwuaJdWWkPoHuZpfN84\nLNY3i8eKGeQBNIJw1BXh3rU7TF2Hivgvua0GsM33Yaf8IU1Y2gZ3bcFa9uLu\nR/BugHjIju5ISwEgnoMvMzlHQn10yni57J42/PCdJnoF0pCeszFQpa5f9xvK\nlKplr8eOyNMNZ8lxe63yaYEzj9T5BE10La/Tdko78TdK/dfRuhLqR6atUagL\ny8+Q\r\n=GvcL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"7147b5567dc5027c07a2d63028f899ba8d645aea","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.180.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.2","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.10","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.6.1_1561553583167_0.18178029473045942","host":"s3://npm-registry-packages"}},"4.6.2":{"name":"@adobe/helix-cli","version":"4.6.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.6.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9b4c4cdebfabf1dc7fa40853a055309a7b59b2be","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.6.2.tgz","fileCount":84,"integrity":"sha512-LkmHu+MWqTnLCbmg9KGO1lfd5g/W6PwVE+UW+DeWdiY8/h3VngZ3SuF0GYWtylnTasp5j/H8r8evxCPM8HlYVQ==","signatures":[{"sig":"MEUCIBqLQQu0ZM/KGmGkA3o8zlhBIz6jJG7CpEpnkyoi9n9wAiEAvzXymzcIk/3QYjs+2zpbIxvG/Wv73cxk4tMEEGT+hz8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":423010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFIFwCRA9TVsSAnZWagAAqi0QAJs7QzBEU48JxFZwe9Ww\nXMcGsm2gWrk6lHSWI1L/KTlOLTfx8GXHdZZluYU+Z1JgETy9Ej65gBkEJhXg\nsVK5kfICjRu8Yf9F9uP+CFtGNmql1W7PCLi+sPa5cKydob09NLpH6XXTXPWQ\n3E5O2nrVa8LctoqnYsUTwLpwpCIo9rP1lSYx6rLTLQ9Ks6MFkimxfbsxaiWE\nVfrcQL/ef+ws4ThIqUja3F6w4wnnNYEbjpxZgHL9NqG6pOgBb1OeqXfV7/m5\nlWqgtPl+wGwWdgUdCsLA4zNBO1NKHCYNSJwyoOGaELe4MLigNCneMRybqUQX\n7v7hxmRc4d0ZR1viIMZvrXP8W5zE/X8HMh8gOJExf/CchsCjrMcT6BshrGnN\nk7s02/2iBROB1yeCNhSEnaHgEL8CZQW0w8IZZZNKpD/l8AXoug1qPqk2gE+a\n1w+ZcNL6REpPmQwiMuOKwcpW2ssEWkc2R77Ea4CkwObmvxaJF5JjP+zj+cUr\nNqmpyC+ZfieqfKRR15hw094hCsQE6XW9J3DcJ+KIkHczt3+0K4ygDq2Q6jNn\nQCQc6yvlvAbwvKrgT6fn6PRbht7Q2Jow0pqHFV34plaz7TgDlJOs2SqErCzF\nZipiiSIVqZGpfC+4DaRnTaBcnPOungdBkrqJ7mSOUWzCjMayW1d6uW1CR2YW\nKocL\r\n=yYaE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"06502cdcdebec9dcad68910aa09db3fa2c6ce270","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.185.1","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.2","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.10","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.6.2_1561624943151_0.15347255029172158","host":"s3://npm-registry-packages"}},"4.6.3":{"name":"@adobe/helix-cli","version":"4.6.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.6.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b640b092de3ee70c65e8cd688563301d2aa82cb8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.6.3.tgz","fileCount":84,"integrity":"sha512-u+lE4xNZ0S8xKphF4Nqj87kwABpS7kCCYmqWaucEXLSRbGLFHHEY+lR1Neh+X4BbGRUzvEu7ozhDor3CvnZxhg==","signatures":[{"sig":"MEYCIQClFTYP5iBj7fAtTyW/61kRF77gFLpZPa8DURywR5BONwIhAPGElqD+94sdbzXfTYwnyUakSjHNqcZr0NnlAdt4NzCO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":423221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFLKVCRA9TVsSAnZWagAAhwYP/2o8sg2p1E5u3Xs/CW1D\nWYtcYtZUOxLO5ixIEvVakciH9+H3+nFezJU9e8HkDKF2kXeqkm+kB4FPu+ay\nnmDBzABg39U5/wKGFq+dyK4nDaqBnkMzN/u3gfdzmQPBp9VOF7P8MfuAECgW\ni1QzOSkr8qGargzQYRgOZy5PTvQHiBooRs8XPOpPUW39QsHnvXtWm5z7kQi0\nk7wfLdjlyiEsMVAhng/1kjaCG9kesSnih9iPtRievKKeKDzqnuOauym6A7i4\nH2Opbpm8vyb5CaJGEhjXQMQrVVNV1ozUtsCcZ5royUtIeRJBn/Kh+4Vd/scG\nqFC/nyS+WHK/tOL6SAzCe6m3gYT7vLTw3w2r6aR7XESPNl0ke+7K32N4MDyV\nUUj6lcNXEpkXctMN3yMN3M4n7D7Iv4Ezodq038JZVuKCZuhexf6sSqA1j+1y\njUGWzqc66wqjM9/0deawzPJr7k9tIA4wP4Eam6GEBI/G6VqbpVcgNQPobEDs\nG00hMoF9BPVCF1xmWyH8Imwe9TRPnsIRVeQTZCyyRkML0C8lsBaMOUvrgX2J\nLe5AltiXJFEoyyN1Lmm3V9q6cvHY6AaVs+0uSxMQbO3o1uAmGt1OHrerTctp\nmAbIg5FO4jW0m9SHVUB10VSOPkRRDOJe7jl0kTcD3Rm/b2PhaPH2HfxIRyg8\nvFwT\r\n=MgWv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"36d15b676428f8a870fccf3f142787af8cc0f519","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.185.2","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.2","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.10","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.6.3_1561637524227_0.06799376404620339","host":"s3://npm-registry-packages"}},"4.6.4":{"name":"@adobe/helix-cli","version":"4.6.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.6.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8bc3fed5c40e86bb41ff602aa7e90b1c1d8d01e9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.6.4.tgz","fileCount":84,"integrity":"sha512-9M5XC31RSM5dcpuHeafzFtXtVwEHd6aaAAtcnrM+1UCvlxpidgqpikbMMLmEb6zsvOIWknH6C/nT2arYrs/Ezg==","signatures":[{"sig":"MEQCIBuPBRrW98UqA+7jGVk/LEDdfTOdp8SblR/ledksg8gfAiBCjs7Ma9gnLqkDjPQd69DE8uxAbH4cp5GwokSnBnJriw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":423432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFcyrCRA9TVsSAnZWagAAbHcP/Avjp9fDaVVapq2chzv/\nIxi5AX3MWgUOIdnSrudWeIVQjuquDIUGrSynJtwevuNLPpvK7jGfXhdJeK2E\nEYEa8VGJp1nrAuc77eu/eWxrX9RIsaxWsVSwBOZzeeyl5dCgkC1KE3FmPO/O\nkQGRur6JP5cwDFx/d/sPIuhlRZe5Kg2mPXerU8O3OO4eczMMqwDLrB4jf43Z\nTXhp3iqsVlOhIBGe1vnI2SM30sNqdzHUF1ey8LjtLfkfC0BnC5ppGdHZ1YNy\n9muCC8gis79WMdrdkgE9IU9F3zOwsm7hT1ISKPby+RdF3OzFwgq0YNdHGC0C\nBTdLo3p1z7u9GBvIL9QDmMZhautA9C2ko7G7Lzjk3zbYrloCAc39vskucoSk\nwsOxbqzyYHmiz1A6FeLt67xdUw1NePSLWtwhnWfVW80KXdVKegQW9x0cEmTj\nAaD7z9traXFxVTcPoz7mTaCsNjlWYz3GmpqEyojzsvrzCrUMLHtAL2GZh/Wf\nNH9I/pCUxTtTUG649ODwdx2t7F6iftx3Iw4wkLoZtYMzX1KV0K9jocltdrLN\n2V/tBCaFYmtlv5++ohU1ocGlCpBxQwbWk8G2dZi9F0UbCkRk4XSIYIWNWLMk\nkwmeau1elXnVuzCOdMIlPJEoNSoufefgYxCEXXTpc/R2QjUuCmfm8J72xC1u\n/X7Q\r\n=H2J1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"9be7c834f78745eba43f37cc9281be909303ccad","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.185.5","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.2","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.10","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.6.4_1561709738067_0.20675307348351235","host":"s3://npm-registry-packages"}},"4.6.5":{"name":"@adobe/helix-cli","version":"4.6.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.6.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"67d8196e20950a4cddee084f690f98ce610fc6ed","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.6.5.tgz","fileCount":84,"integrity":"sha512-t4sArL3s9Y/dMZB74mmlxbSXgP9HzXx6QBTztF+vNionVTL7WmOu2/CZlGirMIOR052Z9rLZRl55sx2O20CJOg==","signatures":[{"sig":"MEYCIQCxw2bLq1lulwh6ys6mqFy03hGV8L3X1gFbQhjsLcpx0QIhAKbqD0eMIpsY6h3LhCQZx7KtEAUPAJbQED+3+ORy2CIY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":423658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFhyuCRA9TVsSAnZWagAAId4P/3T3Zk0xwTMR70+gGObN\nRblDaBeAT3x5b70I8AoLmJ3k81Hzb7sOIfopUFE/jQOOSD+amEISFtFiY2fO\ngweIxonuKE/n3cmGceihW+28Qr9d4Zp1LGmE2jU3sTlTlMsWOxCWzO3+vlxQ\npK9OJMXrDtjg5XqSMT3QWmPp6ORuug68DevzWfXQf5rHMWqzCloaf4sA+LjM\nB+ZS5vAwGUM6rMd9coLBqrXgLa9HTLUHuu+Or72sTSaqzL5Kx+C7y2F/o3AY\nn+mIdwjFUc/xErXKESlXoKWmo2pSaVpbtDkRLJbHZnCJSRjjbSF/GqWdDjxK\nSfRRzqn/T8ORnGfWioR/Ytl2NbV7recPknCXurESZpVIz6jndThJLKSFjiqp\nR/N0oGUL2D3jojhbdGZQP7vLMYd8y9ytjKVT8XM1BcJbB2oO2OHyRY0NXlj6\nkhPy39vO6uaBYJ+7J9/BfrDPbzS7YnmxF9VBUvllvnCtRl0RcUKiTeAPg4mv\nFlGKEO8uvFutEKXQ6q0BUhlud4Dx+n0fiGXwBFzUY2BDxp4zU0CknheoWEdV\n//VULuupeHrsnD9Re1KpL+dh2Y0uoDiJdEH7O2Rs/LFLUBUZCpbIzPxAME6A\n7DXV2gul82Q1A66aIiF4N1wafA14fobr5SkRfy3ra5AxPbssxp/+vkQuyDFA\nAvM3\r\n=7upT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"133f4c8b4e438d6bebe298889aa4731f4fde3ce3","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.3.0","snyk":"1.185.5","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.0.1","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.3","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.10","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.1.1","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.6.5_1561730220964_0.2138988076217747","host":"s3://npm-registry-packages"}},"4.6.6":{"name":"@adobe/helix-cli","version":"4.6.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.6.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0af3c1107d0b2619df8f5e4050e9aa4fa791f9a9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.6.6.tgz","fileCount":84,"integrity":"sha512-IEV+2Xs6z/BTtKVNv/HocydKfx0FvXh0bmiEVtovD2OhalmFDHBkYc5XNRWNNqIEspFmahX1kp1l+qtiqXOgnw==","signatures":[{"sig":"MEQCICeEGp15CAaYrmH+Su4Kfh72QOzkAZsoANW07RuJMTL9AiAJQjumyKpcj0aFJQqUmHBV4PlD7QwLKr5kFGUKEetwAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":424111,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdGZlQCRA9TVsSAnZWagAA2uMP/08PkRw/ledVqCceTWKN\nBCXKsRPzrIUP4azh4t9fVj3yQqiUIowSukol3hXHzw6UZBzQ5165aFoHeyOG\nrJ+kpDmTcdTKza2Q4RW+YSYWE4c/mHmR4AJGufVaCGs4br5kxb+LQFaRry7c\n64RQMDb5x8A6juo9K/d8b7I4wqDpp5bFyPyB08NYom7lsAmQDN92ZpugY8Wx\npptVeuF0YM/C/9Oln4BBWMQvG9vOv1i6zKQzSQ/dY/SNs31WYLp6IwEPRm6k\n4PsgmGYhErtXncAByQXa3Kx5/OivoJehkd9RgoxzBPgndTOsNn6L2GfVCeer\nzZ1WpE5lJmJF+dOyzbrR4h24ApjpyfrcbTYSB+CdCIXzkyG/WwSHLlcTGGQK\nGypf7PgydKiMHMSan2A0py28U4W/b8dH2HHrLFVhBSGVpjVyEtY889fVj/z6\ntfIg22tKnsPLitCkVVaDgMUnbinWLEbS1SSSB6gUZtzkJF5k3V2hsoysM6tr\nRIQTE8ohQN8Rh9tVJKvqpBfg39v3BjsUbJ4d5ZtWnVUbapwW626KhMYG5Yyo\ny8OXZhBXkvf8KDVjBUsLQxeKleW9nBV53wIn24PXVaNM17p8o0AqlfbP3fpi\nrRYsrTJwsocmp1Sy+s8/kCw6CuGGQOi9885NToV26pT665817EYiIsExkLyl\nTMbY\r\n=0hlJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"d5edd0e84b05da776a45e03320d314d173ddd042","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.4.0","snyk":"1.185.5","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.0","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.1.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.3","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^8.1.5","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.10","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.2.2","@semantic-release/github":"^5.2.10","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.6.6_1561958735493_0.2826180346504106","host":"s3://npm-registry-packages"}},"4.6.7":{"name":"@adobe/helix-cli","version":"4.6.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.6.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b0170fe4aba9c293d2a4a5c89008543f0142ca26","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.6.7.tgz","fileCount":84,"integrity":"sha512-SNHVappdt/apP3ODtUEYwYlOICxJOUCazUMUNOgGhYAtfe5CoFjaPxLK0z0dDGm6tdJNtdrJPCQBImJrR/14Ig==","signatures":[{"sig":"MEYCIQCEb5YLJWnvWH9cZY68u8TbCZSyHgQJFwje/WHT6hVmbwIhAMVBo4KvR3RJ1jej3cVJfnjN3LnWyAc36fAjYAnMpWFE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":424467,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdGydWCRA9TVsSAnZWagAAI00P+wTBpElPjkM/G8w0r/Gq\nP58m8VSSBlrVgTa56bwc6NqxvsMiesljMOOxO3sN9pD5lWnukxi1hhcwM8Gl\n+Bd+tX3h1W4qaE0NCWYeHA03L9h8fJTkT4kLi7u5MIFzPJQ6IF9KXdZ2/ang\nTxXQYcXU1tfHuAKEobDhPEaBOgcGXatqbs5SiAkB58ZBdZI4qAj6JLwJG9n2\nghBtdqOvtJtBg86Q8Ce5PlSgTUoCk32Z4r1pzwHPmWf1belFobd1V3KkwTy/\nzathmJQXQfo8M90dsaDS8N+JEnPjfBTwZ6jjAob6BE7vM0v4AOp+Ovs4iO+L\nrdevREJ8Ctas021MDOa+JFiuulSHwyhNrDOX+xcVgQoWA1XhALbhyJCCGvvU\nHiFuyHRojeVFrUzwHy4rkw7HgXr9JI0dZZ60+v0JamsbLemdd5I+5tLJ3tYp\nmzvHiH+gW2Tahad0H7A090h6PnmdCYKcEyiGxY//cg6PL7hmI4TCM97D/tZT\nebwszYI7OmsLUdnM+URYqQsx3wS203WDE0SYMGnwzMf4ovppg9OhITKwCH3G\nhYx3NQyA6txqf3rNnOQKHrVytLGWxGSRCC8Ivq8XRRMFh9VFaR+liPJXJBKg\nUgnRGiRMNYy0Mfj3eUyvVKD7jSEdcnOeBPAUs6qLcgts9jeVGwM/TPWXTyl5\nFp7M\r\n=+kQB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"f5204332f515b21a02c79d758c044a869c4fc2cc","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.4.0","snyk":"1.187.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.1","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.1.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.3","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^9.0.0","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.15","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.2.3","@semantic-release/github":"^5.4.2","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.6.7_1562060629865_0.2394716084894315","host":"s3://npm-registry-packages"}},"4.7.0":{"name":"@adobe/helix-cli","version":"4.7.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.7.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"af40dfffcd13a0707ddaa3fb0c37d44d9272c98d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.7.0.tgz","fileCount":84,"integrity":"sha512-Bs05JRx09nOS+aZB4yR6lJqBfnkB0YNf3J7C4bdEwD9OQ9f7FGCw7NASin6k5QpNGPQ4YFs8SBgso0HdFKlvGQ==","signatures":[{"sig":"MEUCIEp9BmDNQ240P0/W+9jAGtMy5IEW6309N5tbWPMM9RehAiEA06J2vAmi06WAnt/Ct0TktycGun4SwFq/4Z2DKDk/6ow=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":425221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdHXorCRA9TVsSAnZWagAA1w0QAJuhONCEKhYF9UJKc71T\n1ZS2IQcg6SUc2Toxsq/G2iXvjJneAfYK1/IsgXpupd72ufIY4MXQaVK95sYr\nsGTrSSVsCrZPKKDi/6zw4qP94ZBwjXzWZ/wQEVTi972cOm25ur4zKOdeD9WD\nPIeYem+l3vgDURLZjIcPNy4B+QaMGiDWkP41kZLTgYTd8k706uO1G//sxxgx\nQ3pGENyFdwGpnP93a9AXKPDRLtevX6rog/9dICl3Cwq+zRePgybaEUHxYVYh\nJfrtCesx0R1dYnCn54QmCGE+oaV6Dw0HSgfqLuTYcfCtlAVkMPbNN9O4tRWo\noTWLsncadZG5BW+w8Iu5DQ+NCPncJqn6fWSnZGwK2o/CaxAqSfglLfi2vxIv\nSz9C0dOfaU2RBaywpviX6BrIgd7lX6Q7p59hULSTp7CovCK0TD75BntrKee/\nnrG0r3RjUSd8O6aa9TSUD0kYwE/7m2e9uydhefRMPweCWsVHY5qBQV9ExQog\nufLZWvqvPApup8gmIWRJG64q7bw3cm7gfSFQVemNCYZl/6K7g3TR4HfIk9Ef\nMm0oQ3FQ3X30ucSE6tdXYGqFoV6gLRzpCwEM++iLVBopje5VGQ0PD9A9RtHq\niH0IV+wWUlisLIEkbRw+eNveU6c3wGQjyfO5TkvH0sVXOjslnoc9MKcESYig\nhbX1\r\n=sWF4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"b2244c3059a5feceb17db368b2a58928b998b2e1","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.4.0","snyk":"^1.189.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.1","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.1.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.3","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^9.0.0","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.15","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.2.3","@semantic-release/github":"^5.4.2","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.7.0_1562212906726_0.6363476376886017","host":"s3://npm-registry-packages"}},"4.8.0":{"name":"@adobe/helix-cli","version":"4.8.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.8.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"385d2347c3eb28a8dc5db9622018f20c53d36163","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.8.0.tgz","fileCount":81,"integrity":"sha512-vqWwuMbaGYWQqdv93skC7JMfrbzLtFg5t/oCRkGp1zCvvwLnJo6z6fs/z5WnkZUTpO8jZU31k/si4IVbMh9A1g==","signatures":[{"sig":"MEYCIQDlKbpE/yyB47DMI5NxxpZCHVDEib4bkUGlpCT2Os84XgIhAKF6KBRMZDDp7fYrVTf+SOWK/SfqpGMxg1u1zDV2eLpl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":411503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdHYUdCRA9TVsSAnZWagAA2EQP/R4lxhw8HuGwJC2qw0eb\nxFj9SPlXasAGieR7ljDOlNAfD7/yZ5W9jaXHXf0OPs3zQn7twcbT5sR4SPQH\n8Y/tUfRyBXxPgo1d2n/NA9gWgEA5cYPoPMHRKWqZSVt9IwOaP2e4DkiiCjIl\nKjFxrZ8xzRLgDOPLfVcDJyIihoIYBUs+W0Xkw4vn73zGMTV0V5c5RicM4Gvd\nNfhhevwJNth6d8RF6UyL/vf3+0cO/g9ns0ViIw+bakf8ezBTtU56YcXTY+d4\nf1BZo7O6/YRdHW7WMXv1vdtHR3PnnLunf41Xt3vOHGQMSvNDPnueZfAtFW4a\n/8IWLPR0AtHFHQnYg0THy2BbJm7/mhtjKijjgVLuuRUB5hNdJHuaiqfS04G3\n0p/Szg8hE2/KV/L93gqmeth/YfRmZKTSWS2ISqbKX+LWS/QeFIB7+qjOz+Oe\nMK+CICSg93J12uov4qogUFZ7vBwiUGrFlASZnP5qA79Zh6ydBYIO7dt+mBc/\niE4nyI+Pp9JEd34LtIwS+fpKZ+PVeiNBxWvguCqpX2J9lJnmVVXTulKNWCTf\nF6W8b6FPmoJ1LqJC5E6bGWiKC8sGzmIqU8yrhLlSX9PHkruzgr6zPhNvvup7\nEK+hmBkbXX7wpdQOhpPjgFTB/RkhJgNU3dh6SS805d56HD6dUeHqdOb02iRb\n3aRp\r\n=cnrL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"eba238155908feca84da59c6b2600d245e11c7d5","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.4.0","snyk":"^1.189.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.1","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.1.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.3","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^9.0.0","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.15","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.2.3","@semantic-release/github":"^5.4.2","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.8.0_1562215708790_0.7961375385922063","host":"s3://npm-registry-packages"}},"4.8.1":{"name":"@adobe/helix-cli","version":"4.8.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.8.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"113cb36dc2e3649a1dd1c2a04445e6f122327d19","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.8.1.tgz","fileCount":81,"integrity":"sha512-drdTH/qBZYAeIvBgyo9kBMKxTi77NR2OfiQOpwW0kx48QFAMFeSQRcaEKexhJ/Gp0R9r10Uy8lUtemCPIi6Yjg==","signatures":[{"sig":"MEUCIErhL+kDhgPHcX3aiyEdyrClB0y1OtgyT5ZIKkSUbEXsAiEAxjJSIwAoYmpuXfATVO2cV/MbSYgISzfUBDF+wNr6Cl0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":411954,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdHcsRCRA9TVsSAnZWagAAHbwP/0kvnpdEPwTGqaqlGS6R\nkgX8FRFqptpaqIHX8Cbg87URZUfY3n4Amb6n6abA3S/vlV2yFFk/1Jqtlubv\nQyAGsBz6WbGJ3FmWBdluIdkizsxxXxGZGen3HqjjnkEVv3M+dCASOrqt3h7g\nIbiSRwv5nah9BYHXdYauQtQsNUYhKspWRfDeJAjMVePwu917WqVaf8BcKl9j\nmhb/zplKw7Jn0u7qkPgfY/oQ1dhLhC76Zj2yWw0r3heK8G7kEh8Y6EkyvUef\nqHBYpHp4QlN1Z1ErbQGGzLv3qbLI5eqND9hwKGcv4lukM/Y0H6ouoVq4PDCA\nhP8h5Gh7ud5MMYsCYK5qpntufJMKWQSnNt/l/f8e5b+DTZzPGtNkwrGgXa+p\nUpkrHeBiN0vibFn83Mo5X4qZmrE/F3NDivuzGASiTHEzCKZ4mMKS57it24+M\ndzcSFza3lDO2GEYu+hQAaYqeaTYLiQ3zk5/YCMgTDjy658aq6o7YBTYc5QYH\nVpMUT5Ua8gkr1QrrQO9b4T8kTlNCVuvGbaflZgUhBrhhZLd4X+yYs5CpyMbv\nB3KA6e+KwUFRx6kcaFQ4hlQMIWablgi5OSbSD/VJvB6qHrE23abfaoJhzPh/\n50lvKGg8hRg07duOP+tYz9+p+vXBo1e/ul7O+rqgWUbrKZIB6Kon8vjo2lmC\nsKBY\r\n=v6Q9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"edb5816aa5bb602a1ed514741299ea19a23d5b69","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.4.0","snyk":"^1.189.0","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.1","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.1.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"3.7.3","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^9.0.0","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.15","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.2.3","@semantic-release/github":"^5.4.2","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.8.1_1562233616174_0.6131714938339425","host":"s3://npm-registry-packages"}},"4.9.0":{"name":"@adobe/helix-cli","version":"4.9.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e6077cbedf8101425209f8b8031dfbf2d7a3f466","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.0.tgz","fileCount":81,"integrity":"sha512-kQkJZPvPTgBmKsCv7inH2SUD35h+alpZjU8oJYf/aMDLK69SdlBTmRkseTNzK2QBPQvzAF052srccPYseTIBLQ==","signatures":[{"sig":"MEQCIA8ET5cV+GjwuB4VfpL5HmqeeRUA73JTiRXCbjoldX43AiBLIiHvb6DLp8oIaLiyhPnfiD2EUkn+TR/CTACWw4OqVw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":412895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdIus1CRA9TVsSAnZWagAAQV8P/2RbSESb3jbKi2Q+aa8Y\n5xPaTs7+0XChEFiyPIisGDXtJnddImPtmiNT8Y40xIqQjZtjscctDlPQDFDW\nG2v6aHoUxxYXxf6JpixAx5qhk1SnLQhV6ZEok5pY1xb1u6to3FnTekujx+je\nHBAsovuPDRWqCwYvhIg5rAETz51pU/4HLYtkycxPwg6dcbkPTd099gKHLWha\nfgQ1i3o1Kds+Q6NzSu7lSbC3etCaFGNL6w6TVH9QH86oxr0eZW2x1tzonhRj\n/hx99PM/JS9PfihJD+K3uxd6Tr+JzTiPH1aa4CxYcOghQsUKKYd6GvAQ0GkB\nz70AGDcks8TD8FMVa19u6bN+TDpF32Joyj+yRtsI0R/OTxYaZ8t/okDyT8c1\nyhy/eQsyOr1o2yhiGbRr8vFko7u8fNFBYGW9cJUF3DeeF7N8ORLsH0aY9O7F\n9PIXiakpD3SaI4VKhMgQCmokFAKEb0vBsNbyHHPl9dw68eEQRijJNkEnApKZ\nig58Y9Aee1+sBI6OCyVUSQpoqeVuOebrYEFs4X6ShyU18vBOEhgmLr8/XFVt\nrTlreNAeXIdth7+GxcowgF2ABzp4ynJ4mc6nfkEgDbRTOYxn/2e9IdrOWspk\nSlj/HLRdo0T+yx7txsOstuLmepYVmzxJKGbXjNBIYRuDsT8BG8n00mpZP/G6\n6BQG\r\n=SAvE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"880c9028cbb06054d1e0676a5caacd1b61a2f5bf","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.4.0","snyk":"^1.192.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.1","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.1.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"4.0.0","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^9.0.0","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.15","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.2.3","@semantic-release/github":"^5.4.2","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.0_1562569523977_0.06403251287874645","host":"s3://npm-registry-packages"}},"4.9.1":{"name":"@adobe/helix-cli","version":"4.9.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"b934840a4734fe2561adad27507f1f8af4e1a568","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.1.tgz","fileCount":81,"integrity":"sha512-tS+NkwsYBbdaHw+ETJBE5t2J98pf4EJ+UPJU4qYn0hMb1rnSvJ1IXMHeLMfFwzB/NRP96e9Q7sXCZJqJHDlQbg==","signatures":[{"sig":"MEUCIDLL2mrQW8CQh6bhlBhNB4LIvC2ye2UK9keTGgjhJyC2AiEAy3Ev+nogsnWql0DOBuNJclG4cgclw4AxP1ZKj9kkFQM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":413110,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJAe6CRA9TVsSAnZWagAA7SAQAJEU27xBSTRQI0QbsaBx\nNKD7BJnkAYaKUzCKwhxEb8OVtfToKlrw0AnzT0xDVJzNAiJhGj0Kt1aGsxpm\nsMC/1TgE986ARBc0a/KBFeJJMjPPEL0j7j5WoUNcTuffmu2haLWLCujS6+pw\nx7O61E3ho2aWuJvgGtACat7MCjsb4RGnWFgJIgtq76xrn4UK5bXHSFXgjqor\nB+Ezx/6XmrcjT6NLQ7j1ZioYWKdB+K81X4IdyFmrnnpnEJ/Cjl4yDFLVpSB0\nTKJsd3j+PXQWCai9H3VTCznvjPVr4Cheo8zcf0mLKC5o8I6Jc7bjYZWJ00kU\nydeQ9L+IvgnIOYcFnkbEnoClW0OpIeYnWHZO/kRk/CyA7rmJZNanXzvaFDyP\no67OipiJveRsDzb6zcfvzNriCYyGJjPceU3zloftzTsriyKmlvBq/RliHNu0\n8uW9TMuVd+n7drgvdqN6/3FFN6TctIPLRmRwMCv++FouRNpyAVPEou62VTIC\nFDEMPcIK7snRCt/67/ObAREC3YGVLyQiI69KpLPx3ZGjccj/R+jBB9LkR3/5\nPwEQRNrzpx2/IsR+tYSQkrjAPKgf/IhQzeJGIa1U30TYx3fzSIRlv/Ua8R7+\nkieyzhyIbM22cB9OEebXII6hDZda4HH0DSLXkPkgJ0viA09eIQaXFogrU8YQ\n1HOF\r\n=ti2L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"811ecf76208fc53ea5625b09f36039648fb47f9a","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.9.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"7.1.4","open":"6.4.0","snyk":"^1.192.3","uuid":"3.3.2","chalk":"2.4.2","yargs":"13.2.2","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.0","lodash":"4.17.11","semver":"^6.0.0","uri-js":"4.2.2","postcss":"^7.0.16","request":"2.87.0","shelljs":"0.8.2","webpack":"4.35.3","archiver":"3.0.0","chokidar":"^3.0.0","fs-extra":"8.1.0","progress":"2.0.1","camelcase":"^5.3.1","openwhisk":"3.19.0","sanitizer":"^0.1.3","mime-types":"2.1.24","source-map":"0.7.3","@babel/core":"^7.4.5","hyperscript":"^2.0.2","object-hash":"1.3.0","postcss-url":"^8.0.0","@parcel/logger":"1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"1.12.3","@adobe/htlengine":"3.2.0","@adobe/helix-shared":"1.5.1","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"4.0.0","@adobe/helix-simulator":"2.12.13","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"1.45.1","@adobe/fastly-native-promises":"^1.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"^15.0.0","mocha":"6.1.4","sinon":"7.3.2","eslint":"5.16.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^9.0.0","@pollyjs/core":"^2.4.0","semantic-release":"^15.13.12","eslint-plugin-react":"7.13.0","eslint-config-airbnb":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.17.3","mocha-junit-reporter":"1.23.0","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.15","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.4.0","eslint-plugin-jsx-a11y":"6.2.3","@semantic-release/github":"^5.4.2","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.4.0","@semantic-release/changelog":"^3.0.2"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.1_1562642361917_0.7532991048945394","host":"s3://npm-registry-packages"}},"4.9.2":{"name":"@adobe/helix-cli","version":"4.9.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9e3af79a62b2258215a957839910573eaef06a21","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.2.tgz","fileCount":81,"integrity":"sha512-YxIWrP57Tuoz10IYF4t1ebpX8Hf3/01r653fM5NqPLRfQcnbeDK9qBtMdsWY8CDk45xIAl/mNRIRqZpqtLUjRw==","signatures":[{"sig":"MEYCIQCSQA03VhF1P08X/uxLxynulT/gQeAKW2vIy4kbfHtDRwIhAJXVcatin4VasbmNDcLSkHJDBlS/NXnevjmvvGelOOdR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":413429,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKDJlCRA9TVsSAnZWagAA3w0QAJG99SBJVP0BabghgKQu\naWjhJjrjnNTEIv/6zc2c1wEao9Go3AmjjJAJ2VXvVS1im/ClSWCb4WKcCpgs\nGbIzHDfMQxu9vxb8gGt/QEvBLT3l9aCaZrxCVb/srLdP31iDFRVke22jPUea\n1ZWGvHgp0wsF4dKpIsdYYGHaOym7fR8n8XD/tnzGVSDEYaaliN4quGMKT8q2\n2rtN4LmftDICMznZ2PwiIvFSbsh+lba22rE8MAp2/16jJb08+pvoEWJgK7zq\n6r7cnaVSVzF4tPfy2kFFqu2yPdreKxaRuvsd+3PDIVmw4GMm7iMZ4khai41n\nH631vAI13ZgEe9Xh6LdxfIdtj5+EN592Qm0NqAr/k1Ii6Xr8K5aCA9egcL6w\nYR28vAaKemKy/blZZKfOZLHvyhiCdMxArxpn88B1td7GIyqmEJgY5ZDvT9vN\nnTSuEA+P0LIlk120eDv9wLL03fG7kD3NVEhZwBly6ohRB1pXBElS9M9KuWgx\nr+vdDYma5UHY6Mz8F2ndbTg8d455QGKNHK8w1CHA/+Vw9bQIce+X8nFh3Np8\nbiRzHFKaM59cF59gN6rJRSO0EGmHv8qcE0RSfTQXSkyFG9k9t2MAFw1bKTgn\nvgKd0J8UF9gVBiuU6566nDoxe8apbx/gmtycb+2FMmf60XnNxCbuctZ2hfbR\nTbsF\r\n=RUJL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"7842e1a587f57385ea5228891177f75ad9b6237b","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.10.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","snyk":"^1.193.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^13.2.4","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.2","lodash":"^4.17.14","semver":"^6.2.0","uri-js":"^4.2.2","postcss":"^7.0.17","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.35.3","archiver":"^3.0.0","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.4","hyperscript":"^2.0.2","object-hash":"^1.3.1","postcss-url":"^8.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.1","@adobe/helix-shared":"1.5.1","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"4.0.2","@adobe/helix-simulator":"2.12.14","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"^1.46.0","@adobe/fastly-native-promises":"^1.10.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","nock":"^10.0.6","jsdom":"^15.1.1","mocha":"^6.1.4","sinon":"^7.3.2","eslint":"^6.0.1","unzip2":"^0.2.5","codecov":"^3.5.0","js-yaml":"^3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^9.2.0","@pollyjs/core":"^2.5.0","semantic-release":"^15.13.19","eslint-plugin-react":"^7.14.2","eslint-config-airbnb":"^17.1.1","eslint-plugin-header":"^3.0.0","eslint-plugin-import":"^2.18.0","mocha-junit-reporter":"^1.23.0","mocha-parallel-tests":"^2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.16","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.5.0","eslint-plugin-jsx-a11y":"^6.2.3","@semantic-release/github":"^5.4.2","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.5.0","@semantic-release/changelog":"^3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.2_1562915428601_0.85767831862289","host":"s3://npm-registry-packages"}},"4.9.3":{"name":"@adobe/helix-cli","version":"4.9.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3d0443b3909b738c6f14af91193d145a8b9e0c85","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.3.tgz","fileCount":81,"integrity":"sha512-NF485zmr4s+RdWuBxmFhUc5cLw6Qpb6/0HHXminwse+GhWxN0pOsUJlu54+nwnlcd3nNDgLd3y4ulkqYsZnVRA==","signatures":[{"sig":"MEQCIAVb2yKN73YeATErixgC/3bX00NOuiq2djRWI/P05OlBAiAOKnGiJwJcPGWnGh4fg1cp9/Kgm/D0KraJAyhLgm7adg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":413901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLWZiCRA9TVsSAnZWagAAYZMP/j6O2q4wkvH2dhBvxoYV\nfBf4WYAnc3RZoEBJl2caJobGOAzrGBbVaPPpfR+LxNKxcPfI0Dy0m6hy8/O9\nOpoGfwg0JLEH+KyvXfer9AEvqHR0/VqVo4rMg38vgCOMc+7vbte5W8iCNMFS\nsCiaHdmJR8u1hnqoEPWFHt5FAd6+/yCldEFjcx/lpRsr7xmiUl5WCG0YEICl\n02W4SzkW3Ou56nyNQge6qyQknf3Y1viw/4p74c2WjdTDS8eDqk+at8x/OerX\nHQ+KcA9OHNLTRmiFUhfaekkCwatD6ApT22yymN48e5DupNRAYHuU7P1Koopg\nILssj+eZqWALlZ/TbuGKL0z4nCbw54YXxtzqMdrEcU3Wfll39mdOdBGEHPyH\nSRe5GhAHFXCWjvN2RXpXi+5UQofZ/HQDAdyv2nnOyZ321Sa0ElOF+vmlHeg8\nZVdGiI86PlM2v0UIA2FsdKd+g/BNt5MMZLlsbNo9Q70DOuigdva4tAn9cQvt\nChY4Fl2J80p+B7TXtsiScSCCaq/QQvgLaUv047SVAbx7hw1lRWI5FolD4rw1\nBMXimTCSjsJ3OZtni0fPzG/+97P86+qeRxSyBzEUtr05za7ce7qHF1cYr7vb\n5FTGdeJLG4m1TrWkohWl1Y7JKSlFYvCv+YIFZoASuFz/42Lcq4wFJGvAdsH4\nTCHS\r\n=MiC7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"3dcff980787a2e8830861847ba37af2c4aab5165","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.10.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","snyk":"^1.193.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^13.2.4","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.2","lodash":"^4.17.14","semver":"^6.2.0","uri-js":"^4.2.2","postcss":"^7.0.17","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.35.3","archiver":"^3.0.0","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.4","hyperscript":"^2.0.2","object-hash":"^1.3.1","postcss-url":"^8.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.1","@adobe/helix-shared":"1.5.1","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"4.0.2","@adobe/helix-simulator":"2.12.15","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"^1.46.0","@adobe/fastly-native-promises":"^1.10.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","nock":"^10.0.6","jsdom":"^15.1.1","mocha":"^6.1.4","sinon":"^7.3.2","eslint":"^6.0.1","unzip2":"^0.2.5","codecov":"^3.5.0","js-yaml":"^3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^9.2.0","@pollyjs/core":"^2.5.0","semantic-release":"^15.13.19","eslint-plugin-react":"^7.14.2","eslint-config-airbnb":"^17.1.1","eslint-plugin-header":"^3.0.0","eslint-plugin-import":"^2.18.0","mocha-junit-reporter":"^1.23.0","mocha-parallel-tests":"^2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.16","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.5.0","eslint-plugin-jsx-a11y":"^6.2.3","@semantic-release/github":"^5.4.2","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.5.0","@semantic-release/changelog":"^3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.3_1563256416994_0.4831533737154039","host":"s3://npm-registry-packages"}},"4.9.4":{"name":"@adobe/helix-cli","version":"4.9.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"26c24b71321547a5b887aa4bede2a215cb8dc79a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.4.tgz","fileCount":81,"integrity":"sha512-E3ngevLjI8vMpFry/XQ4YPtGAY2/RkwwJhgOZM4gwn9nzxq3zFwfmHs1En+/Bf+noXT51aS0Dn6gA4CLn3tyrA==","signatures":[{"sig":"MEYCIQDArha6R9ulK/vSIbZopC2ezOqwjyg1EsaiIbY4dXLDOQIhALXbey0+LVRe/p7XzH9c6jA8uJeJOgzsWGT4lJL4yoO4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":414125,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLXtBCRA9TVsSAnZWagAAt9YP/0vZZr3YpQTn+lieBpRo\nRSpxS/KiAOTr+y0cCVdbVk/BN2kqGAByPymEvr27HbD8v/JIo4/1iucsnnoZ\n1HOB/YCoFzcEL1Dr+kfUuBGhX93lYR0/sDC5d6UwZ0ykZhj7KG4/Pu5q/rwk\neu+YIdZjq0qwWmhJhOFo50/SFhSOSof8ZSDomwDIdc/16Phks7UOGlcgih6f\nElZPHWynPIPHJiB0U82aRnkGFQTR8LfyJerTLNyouACWM5Zion/rWqlkX7Tk\n2mdElm3VkuVu4ijF6elWHXZWOmRx/qWfdmaFnRWnJG5YxKU3Rx219zfuaBds\nqBBsXR0sD8If2nWSPytx0cWCYYZ0N0P+0q/MxnTqCzjqM5sNvbKUVZlj7XXS\nNPNtdY/8LgR4wjSnrBd3otMQ95Bqb4D70tKFLm5ptFtrALXC0S5Tv09M6xZ0\n6PH5+h3VHSReAJSqtEsDbjtcLWrA1VqU8nSelm765bbb/Lr6VcseLqkRFJLm\nbkEw6DV+nnMHFLibFl0FPniXNW8ps3EdWh6ZEWK8ShSGBFEnzv3/FuUoyPHi\nIrjUhRdILlfeO2A5ajukZD59jFMvl/Wt7Tq2kCe12uzOqMut7tBP5V/u0wKF\nqELUSad9EmpGwphTumZVkUlKL1rnORxzIxmeX5OYPmLX0YlaKyXlBJO0R9E4\np0jO\r\n=4QJq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"a2e9eda74ef6c6b60cc008d0e476fe7eb5a4c524","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.10.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","snyk":"^1.193.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^13.2.4","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.2","lodash":"^4.17.14","semver":"^6.2.0","uri-js":"^4.2.2","postcss":"^7.0.17","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.35.3","archiver":"^3.0.0","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.4","hyperscript":"^2.0.2","object-hash":"^1.3.1","postcss-url":"^8.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.1","@adobe/helix-shared":"2.0.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"4.0.2","@adobe/helix-simulator":"2.12.15","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"^1.46.0","@adobe/fastly-native-promises":"^1.10.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","nock":"^10.0.6","jsdom":"^15.1.1","mocha":"^6.1.4","sinon":"^7.3.2","eslint":"^6.0.1","unzip2":"^0.2.5","codecov":"^3.5.0","js-yaml":"^3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^9.2.0","@pollyjs/core":"^2.5.0","semantic-release":"^15.13.19","eslint-plugin-react":"^7.14.2","eslint-config-airbnb":"^17.1.1","eslint-plugin-header":"^3.0.0","eslint-plugin-import":"^2.18.0","mocha-junit-reporter":"^1.23.0","mocha-parallel-tests":"^2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.16","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.5.0","eslint-plugin-jsx-a11y":"^6.2.3","@semantic-release/github":"^5.4.2","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.5.0","@semantic-release/changelog":"^3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.4_1563261760484_0.010216068161811531","host":"s3://npm-registry-packages"}},"4.9.5":{"name":"@adobe/helix-cli","version":"4.9.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5ce6f264b9c681759c61c427502d0f4f2be42792","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.5.tgz","fileCount":81,"integrity":"sha512-B/OHxR+QBoSt1VfRLK/Ppvo+Iw3lCzfjy5fEKQvDhDxxTRxn0lweIRes+69OxRSLXYo6gxefSbBNVkIToTSvLQ==","signatures":[{"sig":"MEUCIF+Z4CcYVM+MBOJ4L0jWn+KSF/1YcBTVDzJ+N7u/b1S7AiEAgNloS7o1XPTwylY3G+EUZ475yDVgBTmtn66Ek+w+CsY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":414458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLj0oCRA9TVsSAnZWagAANeEP/14FAXzpb6hNjNCQIl7X\nYKU6AySoeQpWuZLWkBcZB+8mnqiRSyOZPuEjxw56SAsbVBXE+72vYQKvBDip\n5g4Xx10RvR7FroXzg473rRvOPmhkOTVMQoPRA6QnQY5U98GcWEnSJh3b0z7+\numPlsW74+r1wusUqSoNdgXf8A8A8w1B2QOQyJoJdAzYRilgvdSSNzMhAkLDs\nnUTpri9+l6fyH9iSWMJtISi4/iOHIriQrZBeEAjudcJhdsunoDJZZ9pIt847\nyx54AGfiw6UbTP1RzdrqEngNrFUxEUPv8Qus73L+s8KY7JwK+THhs/FlkDVc\n3LgKPZdhZD4IPMWSvWzUs0uo0yVLeK2fbrRpZ1sQL/R2xxngaDeBosdxFsxE\nB3/rbJmHvttbHzctOQFccS9Srh6Rgrk+RAcZqLEfKwaaOAFMMR7rGdWI88Ry\nIgTa0GFNDQAJfXLReK6d60MfW2/boipy1yEMTzyvEgZz82lDws1DiTQbax+S\n3XzpjoPdO5qQpgLNlyb8Y50exIXxe8nGhf34KuxjWpAV4rBOcXo5QKhdotjx\nOnU8lEOTYLOp+VxHypx+BbS9teSG0Fxp2+u7/tnV+ZWQHKiZfvR2IG5+rnRP\njp1P7uscZvcctgl6xetkctLjhpBLEXEUwk6SufqNxXlcjuB+xXK7AFBKBkAc\ns6fF\r\n=/6Ni\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"488ccd40cbac4709092f0e216c15394ce7c05957","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.10.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","snyk":"^1.193.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^13.2.4","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.2","lodash":"^4.17.14","semver":"^6.2.0","uri-js":"^4.2.2","postcss":"^7.0.17","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.35.3","archiver":"^3.0.0","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.4","hyperscript":"^2.0.2","object-hash":"^1.3.1","postcss-url":"^8.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.1","@adobe/helix-shared":"2.0.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"4.0.2","@adobe/helix-simulator":"2.12.16","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"^1.46.0","@adobe/fastly-native-promises":"^1.10.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","nock":"^10.0.6","jsdom":"^15.1.1","mocha":"^6.1.4","sinon":"^7.3.2","eslint":"^6.0.1","unzip2":"^0.2.5","codecov":"^3.5.0","js-yaml":"^3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^9.2.0","@pollyjs/core":"^2.5.0","semantic-release":"^15.13.19","eslint-plugin-react":"^7.14.2","eslint-config-airbnb":"^17.1.1","eslint-plugin-header":"^3.0.0","eslint-plugin-import":"^2.18.0","mocha-junit-reporter":"^1.23.0","mocha-parallel-tests":"^2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.16","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.5.0","eslint-plugin-jsx-a11y":"^6.2.3","@semantic-release/github":"^5.4.2","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.5.0","@semantic-release/changelog":"^3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.5_1563311399524_0.16120985936081","host":"s3://npm-registry-packages"}},"4.9.6":{"name":"@adobe/helix-cli","version":"4.9.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c5fe3758087e380f95ae8c55b7dd12d299bc89d2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.6.tgz","fileCount":81,"integrity":"sha512-JRoloawcrtEvqFpfcCnSXMix7sClJO+03Nkq+I9JBqObSXaeuA/G49gZJ34Iq4TMxue9nK+GGAEV0IVN/lrA0w==","signatures":[{"sig":"MEYCIQDDDKPVRV+gtPS2x0JR/0uQWM8eBAzoON6fra+X8WOZOQIhAIHCmMI2NFlHVpClZebGdWfQBeqhmzVYOcjLarEQYadw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":414687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLpDgCRA9TVsSAnZWagAA9TIP/jEGRznfniYuY8+o37WT\nDccuxh+Z0Y6CkFOLxcfZcEZQcVnZN8wJgiU6ndvA2Xc/x0pW69Jsnm8VFPaP\nMf07qFfr7/vyGIEDQqu9ICPB2dznnejS8xIXM1trDvjfjB4SjMf7XJFDPV9c\nuWe9yY6kxua45wyux5GGLZDvesxdxRGhYL7v0OxL09XQOWnWEKKgTQB0RKQd\nc250r/BeDvob6yfDCvg4blI7VmShy9z7cF9rCmi1TX1ezfv11h4epHT5IA7S\n7xU7b4+qgUwNFLei5yXNSw3XGJqte0SH5IDufy/XMjWCDGeVgEhjV5W1rLwe\nD7k0L9AsVJAaarJeTiQVj9UIx/sX2drkWRMv/CqUJ7NUKrg4rVAcAEGxbBb/\n9i7gy+ZTQrcK/MC1Ddnc/BULm8WA4k1iz5s2MHRo5BG929YLZsvgLQunykk2\n6Sr40/lbDZlefo90WRmY0N/IhQnsErr2iVpmYxsfC+8QLe1NSuy5eTkFs6LF\nZG6SlWJAHiSoopApkKZhbMz4uDT926Z1QRcFqjGQ//mq4t+v2X/a4a5H6KOh\n2XbZ0jhcgxbWLL2yo/ztFwCkCiAeZ2roLJ3TV7Oy61eWnrgCT/VQtNdH0xu5\nbYRkoQQnovATf27TjbcWbPTU5CSHG60JLgT2GlPPiggRPn37s34bM1XyoGLf\nHX+P\r\n=t0Ct\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"1c1b1befb21cc2c5703ffd91da306b0475106dc6","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.10.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","snyk":"^1.193.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^13.2.4","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.2","lodash":"^4.17.14","semver":"^6.2.0","uri-js":"^4.2.2","postcss":"^7.0.17","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.35.3","archiver":"^3.0.0","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.4","hyperscript":"^2.0.2","object-hash":"^1.3.1","postcss-url":"^8.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.1","@adobe/helix-shared":"2.0.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"4.0.2","@adobe/helix-simulator":"2.12.17","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"^1.46.0","@adobe/fastly-native-promises":"^1.10.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","nock":"^10.0.6","jsdom":"^15.1.1","mocha":"^6.1.4","sinon":"^7.3.2","eslint":"^6.0.1","unzip2":"^0.2.5","codecov":"^3.5.0","js-yaml":"^3.13.1","commitizen":"^3.0.7","proxyquire":"^2.1.0","lint-staged":"^9.2.0","@pollyjs/core":"^2.5.0","semantic-release":"^15.13.19","eslint-plugin-react":"^7.14.2","eslint-config-airbnb":"^17.1.1","eslint-plugin-header":"^3.0.0","eslint-plugin-import":"^2.18.0","mocha-junit-reporter":"^1.23.0","mocha-parallel-tests":"^2.2.1","@pollyjs/persister-fs":"^2.1.0","@semantic-release/git":"^7.0.16","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.5.0","eslint-plugin-jsx-a11y":"^6.2.3","@semantic-release/github":"^5.4.2","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.5.0","@semantic-release/changelog":"^3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.6_1563332831365_0.02417340090306852","host":"s3://npm-registry-packages"}},"4.9.7":{"name":"@adobe/helix-cli","version":"4.9.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"27906edc34766d55b339c4524b56b78beab2e51c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.7.tgz","fileCount":81,"integrity":"sha512-YzrktOQk7eyaf2w15i++WcZp7nfvFXhiNWBHIbGQuHGT/1GJqF+/741TGCUC8GK6nl/fngSeV3RmsK8EVfZ5Yw==","signatures":[{"sig":"MEUCIQC3iBOuI4HaYbgJeNkvA0K6zGwCDteMErJQA4WW6l0+qwIgVJWROHRaNltA0dSedHcMMnxcYiTlHJ8PBlJlxrxhxn0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":414951,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdL9zjCRA9TVsSAnZWagAADMYP/13nMPg9dPAGyXiWlYFF\nB2R+yomuRk3YD4gAAlyUIiv0RdihVjh38vQIpNUyHNNMEe6+3fHbnIQUkxZY\nUK/rixZgGqFb3wu9kK4dFAZgFWkg+6klhgBnGT1oF92FV84wWhmrNk9DeDNT\neJY2iSEelkIXaZwBro19/0UMkFea0Wru+xUBK46VbS2bfBFoftxmoDs/gAZd\nha3y4BBEV9zHJQUVg3hmBH18Ss9wWX3TS094N8GZ9GBlPC1I89k79QJaqyW4\nf4uuhGue688zrFEp8ZS0F2swGUhF4eAv/lh/akE+P+X4GwSHU/rveukXwDf9\nOHOtl0PNy0GaVbZZJW9163r0FCgxLH0BkDO6j/mlx3Yz8brNpebAeurZjVhS\nsC/zjp0YLmwfpYLk/fL2brMhN7CvfXE7ViWB4e6mNZgUssywhoTKt79Tn1Ym\nyqCGuK/6wtya+7RjYS3WHnx5W3k3jiPnFA8LiOOpSt3PtZ5PpXKO6ejFB1sE\nE29AlrUcWJ51rnXNaCx+U2yxlx9k5jMda2FLFAwlGkBW2D+Hz55WVwF6RgPW\n93zQMEEm671HfnsNdf7w9qTauOFFDbDkNP+DVf3n1i+UrXFRebrZYAAC0YhC\n+CoFi6ya7LVzgtPU2XoJ8G8iR7Bilrfm7N0aYWgYsUl/cgcfuyI2g3Rs7cnD\nGyFc\r\n=eMNe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"b726da83f092a3ee7bd376751ccd3e171e2aa561","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.10.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","snyk":"^1.193.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^13.2.4","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.2","lodash":"^4.17.14","semver":"^6.2.0","uri-js":"^4.2.2","postcss":"^7.0.17","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.36.0","archiver":"^3.0.0","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","postcss-url":"^8.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.1","@adobe/helix-shared":"2.0.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"4.0.5","@adobe/helix-simulator":"2.12.17","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"^1.46.0","@adobe/fastly-native-promises":"^1.10.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","nock":"^10.0.6","jsdom":"^15.1.1","mocha":"^6.1.4","sinon":"^7.3.2","eslint":"^6.0.1","unzip2":"^0.2.5","codecov":"^3.5.0","js-yaml":"^3.13.1","commitizen":"^3.1.2","proxyquire":"^2.1.0","lint-staged":"^9.2.0","@pollyjs/core":"^2.6.0","semantic-release":"^15.13.19","eslint-plugin-react":"^7.14.2","eslint-config-airbnb":"^17.1.1","eslint-plugin-header":"^3.0.0","eslint-plugin-import":"^2.18.0","mocha-junit-reporter":"^1.23.0","mocha-parallel-tests":"^2.2.1","@pollyjs/persister-fs":"^2.6.0","@semantic-release/git":"^7.0.16","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.6.0","eslint-plugin-jsx-a11y":"^6.2.3","@semantic-release/github":"^5.4.2","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.6.0","@semantic-release/changelog":"^3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.7_1563417826443_0.6576571831070837","host":"s3://npm-registry-packages"}},"4.9.8":{"name":"@adobe/helix-cli","version":"4.9.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2ca99ec13b60cf8aeec0962fa4781e9d32cc61ea","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.8.tgz","fileCount":81,"integrity":"sha512-I0Zu0ewJ8XaNyMN188GkQvE0W+z4Zqbn1ebFcqQBc5cq0lbWdN/Hf/B7/iuv/+h+47UI20BPwdGNj/yGWL3Nyg==","signatures":[{"sig":"MEYCIQC2W2T+QDPPYQ/Gb8HHtfPQYt/gopzLtv35D8lpC/Vi8wIhAP1pHSW82F4C6KTX/+TYeL+/TLooqEsNOdVR9qkom5fs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdL/3VCRA9TVsSAnZWagAAXdcP/RvONW9uahtUnx4+NlGG\nfYLuSM9IsxRrkb0OdDiQZQA5WGpcwU5US3p4EQPakaMeN1NtWx6bQflOtOVC\nmJmQ60WKgZK/A51ATQCiRkwrzDCJstg3crXfcsRoJSJtPAZetBa8EIKLf9JH\n/AtKksRPp14jAgJKbqm2B4OE9fuXr/9tLjQnURm3lnjc7R9SsmNq8Jm36pGt\n7m3bEFgpf4AfebkFa2RN6Nznmulg9XUs2Adxlhm7D4p0E1GaQcc1Q8/uMK9e\ny9z2adXJ98kQ0u0Oba3gDPxmKS3n6ux7m0YicKewM0I8WXCpxk1cY5/CIK7K\nmr9eh3JOwNFZiegKPYEebFFarBETRK0vB4pBXl1cU9+09Vfg6IlvMngasiHB\np0rAatPFaG9miegRXEawDN5g/MMdtUtl5xZCyG8BdmHaagI7TQEmyexQJomC\nc5OxAl834dfv3RZLxvVCi6bUIhd6cqy+e2kAjbhWAhuAw1jxbkFBRQg7bGIt\n0m+u1MrbulGTGFUBmMLiWrvzFRYgygy1zXAC/JQY9xz0MZ+FzkAiXikn0A4z\nBUK3XD4TmaFeIcUZ9oF0jybjqOyacTUvqRtsR6HCWUAOXlivYa9HlYKr7vK8\nfs12fx6PhKSFWes9go/hfTihk8nwCm82Y+kZ0Or35sJUdZYejysllK4AtQJz\nkHd3\r\n=Bwtm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"34bea0e5ae72718d673670cbabf19b25b499e04e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.10.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","snyk":"^1.193.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^13.2.4","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.2","lodash":"^4.17.14","semver":"^6.2.0","uri-js":"^4.2.2","postcss":"^7.0.17","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.36.0","archiver":"^3.0.0","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","postcss-url":"^8.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.1","@adobe/helix-shared":"2.0.0","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"4.0.5","@adobe/helix-simulator":"2.12.17","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"^1.46.0","@adobe/fastly-native-promises":"^1.10.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","nock":"^10.0.6","jsdom":"^15.1.1","mocha":"^6.1.4","sinon":"^7.3.2","eslint":"^6.0.1","unzip2":"^0.2.5","codecov":"^3.5.0","js-yaml":"^3.13.1","commitizen":"^3.1.2","proxyquire":"^2.1.0","lint-staged":"^9.2.0","@pollyjs/core":"^2.6.0","semantic-release":"^15.13.19","eslint-plugin-react":"^7.14.2","eslint-config-airbnb":"^17.1.1","eslint-plugin-header":"^3.0.0","eslint-plugin-import":"^2.18.0","mocha-junit-reporter":"^1.23.0","mocha-parallel-tests":"^2.2.1","@pollyjs/persister-fs":"^2.6.0","@semantic-release/git":"^7.0.16","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.6.0","eslint-plugin-jsx-a11y":"^6.2.3","@semantic-release/github":"^5.4.2","cz-conventional-changelog":"^2.1.0","@pollyjs/adapter-node-http":"^2.6.0","@semantic-release/changelog":"^3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.8_1563426260113_0.2724508179024079","host":"s3://npm-registry-packages"}},"4.9.9":{"name":"@adobe/helix-cli","version":"4.9.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.9","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2769fa2516e08acf5997c3ac916e85848663d540","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.9.tgz","fileCount":81,"integrity":"sha512-jw2h1Uf7GO9LXqmV2u+5vlA6XpDXPvqrCdVV+QFZ/QhdeffmlQ30trJW/AFf3mnYkR3RP88E2UkBWUxTGzLN3Q==","signatures":[{"sig":"MEQCIFMBQJZ5BVsf2TKq25zM9qZ2v7iwtF4SXi7vqnti5OCoAiBSzRpAnOOUWFfBKw60ZSc1snyBvzMfmnRtX5ECtv9XVQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415450,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOAWOCRA9TVsSAnZWagAAsEEP/1nBtzxwcOT5Dzea6DwL\nXaQilOiZ/7TdKICYSb4rww3D8xPj8ou02CgM3Sc81LGUiOWCpKpQv9m+pYz9\nol9ot26jJrrgHqTtTbYhvLJG3+2aocnJaebvM/IAtWCTOAUE/ep7rbXhVAUS\nILrydsGan8iepiTMc9+x9VtnAYuJ3r4Erta2jri7AQ6UDWSmyEUhplLqWb8Q\nLqQ8DjU0Qo5qYf1XC4q4FAyeOs9u+iSNsk33Ry5zcdszvMoHaGLAWRrbgZeP\nXIGQOmtXhWZ6+fNzlRoxEW7KBymQ73zBqa4a8ee+AFQBrwIPJbOBmR+2q9EW\nYi63BcF4+tx93hMEN0VAv9DV2LC7FkWJClUwH02lKttsGuBuvsxcEE4cfb9i\nawqERNsk7274c2pAoqdV5sY5Nc48ZGuIkKr/GzqFBlZUL+RSpFfXR4eaDGkS\n7llevhg/SnHdXeFbvbsfP8oidN3aDXDpJZzPBxFdLhtZJRoPrW5Si6DhSHe0\n4AsUJz0/TmFVo8xwqR9oYevGu182Quo3gqbNM7xqY6ekPwiKPzekQjJRRc04\nG2aQyMVsLvFdCR3k7qF36q0G/hnqKR7vMpa5fZTSfH4zynPQhgKYvSbfkYgQ\neni3lbR3tbWOAYv1IbgZd7L0XbjqFshjjb6Cc7sDCeOvdqDFnpcibcU9A0Sz\nrcdg\r\n=HRnK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"94a0637ac9a012210a8aab1a6433ea68f206c476","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.10.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","snyk":"^1.195.1","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^13.2.4","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.2","lodash":"^4.17.15","semver":"^6.2.0","uri-js":"^4.2.2","postcss":"^7.0.17","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.36.0","archiver":"^3.0.3","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","postcss-url":"^8.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.1","@adobe/helix-shared":"2.1.1","junit-report-builder":"1.3.1","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"4.0.5","@adobe/helix-simulator":"2.12.18","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"^1.46.0","@adobe/fastly-native-promises":"^1.10.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","nock":"^10.0.6","jsdom":"^15.1.1","mocha":"^6.2.0","sinon":"^7.3.2","eslint":"^6.1.0","unzip2":"^0.2.5","codecov":"^3.5.0","js-yaml":"^3.13.1","commitizen":"^4.0.1","proxyquire":"^2.1.0","lint-staged":"^9.2.0","@pollyjs/core":"^2.6.0","semantic-release":"^15.13.19","eslint-plugin-react":"^7.14.2","eslint-config-airbnb":"^17.1.1","eslint-plugin-header":"^3.0.0","eslint-plugin-import":"^2.18.2","mocha-junit-reporter":"^1.23.0","mocha-parallel-tests":"^2.2.1","@pollyjs/persister-fs":"^2.6.0","@semantic-release/git":"^7.0.16","@adobe/helix-testutils":"^0.2.0","@pollyjs/adapter-fetch":"^2.6.0","eslint-plugin-jsx-a11y":"^6.2.3","@semantic-release/github":"^5.4.2","cz-conventional-changelog":"^3.0.2","@pollyjs/adapter-node-http":"^2.6.0","@semantic-release/changelog":"^3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.9_1563952525769_0.16414401840871173","host":"s3://npm-registry-packages"}},"4.9.10":{"name":"@adobe/helix-cli","version":"4.9.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.10","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"d2a359bef8768189f4dcf5f9795fc68eb034f467","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.10.tgz","fileCount":81,"integrity":"sha512-Eh5RRu65k93VDiirGd/c1WwIslIE+yJfK33TcRlcSjlEktgGRNJNYJmKBPqYnAH+51/rfjfX0NuQk3zzfGSK8w==","signatures":[{"sig":"MEUCIGwiD4j0rHwmeZjBCx7cmMB62sWXFMDaserEGSHjnWjkAiEAnnzYWVGz2ByD+OSvSYXiz3M5ksRRzr5IerMe2J3XKJY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415984,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdPn3rCRA9TVsSAnZWagAAyO4QAKKbwYEvJRfjcqt3qNfF\nAFVAkVqMh4DhUe/7aLhihPlcgPmgZE4vpQl54T7AxbkTtIWBRcinevsMpLSY\nDm1iBi7kmtSEzEk4D1XIOaMfRufoRl3o8Es0ymizi8Cm5VtXuJIcn7G4NS6l\noiLzbmVUJs+G/ptS0mvO4X4OFXDOcqYrm80apYsll4FFzMXAe6C1XFH5t83o\nVI9U1vrkvaAa25DEdefsIBG61Tx4P1IShd2FoexDLfVbxse8gA5jOxbdynDP\npj1zROnkbVF43gTnYEAobDm0DeBHobi/jflpe8yJUAsjfN7UWfdco2qPaXw2\nk9P6v8Mud4NiQKd3g773stOAQwUxbL8S9N4Lf36PwPEkMtCC7WPs6cET7xhP\nIq9OGJ4jHeIUnHj4pn62MDVRat5+qv21FRlR6wK6RkeCV9QDJo95pvNF0DV8\n9RGKR7yof9t8HQCOnoqyYKG7sdu6r0A/v2l7o1tfpJz9Suw2HLNAxstnCpNO\ndFMEm3WyEHmZS54EjrqH9rG3JULCreqagDuEEl8dQZsUcpICkJmjjnzXT49m\nSggGLblTf/B8O01qq/roWqhnq92fxUk4NpDaVuXLTjkylkQY1WS+9mjokq9V\n5GpCFj+ywD0MGuxP1EuEVb3McBqdGmnkOVH39ntNHAMyiF40E+id9OfRM7Tf\ndMzE\r\n=pt19\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","snyk":true,"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"cd3530a4a3436219ac8d34a3ec556a486a249406","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","prepare":"npm run snyk-protect","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","snyk-protect":"snyk protect","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base"],"schedule":"at 07:00 pm on Monday","timezone":"Europe/Zurich","packageRules":[{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.10.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","snyk":"^1.195.1","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^13.2.4","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.2","lodash":"^4.17.15","semver":"^6.2.0","uri-js":"^4.2.2","postcss":"^7.0.17","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.36.0","archiver":"^3.0.3","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","postcss-url":"^8.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.1","@adobe/helix-shared":"2.1.1","junit-report-builder":"1.3.2","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"4.0.5","@adobe/helix-simulator":"2.12.18","request-promise-native":"1.0.7","@snyk/nodejs-runtime-agent":"^1.46.0","@adobe/fastly-native-promises":"^1.10.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"15.1.1","mocha":"6.2.0","sinon":"7.3.2","eslint":"6.1.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.1","lint-staged":"9.2.1","@pollyjs/core":"2.6.0","semantic-release":"15.13.19","eslint-plugin-react":"7.14.3","eslint-config-airbnb":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"2.6.0","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.0","eslint-plugin-jsx-a11y":"6.2.3","@semantic-release/github":"5.4.2","cz-conventional-changelog":"3.0.2","@pollyjs/adapter-node-http":"2.6.0","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.10_1564376554665_0.3142208775139983","host":"s3://npm-registry-packages"}},"4.9.11":{"name":"@adobe/helix-cli","version":"4.9.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.11","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"cc8e30f83fa8faa62f0dcb20b6eda8c9619df889","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.11.tgz","fileCount":81,"integrity":"sha512-QjprTK6MpYIkaj61mQV9xE9ue1Paj7ExqVriNakcye3CgLzMFqcsuDfNf6f0eplg80B/VSgS7OSPXz4YGwW8hw==","signatures":[{"sig":"MEUCIQDZeXcDqBzdX7W34tY7nm0/AhrP8p8Gc7EXaVidni23GAIgPC/glEI8kWlGj+L1dO5dM21g0M+SiChqerCPEFxHJlI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":416134,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdTG2XCRA9TVsSAnZWagAAEQ4QAIrgPy3yL1LU9x0IK6zY\nCT1jRdbZXA+qm6hDcMnAi4q+MS6Mah/mqfZqCKnfAfudh/h5GM9YHYtgNmT4\nrslT0K1kYMidhv8F8q/0o7yuV1v5h8xGRePj7Mh3gVFMIRdAT/wUspCNKdoQ\n/Ew/zpGxnrlNNxbRsCfm0o3+Zfb5zFrgmuM9pd51HlBGFUj6VIomGtl+Pkmx\nKWkhlQqYzBWEHoklrCxKBySQlXIKrbvj/lZQ9je4gt1WD5um4W0T7oj+NOg2\nOVtC9tzhsBAJ3kgIOMQDT8nLPn3HquL93Aqd+TnwjF0pfLjAkOHv7SDLGlMo\niKVBniilzBD0XlTzIFHCktczWGO69Xr388ffmembY3HGwa6aVTF6P95YzTSo\n3qXpazgpm0mUrHTChyDvL4dl64W8MctlRHaWq41mdQYta/pn1I6bidhpC8di\nx+cNwZwH2/cGJ2sZ4qHtOEjUtDzJrvhyjP7Ml+RCWSuMoaJVecFMLEo2PSDQ\n4jA0g1f6oxOp1XpWvevyBWAVBuoDP3O/3Vr/IDeiq4G6BSAuoSTRnb8SsYxh\nvZsi8i4MwPN4FF2fq3NN++2uK9okBcbeCCf5bQL4640O2Lzz1a9XI1GGfjq5\nMRREuMXjADVZwXqaDukrYomwk05YJeRlclhVmTufZLwXucCBM2xRgWdS3skC\n2Qcf\r\n=RcZE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"89680659965a8e8bb9b0f6f6088d022e0f08aef6","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base"],"schedule":"at 07:00 pm on Monday","timezone":"Europe/Zurich","packageRules":[{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.10.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^13.2.4","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.2","lodash":"^4.17.15","semver":"^6.2.0","uri-js":"^4.2.2","postcss":"^7.0.17","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.36.0","archiver":"^3.0.3","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","postcss-url":"^8.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.1","@adobe/helix-shared":"2.1.1","junit-report-builder":"1.3.3","postcss-value-parser":"^4.0.0","@adobe/helix-pipeline":"4.1.0","@adobe/helix-simulator":"2.12.19","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.10.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"15.1.1","mocha":"6.2.0","sinon":"7.4.1","eslint":"6.1.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.1","lint-staged":"9.2.1","@pollyjs/core":"2.6.2","semantic-release":"15.13.19","eslint-plugin-react":"7.14.3","eslint-config-airbnb":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","eslint-plugin-jsx-a11y":"6.2.3","@semantic-release/github":"5.4.2","cz-conventional-changelog":"3.0.2","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.11_1565289878215_0.9622978126732378","host":"s3://npm-registry-packages"}},"4.9.12":{"name":"@adobe/helix-cli","version":"4.9.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.12","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"59c1d4d07d2b1ce3c632c707a3f34033a4ec9098","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.12.tgz","fileCount":82,"integrity":"sha512-59I0q8mvQhMLzsZ5241t/xrkfVt88zFMnaoKABYRsF0AAD8KNrhuPMuGR1/Jt5y0Bc7/6rXL4dA5OHvcP5Whpg==","signatures":[{"sig":"MEUCIAUsdM5dnv3sEfdNj246DlmFs0l2aAwG18hzbtWvL8fMAiEAskVuIoPAALWnHhpK3lL3HWEv+l2MZ3aJP7diz7fNcr0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":417398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVQo/CRA9TVsSAnZWagAAgjAP/Rq+9jcv3FhhMYEwg0Sw\niLpOv8jn3TjF304y3DdC0CA+LRLJcJKcpSbRQmEZnmNo4UGuZSIoxTNVcfmn\n+k7+8mq5ahpfx8MMIhdW9+lI/B1Ey4ruxg5uNOi6gUVcHhHAEQVVcrTNwTlO\nAIAIQQ/uvqbtQ0yHKQNIUrc7LMep7aG+Co8nhbkDT+wjkbOkYT+YYVZPBxTu\nENr3nFV/R3/H6DYx4H/5ZrM7raN6GEut/sGNByB/5dHioVoXd5JSA9maeayk\nS7YJbMvhdUatCSc45DKjXeEIM0Br07iDPg25QfKqtGYv0AiIMr9hcE7S+Tqo\nQPLU6396Ncsj48DgrNeZ10CSTVGfKLHr9QMdlKc5Q9376r+u91rRTqvO5OYK\nFq0TldBBZKABRPOzZCp30rI3nbVU4npkMgW7ooD0MvjQhT1hxoa6yBEWXRf8\nArWKTtyeRy6pCVtZb1ph6UT2LsUwljm7/ZbHN7H0ZKBOvuTKyDnUYlXkqT/X\nOJ14eeebrRwJ3NGKL8xLnvLaTL++P6SHNCEOtGxT7f4G14NTwqxRHUPDrFXm\nYQ7fqlo0KMKALCVqWK57u57K2x4GlDWUXmUKntrTV52YjhAbxl3DTJkz8AsG\nqK8htrzj8v35jQKEcMBrMyqo+1Q84H6gEBJfoOKX2b0KyNQmT/WR7Q7ZZO0G\ny+k1\r\n=Dsq0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"bb64a58919066d1fd5c78d19abc38d62cd0a5bfb","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base"],"schedule":"at 07:00 pm on Monday","timezone":"Europe/Zurich","packageRules":[{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.10.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^13.2.4","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.2","lodash":"^4.17.15","semver":"^6.2.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.36.0","archiver":"^3.0.3","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.1","@adobe/helix-shared":"2.1.1","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"4.1.0","@adobe/helix-simulator":"2.12.20","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.10.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"15.1.1","mocha":"6.2.0","sinon":"7.4.1","eslint":"6.1.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.2","lint-staged":"9.2.1","@pollyjs/core":"2.6.2","semantic-release":"15.13.19","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","@semantic-release/github":"5.4.2","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"^1.0.0","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.12_1565854270248_0.9827803049281267","host":"s3://npm-registry-packages"}},"4.9.13":{"name":"@adobe/helix-cli","version":"4.9.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.13","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6f1ad79d2109ce3cc473b8f197f8ff67c866e833","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.13.tgz","fileCount":82,"integrity":"sha512-4GsPce0rTx3mjaR+kfzmjBk4cNurOltuc0ruZwD0/4thFDJ/tqYYl73LZphYLJDlFXzOLX7Jo1q+wMkl+ZifYA==","signatures":[{"sig":"MEUCIA3NDBACUk8r1NyUc4fWyQSLOjiTy2FhVmFh+LN5owFfAiEA9Qbctw1SnYN4E/URwCz5+EGNjYhyVjPhKsVskwPPndg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":417678,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVwS7CRA9TVsSAnZWagAAiAUQAKMMwzY3sk5K0fvfY/kA\n4WGqhp5C/5I1zMckJOxKt604L6lWa1FEhhovcsP+jUUuxjqTXEtPk38zQFll\n2sY1KxR6oekp5rw6SUyhwIB9RvT/3/98/Y4uIMxsJDVZI+UX1b7gfXuVCh6S\nPTymkpzPyX8lsCBuIQ0ypH0M8CSoNVUMXShg3VlSTTetZjYO8tNP8c3bJNr8\nbcB8zz+W96ph/B0zWKDBXFE/4jNgzA6n4IuCNPbQLlZakGawDsyLepUnFI6o\n/sgct5z3+1VFjLEECHL4IGjrpnBKVsHNvfQD8iAtWdoIcextlDxfW1ZceOUl\njYbqu7+PyW7/tOvzrYEJo+8lq5O88CiQ41sUlc6AFZ3TCtAE++4+5dmrSBob\nK4xPJpmnUM4WGvYpjr0Dyrf1e20rT3w0g82fyZ/bFqGnEUt8LEHq1PavbCwi\nFwJAq86YW/kGDVLkwXEgYbNB1cNEYaM+mHoKQknfLB7FhFqgwfvxXB+FI+3O\nJfDmW0KVr/vxvaaz2tPZSbTthZoBLYcr55X3EClKBqOWNDcwMP6qx7SVupAV\nmbXMJt090wURpXr1SBsmVEMlK5Hhbm6G2mHKIklOZ22B1sBYtUn0kTnzhNSQ\n31zRj32JEaCWuMXCCuR8E2QvqZFKqx/uUQxd69eLcCp53XSbdpVoRXtzHDDK\n6+m7\r\n=HQsh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"f3e6b6d1eece872bb0d1633f30796128a3fe4bf7","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base"],"schedule":"at 07:00 pm on Monday","timezone":"Europe/Zurich","packageRules":[{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.10.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^13.2.4","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"2.1.1","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"4.1.0","@adobe/helix-simulator":"2.12.20","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.11.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"15.1.1","mocha":"6.2.0","sinon":"7.4.1","eslint":"6.1.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.2","lint-staged":"9.2.1","@pollyjs/core":"2.6.2","semantic-release":"15.13.19","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","@semantic-release/github":"5.4.2","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"^1.0.0","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.13_1565983930498_0.6264329738673475","host":"s3://npm-registry-packages"}},"4.9.14":{"name":"@adobe/helix-cli","version":"4.9.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.9.14","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"277edf12488979593e72306afba9b5c2b14a42ca","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.9.14.tgz","fileCount":82,"integrity":"sha512-oAvjznw/Ch2KhJLYe1Ap9Rk9b/y4kCsTagUa6r0LBvn39fRYIU8nQLVx+bP6Pe/G6fIcDiUf4rUpyccfvAteBw==","signatures":[{"sig":"MEQCIEEwS52TYc+JM3667Z8BEKyu0SFFgU3m1C1sY/MgfsXdAiBS3rt3ACcz3aO5j5Jfv9aQd9qXeCtLwdvBkpA9jXfqqA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXAn/CRA9TVsSAnZWagAAahEP/3yPuglgKZNavR8tWo0b\n+PW6PwEtqdTpHKeoIop4natPSeQd07GkG5BZJ9f0/iUQDZ0SGpZa5SPv3Wgs\nCFMrtCcfBKi+ICz/HZdyyx9xQYRmA8tOVgxZrlpUazek5NhiIGPen/bBkqQD\ngbBD2uCiRDEwjy6BIUO66JkAIi9WBnzxCQlcIgYA5/n+YIpASlWTSF1E4tUu\n5bitGPWnSKzMSMlt1SOVpm0Z8hh4k6PlWHRkc6ft0PHhUP+9bF7oAkIhNVOz\nIpLhEITnetFBWWUQ898w1H2t0e/24iS96d4Rd1Bfn1Cd5bcpeSgytdQCL6gb\nC7SfBfxIg+pMHLSQxFOk9wcwtP205aybTBZXsMt2kZVq2I6K9ZQ22WRdWuJ3\n+2p6wWarsdKSzBk/Nae8/2nn3iKS2cU6+S1SPN/Wi8u2XhLblO8E5Ir8iG55\nrHVzX2X5DH/ViVWgaDqGOHeJsi0sJtaplasbWI9GxoE2uE5JjNU2B1RXN42D\nW7N6jxZp8gVcXiv31FUBnkFsCg2qQwSn9B53nlfsLDdOqH4ezpuAhc9Ba/CD\nwBz1TUeDN+7CS+1TH/MHg1FPWEXsaqumS6SczmqdSn3cYwjdIWrJUjOcXtPE\nApU328g7mrXLzTLi2G6LCutF/zUQS952vhylbP9FYPVcYukv6KKg12TIXXq8\ndeb5\r\n=r1q+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"c24ae70483500017b902ee55e058ebfcff1095cb","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base"],"schedule":"at 07:00 pm on Monday","timezone":"Europe/Zurich","packageRules":[{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.10.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^13.2.4","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"2.1.1","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"4.1.0","@adobe/helix-simulator":"2.12.20","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"15.1.1","mocha":"6.2.0","sinon":"7.4.1","eslint":"6.1.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.2","lint-staged":"9.2.1","@pollyjs/core":"2.6.2","semantic-release":"15.13.19","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","@semantic-release/github":"5.4.2","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.0.0","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.9.14_1566312958215_0.9792595766938681","host":"s3://npm-registry-packages"}},"4.10.0":{"name":"@adobe/helix-cli","version":"4.10.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@4.10.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4ee0fbdcc39129500b2451a56adeb4a9d4e6c237","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-4.10.0.tgz","fileCount":82,"integrity":"sha512-XA8CHo1e+n7ln6/bmqaCIwJmMJ+FFTHAVgH0Z6D/CjcXaijdJai+lTycaxWdRqGIzT9YMm/NsXMmhIKDXfWgFw==","signatures":[{"sig":"MEUCIEwITgMt+BnkEJQniYCnuVrw34yEbFPWLT6WzDmBxZlnAiEA6rdfy4JfyRehAxa48YpTw9icaH7yLmCGeG++dGrkni8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418363,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXOmYCRA9TVsSAnZWagAAA6YP/3fuQYZzXsm9idZXsEsm\ngecV+FAqQHK1R5/oInQgohi+UjBSlZ+pNSZV25/E5I0KaEI6kZ0YBM5SBCkT\nkMRS8xnHXcwKRu6mtEevGO4LbB92Yq/On3x2usJpHYur87mmHV2vgZIB0D8N\n9kDPRMS6V8HIySOElVljrF0VykBY/9NPERvqTBZPXZhmcwqOvuYyGk/4Qoz1\n6uIRcOLCR8zJk4FCg+hQMSmKPzML1Xp7JB1GOoBBr+IoFB8PQMT1dWyyualD\n0hXAe5/0xxuwq6LTMFl33GERSwVjXpDwsXuC/5zovt0rc8WVJqtxLvuBFCBm\nGDKUO3yFY075JVssWGCuDv3s91jtZEFbGhT1hzgbk+eD9FGf53XtiYqqfIMg\npLvHbiFWaq2wiv59P3Cw2hJfPTWK2UhqWmAbZJ5MnK/HCNcQj+XALkMZHxTc\nlb4ltzXYjxJIVGzQa2G0tTFv9LUq+Rc0MIBopzb//NRt6KetAUegoERPcP+h\nLLk7JSjjbKtpGdDkRu+HZlHUyCbftCFE8ejb2h64WAyRQF3L4Bsq1Dqpp7Gt\nJl87iFo06niX80dEpVFoql9vEWSJUCfPy4na2vt2/J5pwY7flf7ELkTujorQ\nmbAF4yYb4jtUE6PtY7X6xiIXuMd2C8DlXSlZ/utXwqWpeFHoiAnymZ6sLhAJ\nntVK\r\n=cO/J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"07ba48b0b9f8fdaf92c8eed7e7ada047f15676e3","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base"],"schedule":"at 07:00 pm on Monday","timezone":"Europe/Zurich","packageRules":[{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.10.3","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^13.2.4","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"2.1.1","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"4.1.0","@adobe/helix-simulator":"2.12.20","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"15.1.1","mocha":"6.2.0","sinon":"7.4.1","eslint":"6.2.1","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.2.3","@pollyjs/core":"2.6.2","semantic-release":"15.13.21","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","@semantic-release/github":"5.4.2","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.0.0","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_4.10.0_1566370199111_0.5760133195811994","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"@adobe/helix-cli","version":"5.0.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.0.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"08f60b9304b81bbd5b537fc7be6ba8b10d7ee9d8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.0.0.tgz","fileCount":82,"integrity":"sha512-m5tyQROsKpnWAE4SSRUHE+mp4aQBJk3vMHnHQxKwN8cNx7y4NVedN1bbb24ys0QuFp6sxcjsYU8CUeuodNyCCA==","signatures":[{"sig":"MEUCIQDoEAAHeXKp/+eJ23TnRFPAHhhnSA1ilJ5AwJXcSrKoigIgcIamwT5HgiwcPyI9pSKrgRj9i3cjb1bj90/Hb+1AJd4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418866,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZDwXCRA9TVsSAnZWagAAr/cP+wcAVKT9JE8n2mWIrvRz\nVpcA8jv8jkh24zcb5v+aBqn/I1LNrgP0buggkyEFbts4794NY6dugcAgz+CJ\n1rbVtcmpwIme5zMohQGQtxqU8SSvfOXGYEkKqhsqQBCZMfGgBrJGPlF1+PXQ\n8NZPY+VVkP8eT/bZwAH3qsrUNHPtncPwIJ1Obq0KExBCWO9qCkjZMCH3QL6n\n/4/dLPq7tIK2sy0Y+Pxh6mcaCC7UgqCTX7qAwaNpz828ocIiB3izoRVUk7y9\npmQzGpTAD2KafWQz2HVjXxlUWOdD2h2gcNje3vUls3VUoA/NYm0/MiiK6tAx\n5+M7l3VXAtWTtRjSxtkSqfxbU0ZpyvRL170Kv42ZQVnYfiYLFNZr4Jo6bCeB\nerKN40L5YYejRyEGdxQC6ASPXxFNfZCafCatARnqD1aVchta51sbgdmxKKQh\nqhAROHTGqVr1fvgbFJh6p2L2+T1jCdBIRHOu0G7qoBzJzQlLkMHE4neTwdoH\nFJnfQnrD1+S3oaz4FeQWK7OM432AqDvLlNTWxRf1+R22yR3sx9h7cXeYvEDL\nXvojjmjKKdr/RxKsqDkJSJzQ5hZpJG6QjAJ1MyZ/CvfeeLua6/5ApSxofvfw\nbe7h7aQ9Nrr7pYpj6mGEN7c8mz+3V3wp/rGwZLuLJPBiryus/YINjeyX9FZB\nhVEI\r\n=gD+Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"2b306956f1f43787e00ee52dd2ff8c4f1ed897e8","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base"],"schedule":"at 07:00 pm on Monday","timezone":"Europe/Zurich","packageRules":[{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"2.1.1","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.0.0","@adobe/helix-simulator":"2.12.20","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"15.1.1","mocha":"6.2.0","sinon":"7.4.1","eslint":"6.2.2","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.2.4","@pollyjs/core":"2.6.2","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","@semantic-release/github":"5.4.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.0.0","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.0.0_1566850070224_0.9904153086778287","host":"s3://npm-registry-packages"}},"5.0.1":{"name":"@adobe/helix-cli","version":"5.0.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.0.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"22fd1fb2efc625b0cd37958747e45132427588f0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.0.1.tgz","fileCount":82,"integrity":"sha512-QNa51106nNBbFBpJHFH64IAlpnFo1FHR1XLiH90VD+5RpitqDMkSOLtuJhTRmJgaxZBfvlxm7zyBNPmeD32B9Q==","signatures":[{"sig":"MEQCIFL0bPFOEX1xExULJMAwq5FfWOUrNbSjyaEiLLsuQJyxAiAVNSpDypEW7wn8mBDCh+g91IDJip67web8vPunJco0Cg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":419053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZPwfCRA9TVsSAnZWagAAtQ8QAIAQmqbwVqwxMQ4eOSo4\npq6u5pb4M0/obJhatq2vRtbsIzADRG8Usu0xW6BGrsqUXvb2jFSE/CFD//kT\neyYgmdExjJZMORq9Or1C28qpSmTusjCZVdPwGNDiVyK620q47jOGn0/u7IP6\niy+j6fMAwTqcBTDiyLjCh+WaAZUUwQR+uQzhahW0/DiTXIDAdZ755UDxXX5p\nDlfJrBgbHNWIJhbd2vh7wWxbNEa3hNQg4WCws5ECpZqfSuAGL6AX0YygbwBW\nMuAlBHh20sbKvz8gGz0OmmnosjT5WyR1sLen9W8nlO3yKdFTaKcfxLq3/Fpw\nUuWnlDyLinxLKx3gtN8tGK6bOAflKrgSVk3ytH8Xb/b8yeEUYtEUR9+AYeub\nkwufVMF+iX5iacj/08/EcFZZNOqTQzMorEMU3dixHHODtJn0eDiVbMcD7LnS\nOwhZfc7sEw1TDNL/Ze6e25AuvDE8tQcfztxnnkyQJEvgawe1KTII/GIb3C0P\n1quTxticzoQwO+4zzXut5sKeunQrrES4UsHq6MyFBdGEBSaTt46pPK2lSbmf\nrMGuHaaMhZSU6FIuqB3ubuUGvqbIWWJiUMU4S3YT9L6yl3fcbZdW2kNdQsTM\n3SnNvW5dlkNUU2FOPjS/b9Z9PLQlIQOatA8RUXzpcYelngMpb+p+Exs9UduF\n6CNy\r\n=XurL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"2105c7894bfccb0b76c8b8d2f07bff39a6cdc2e2","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base"],"schedule":"at 07:00 pm on Monday","timezone":"Europe/Zurich","packageRules":[{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"2.1.1","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.0.0","@adobe/helix-simulator":"2.13.1","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"15.1.1","mocha":"6.2.0","sinon":"7.4.1","eslint":"6.2.2","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.2.5","@pollyjs/core":"2.6.2","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.1","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","@semantic-release/github":"5.4.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.0.0","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.0.1_1566899230309_0.26417527928582474","host":"s3://npm-registry-packages"}},"5.0.2":{"name":"@adobe/helix-cli","version":"5.0.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.0.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"2406dae1691edd67413432862fc02f027ab851db","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.0.2.tgz","fileCount":83,"integrity":"sha512-q2maj4h9vf5nQtV04G0nf4p4evkiko8LeRGJgbxlPtQCdspRIKOzPvm9CLZaHIGYqNRTh1j6WOAkGoNEdpPoyA==","signatures":[{"sig":"MEUCIHdoPAElK2q0k7nbVCvXMIPuvGiOQddcCBRzsVyh/sheAiEAgANOuCpBQ9Hl5s8ssevjD5StHEIAGVrq/40EASrukGM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":421469,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdb02jCRA9TVsSAnZWagAAiGwQAKAG2nJ/0BTbC5eDujHd\nuJmoiXDTJWpINy4h1TjqitaMo9CJBx0hEKdufQEkteD6nhRlP1OcKtNF9Vis\n/0YArHkvne1mkcepH+7UptPcoKEMuINcqY2qiIvnbeXeylflYIHJY/0GPcAj\nJBjdhOmxLRSX0PW9xzAoisLEncGq+lIWQLy+Zrytzgro+LoVOR8xkO2lFfr3\nZ88EAgk1kTJucq+1Sag9oTu3Nw6DIul3hTVzk7eDIq0qwL9aiZQyRR13chzm\ntzi83VaWujuTRATJ1Znegcbiue+0wnery8GdB4RmF71ZBCEZPI02wOKmJN7U\nRUHVGJHVNMd2OLQpLLW63ZIv5aC56x3m6nOPM+SLUH/npY9lPAg+swzR6BdN\nlpGN3bMYgTOhpGeCUnJWckKCjRjpwdlrLRJ2GL3+1w97klQTMaoNmN6wqFBY\nulBzBB71r9R0pRGmbYBXjMYeRvlOdSba7ROEnth+BW8zWxh2PkdrEZOHsIwJ\nXTkQBpBnFnvYkBhkIqu9lpto94NPLhZQ7wq8WiA7KUAHWjebKFYC1q9LOC1o\nHt9Si1R3svBbLGZiIo/mQRB9JBIqgfNIuEVBxNFOXqufIqbQzl8a0g651sTR\npPrph97mE+AgWpDsssBajpKs5FUrVF5Tlob78q50LkqrkWkgmwTuxqQYoKba\n1BZc\r\n=KhVx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"3d0c4e2cf121de891dfce042401be17128667921","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"2.2.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.1.0","@adobe/helix-simulator":"2.13.2","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"10.0.6","jsdom":"15.1.1","mocha":"6.2.0","sinon":"7.4.1","eslint":"6.3.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.2.5","@pollyjs/core":"2.6.2","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","@semantic-release/github":"5.4.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.0.1","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.0.2_1567575458917_0.6071330302435263","host":"s3://npm-registry-packages"}},"5.1.0":{"name":"@adobe/helix-cli","version":"5.1.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.1.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"542a19e9b1086ef8b49873344b3823bac215b3c6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.1.0.tgz","fileCount":83,"integrity":"sha512-wqf5CpoySOSGi4J8qknLgVUABjVIQaPpCE/yd3dCggYw4CkftCEWe/yvs/beO9QnQqZHY7Rv3Bw8AX65+CvuHQ==","signatures":[{"sig":"MEUCIQDlJi1VITjgv1WNmo+NHS5nG3eXdUmmRkea72DMZSU1wgIgDlqyGIzjyPlBCbbws7hhx/5ufUWreieezM75wrsGSVg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":424183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeNTxCRA9TVsSAnZWagAAiqIP/0qCAQin64zdJfxsAitG\neZIx0hbasymzkVfVKYnrPUu7wyhJUufreuk6/ZpHtJaXKfn7uEYvw5dp146N\nCcqlL2/DqGEhrfv3uyxxQ2ei57w3OIrLcZ0Jos2oPCaWuDl+bNvCDCxYxaLh\nKm+yGAvM0MlA4/Z1ksIVzPXZJ1nN6t1T/O1m58taFhcxCC6dLX1XzxV543xq\ngktP1DuRRzMa1kjrzba2/uC7xrWLfl9PlIH9XCckBjU0iII9ZvSZuggQJn6v\ntU1LYb0JSRaCp3Bv0Du506TR1fCH6Ecv6AD7PnkGNHJAsEigs1LvGjL+5+lu\nPCQR4N08PXPdmWx1BwSG/4SXseGduT345P5G3/QpIW5zzJBvba8OTFLOm4NV\n/0PIpFimtEd0yueF652cMr6R1h/pVhsZLl7N68ZgsmSUPsuft2tEXoocIOtK\ng3Dwj6Fv/BpXTDNMMTKOqhVaWKnEFE+zVIB1ylWO5vSLTYr+VQc9paJaZ9C5\n5/2AzF5f85SGHfj8v7rVBFwFAAuiDhtM91TSyHKs8AFAFGuk8Y2tMJDlTnZl\n+VLuK5c3pDLk0/oOycYpXKlbmk7bgR3r78n5YXCp2GO92OUzpCS9CabcaU0B\n/UTTcjNipAPX1lu5JfMtcwEfIVsaaZTOSYneetMgZ/GygvcNuCMh/xfWfMNQ\nqwzd\r\n=isOg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"5c12d85f843f58db8bd2530a41e414b5443642d0","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"3.0.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.2.1","@adobe/helix-simulator":"2.13.4","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.3","jsdom":"15.1.1","mocha":"6.2.0","sinon":"7.4.2","eslint":"6.3.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.2.5","@pollyjs/core":"2.6.2","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","@semantic-release/github":"5.4.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.1.0_1568199920027_0.6293727639095845","host":"s3://npm-registry-packages"}},"5.2.0":{"name":"@adobe/helix-cli","version":"5.2.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.2.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"adf2a1b42a657c4dd22f75764cf1885577fc18fb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.2.0.tgz","fileCount":83,"integrity":"sha512-33FG80KeSOaafKOfnCd0IMLlzfOUbukgwYLZ6DrpC4Y0WPlSgY2SldiMO4f2XpFqZy+rAsD2Ki4RFckGyTVllg==","signatures":[{"sig":"MEUCIQDBqS13s6SRPOIHoeHb6MCH+9AMdnfdhO7ZKGxXYzeWdQIgeATzJmYwzNwWO/r7Dy35lbzLHEbsqDHxqqnAb1exBjI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":425464,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeYzvCRA9TVsSAnZWagAAEYsP+QH0Sl4XsS3gngJ9P59C\nNLRAwcgB2AviKiJcB5FmqRAfKjccUszFFyuR/x6rGUDtxZCKun47CeXbqPXu\nBf042Zb2SznSwBlGy6YQXL3ik6JkBcqpp4GkN6VilblMG2G/HBZ5VOTM0IoI\nCmTaXzNjdjxSJFA+jfqQ4BqhWh8q2ssJah+Cvw9qWFFNa5PirI8NBaW1cj68\nquCoSMd4+A/5Jf9/mgAZ/UiEFW1e2wWmy99Czmsyp00ipt3S8N4K5OnU1V+O\nwc/q8QUhviFrAwm35/o/8NYVhuC4PkFrUhVEWWA6v2yZzTykRaMmmBJSsnEk\nZ8gCo83l79OQSzrUq9XCJ+uW+kKJFObFkbbJDWb/p5SZYyFkIF56C5cThlbX\nok/sYbUYiAdV0GsOJJBtEuFFPcUtl8yCKvBiF7JeQbNKlp1J8W7cmfGryzIq\n5mT9T+FBrdg3KHelEJtjQ2RlbQBwMr2B9nro2GWGIte8rSKpL7nDL989sGRh\nkztc2pE+dEulz/cspgQepjNWhy8TXO+0BR4yW1htiIKap+PbItxNhBMXCoek\nd3luOWaYDTAvE7M6QI60n7/yAZfYGYr5YADGr4i02tgjw3/jaPVaAg/836Lb\nTb6B9XgsRtPYyCyjE8A/H7ujHDYQZ4ocmgwqIT1CMUl5F+jy7s9aumzSM0h9\n1FGR\r\n=JbHp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"48352507589a7d520aed328c287751678f95f3b1","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"3.0.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.2.1","@adobe/helix-simulator":"2.13.4","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.3","jsdom":"15.1.1","mocha":"6.2.0","sinon":"7.4.2","eslint":"6.3.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.2.5","@pollyjs/core":"2.6.2","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","@semantic-release/github":"5.4.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.2.0_1568247022698_0.17607241663690631","host":"s3://npm-registry-packages"}},"5.2.1":{"name":"@adobe/helix-cli","version":"5.2.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.2.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0f6d3aa6a1ad65847e0a1f821c712cbf2b00ef13","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.2.1.tgz","fileCount":83,"integrity":"sha512-qiw87jkHDH5PMatDLBbiChIKj5+O/uHkiY8ZJ/otmPM9VX+5dx+wjAO/oeBmeQh3qzx/OeRt3Q5v5+QkEG7Onw==","signatures":[{"sig":"MEQCIAUqDZW/F/VozNwt6y0GB0IsZJjlcb5qseF/NoLqhD4JAiBt86GKW4YyRZ6lt6MqYANVOmr8aNhSiW6UnEVc9iT/jQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":425652,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdf2MPCRA9TVsSAnZWagAA/dgP/0AzEd3VXKa+KAqkDRf7\nsQ43+X3eTu3OW5i8Tcu3zo6JVeEt20fcwNbTUJ+V4GU/tV7cMgH1CIQ9XCGc\nKxYKpyg25TszEwLC8+16wcu+kbBBZv/F7B7/7O29s0T0zw29BMjaeDpx05uE\nugtog5fgNvV+OsEe2ikpiK90vg7/BrjzgNu0Htr3ZeKLlm85S9NPIFjLKA7F\nauDn6xwbNkcoHVpdF/KeuckhNesSIAi/5t6zAezwoGdcpYfsC9uCMprbAnOA\nxgbpYlQGp5TCD/kLr1S46LTcVg4V5lABCrkhCn//XnwJEBCQA/B1y4GV3ATS\nfq5NTmptWUeEnxBmHiXNKcTez655rzycByVUtVcXb3tdmpcFLuc5jqI14DsE\n8jbVH4q0Au7Dc0yPZiioR1RJXedrenRUjFxjzmxlGQhrT1Q7j7bj7Vi0yMQn\ncyYKRA3FzIx/75467h7XN+w9zRdY+a1i0RyIJGWveskQ+xOl+hGZw6gTSE4E\nnEKRg0a5Fhdqe4DpPDGDnpQ+yVnQ1yIN6ym9Uth5YeQ3neZkRzRuSYNziyQ3\nJFdZ5tTYoqYFVkA60DpR/FJuEPB2zicTZQwGmT7//yZB8uQLbWGvsnKT2Fv3\n3CrnAq58tlpMmmKoht7X0G6IJ5vHE+mH18QZnFrj3Wke96l3zd6Xr3J/WUnT\nUXas\r\n=rKqp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"2c8a82fa6e98940bf0ca88cd4948045fa306c41f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"3.0.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.1","@adobe/helix-simulator":"2.13.4","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.4","jsdom":"15.1.1","mocha":"6.2.0","sinon":"7.4.2","eslint":"6.4.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.2.5","@pollyjs/core":"2.6.2","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","@semantic-release/github":"5.4.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.2.1_1568629518448_0.12209526553828542","host":"s3://npm-registry-packages"}},"5.3.0":{"name":"@adobe/helix-cli","version":"5.3.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.3.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"cc3af9d7687f553fb035106e23b7724be103bc38","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.3.0.tgz","fileCount":83,"integrity":"sha512-8Z3PaT2H0HhqNt6naFLBUF61RXF1oVthy3LL75O5v/wPbBeKXD/HdnrD2ksON+RnZ4OsH3Bpf4H8nexDUHw+ig==","signatures":[{"sig":"MEYCIQCLLq5NwWndjHWuDv4QGmdgK7Pxdb8NjcXCeik9eSDCRAIhAL58/nRTtqKIvwDJAa7ioBJJ9yDke0N4KcDuyvM068Fy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":426788,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgO4VCRA9TVsSAnZWagAARwQP/iEijP/zpH8l25574e24\nAsy1Sl7ON72s9DGO+aoYDRmmU8Y2qpohuoSxfTFAWHmg7VWef9VEyoj+5GH8\n/ZWmjaVsZ66bd6OpeVTUD++GKFdqpaqmZpqCtgl/ZCibmGYs7pAbEuocuCBB\nFy6qWW+SmVKxVFRkRpB3Y6gFtcPaMsVPASvuUtVSa9d9auUJk5MpB8dtPEsc\ndVOpMpJJVtxP4uYhIidcI+qvl9TSyrP7YHJaVCHrijoFMLAwj4V/ggqhoMYI\n7ptjU8HQon6i2mzxsNhsqpMw5D4U0c8tqJhH8Cq0VFb/WsiraLHBcj4u0QSr\n2RLhJ2HZSVfCFPmgCiaRHaUqNlsKbJaFYF+IigS6wslV9q44JNUp14CbLpGc\nCOQC/LpbUOO02lWWi4fh0NCgtRZxpoxpOSBh2menPuxIneQYIQHpueycxFwk\n3NrniJsjv725BTLrxttF73sVQdC4uQKTykPBt1pBMH6HH3Yr8QGnNDrqKxLJ\nXyCPa12J6qFzfz9SorKsfUcymwtnpetu/tZH8qcZBHkTImGarztl0hVNcltu\nsSY+kEsdM7ABvni2Vt9+pDd/IakgzrDgYhAFMeF33MoiXjnJUwC/TB45c+xY\nlL6lUxSIPffC7FN4op03W9BQuyOfFRH1FrIS39K1tk0aTH1w8fwRM5jrF0If\nvCq8\r\n=ln05\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"2dfe15e826156c48e7c6fe15ccd8e18b36c6dad8","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"3.0.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.2","@adobe/helix-simulator":"2.13.4","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.4","jsdom":"15.1.1","mocha":"6.2.0","sinon":"7.4.2","eslint":"6.4.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.2.5","@pollyjs/core":"2.6.2","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","@semantic-release/github":"5.4.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.3.0_1568730644935_0.5008775845174007","host":"s3://npm-registry-packages"}},"5.4.0":{"name":"@adobe/helix-cli","version":"5.4.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.4.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"fe852d83475c8a63d01960bc99ea0d04501a4708","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.4.0.tgz","fileCount":83,"integrity":"sha512-3wQ8fGN8W4XhwyxK6HZ9X0rlGfD64XOHc8x7mnsjgVKEac79ICdRMHrtAbdKb5fiwbZkhsr/fElW73db0WcOyA==","signatures":[{"sig":"MEYCIQC2ny19lSnT+VfdgB9aLCFweo7eP/GurFhgdFyOyFXoiwIhAICUrEht3RmnID5FJtbQp4Fnt/dx31ACbIG8x/1uQ2QP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":427063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgb+iCRA9TVsSAnZWagAAlewQAJY4qHPdcZdYPJIt2GDF\nepwh2iDjCDWd9AkEuZcdGrzOrWF1OU2ZwxOegNOORarZsm+xNpiWSwhhy7fV\naZoxmbdttMdmxgpbm3fZRIaaFmRganFdw7BXlOOQrRVx2RVrPRC0P2unDVqF\nuLjf0gEHIbuH81baNGoME0rbBnSL4eU+d7UKwY1FzDTRHMDZDQ2l7bqWtU+Y\nEyZohT66fMVcELJhJ9vpiyV84/w5m0YnLGR5s4IzlpUmp9bGzheymuvnjeEp\nsji2s/1lAGlXyETnUpFdhWKfEy9yr5eu++5ZHWMnHoQrki6WtgOtNzuxQzMX\nwL7KSbmml+u+CRS8jLV6OvFQcqyGXipBe/Q5VXEZQ/Eh1DLaekxuXc9kZb0a\nrWB6dh+OXKO4LY42adpp12YJwDQLxgSF9bMkVS9fMhvEPwef7janiXvvdPbE\ne6hZjTieLTvBaIvADligR1lQmPZ2L5giUKay9Bik750B4zLa4qhPaCbfAJ3k\nxAUgFLTSmrptu5IAaWHvRBJrEF5d45Xgc+8tSx3u0mkxxCqKbqQ8EopjlnoT\ncWly4ydCmN+9FoRCRv9zADDhBzHPzRblVdFDvV8nJZobDvRTAqEOvbFtkrl7\nznlaMeziPcgWwl/utrL/jQTVa6GVGPS2tyRXYsye3PubuJS7jCQxk4mVhqzv\nl7kJ\r\n=lly+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"586f2c9c87462797d2b7a74798afaf0659cd8518","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"3.0.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.2","@adobe/helix-simulator":"2.13.4","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.4","jsdom":"15.1.1","mocha":"6.2.0","sinon":"7.4.2","eslint":"6.4.0","unzip2":"0.2.5","codecov":"3.5.0","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.2.5","@pollyjs/core":"2.6.2","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","@semantic-release/github":"5.4.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.4.0_1568784289772_0.20552747892565693","host":"s3://npm-registry-packages"}},"5.4.1":{"name":"@adobe/helix-cli","version":"5.4.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.4.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"978ff04a09fa76675c2e44778ec6cdaf37f10422","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.4.1.tgz","fileCount":83,"integrity":"sha512-FqLwbkOGo8Cg31BLgoyx/Y7ilXUz/T+SCCR4ELbKYUICxWSKYsPBKIkeR1pOnafs/miPs+R6go6f+/FpGuakWw==","signatures":[{"sig":"MEUCIQDseFSoDZnVWFcfUz9sGMBP9HTpkE//YEIXtv0IhfF6hgIgK5NEdVm3mWquP9vvbLdImgOf5pFrB2dOVn7yIXGzZzc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":427350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdkg6jCRA9TVsSAnZWagAAHzMQAJVoHZ1R1Vh7CNUDs2dc\nxlpiPexb6KGd76oh/w30E/gRHG5iPxyKrzvWzqkNhyCWtO9oZVkUeIrhmUyT\nZFC04H+b1P6EGt8C0BdyWEW/4LIE7Mr0GSOO0f7msvnoybsI/vCv4WSQ4HCu\nKkdUQMYEcql6Rbj4NeMXx54PrtGFlvrsgqFvDB4SYaz3M4OCLtfpTVqKMS5x\nlS2lDdf4iJiX31d9oI+nPLA7zMKmu41uVyzuOM7OABl1GvroJNUixdzay3Am\nUC8Dpr/ubhMcoqADtu1cl0+iWw5UcitXrSU4L61pts05Z8/SxyYCGq/jEPal\nGHq6y9XvRu0p7qb4QUgYp0wieVe4RPHbSJL3SgZBw66yhySjR1kO7uu3VJcD\njUEJJMwFI72/WrgJgua1fjyGHazOfNgeRE3mkdJaHrxqb+g0MoyMWAfICjML\nWyz1ovSLjfCEahC2Jky0bvBuFaEexG7dvGf/tJrSkUEdCj32k2r/wvuhXMST\n+iKa/w7/JJHl4m7i8DPTV9J41C/bCBk5E6NqktXpoaiIqb3Dl5ZzABiWOAA7\n/dJylRhpdB/R/0syxz67yqNEkufxeGBXg/fJO05Hvb5nViPhQvtRI/BDQmhH\nGGGMlSBYBhYRVFSxAz4009VJATTAzGfi9MjkZpogJgEfUMHKPqmUOOEXmqFR\nEsLc\r\n=AMTN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"efdb04ded069cc7fb692393ce7a46f2327f41b0d","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"3.0.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.2","@adobe/helix-simulator":"2.13.5","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.5","jsdom":"15.1.1","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.0","unzip2":"0.2.5","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.0","@pollyjs/core":"2.6.2","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","@semantic-release/github":"5.4.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.4.1_1569853089937_0.9558414560507629","host":"s3://npm-registry-packages"}},"5.4.2":{"name":"@adobe/helix-cli","version":"5.4.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.4.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9416ec90629266ad2d04fd25edfd8298c9c5cf9d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.4.2.tgz","fileCount":83,"integrity":"sha512-HQWJDpPPyxDsiAkyQ9yxf/yzH9plz2V3H789+9U9vq88vqDa6cFb8C0R0tQuKEUb6I6sP4/O9tBAP141tVRo3w==","signatures":[{"sig":"MEUCIQDp9k0Xz3qGqecVW+jvY1Nx2HYjdDbGYfdVZbZ9/gOueAIgGBZYosZaC5v0cpJDPkCX0pchp7KZCqqHknxbZHxnuKc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":427577,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdkjhMCRA9TVsSAnZWagAAh98P/RQE3YDUYQNFkPxGrNix\n1+l4n1KpedhWegd5/WfdGTPu5UKamMyQAP5AGceArL3H6imqXFmjgTilqaAu\nuzQtnSWjHmMJCO+IodD4ZQ5IOc1P6MDLCuyLrSE0/QglidJRONuFjByKziXs\n04Yf7JuVb782De5n0hCCvX8jVoNzjlRuAYMQUjugVwXE/qR1UGsPDv1nbXDv\n3KCw3GbaXH4lC5pTqCc8KjO9pvU5J0U0fafffH/7gNsVK3WrU/MK1HZftr8F\n7/OsMdEby88CBfVF8hBLlRPBM3T4FQzIciDAbTqWZbAepbxUJuvcBsXSDky9\n0fMZw4buvQfh1JwJPfRuqIUyFEIAO5kbInjNB46ttQkiu6CxEsii+KWAoSVW\nEfsh6U40x8s4VxHg+4elBMengSEKHSx6H6QAstknRfPEnlaLsv8ALwJkYctA\n7KS3zqqnUMEVHuIdBzTGQ7WY7bkJgAcwZpaWlFtEpucJL6qsIUqeFRC8+ef0\nMq1cNoc0XYxWM79mh6rAHtHikF9YJvYvyZ7Y6EmorQ/mu1TRkI0uwBqLhoEB\nGe1FwZaoflrqJZzpH4B782WtuqlYDLi2DnAEfFcdPP+qpSIuRuH9ZoEOfkLh\nPTHhw58Jatg1kBHPvC+CfXaJe/kMHaq23sJrRU/PL7ChwaadiL7VuMlmDsTV\nBavK\r\n=E7qH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"ef7ef15828d75ff4f76a8c69d640830d458e50a3","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"3.0.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.3","@adobe/helix-simulator":"2.13.5","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.5","jsdom":"15.1.1","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.0","unzip2":"0.2.5","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.0","@pollyjs/core":"2.6.2","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.2","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.2","@semantic-release/github":"5.4.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.2","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.4.2_1569863755695_0.7172612436249","host":"s3://npm-registry-packages"}},"5.4.3":{"name":"@adobe/helix-cli","version":"5.4.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.4.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"28a03427f0b04e4cbc22034ccf08bfc90524ab3d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.4.3.tgz","fileCount":83,"integrity":"sha512-0w8YKTUIArihNd5dNN9f3ix1FJemzIs+SwcaDKSsBsNfBgqkdSq9ct4y1RBNdC9GVyvc569VXQDd9vC58PwwcA==","signatures":[{"sig":"MEUCIQCr1a1yL2Fxp4rPTqqom3nYH6KQ2HSdn9Tdc0Itq7GzWAIgPWebTfHfySaNY5hkxHeUOmsl7KXo/rG16Yhy6WEGSJk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":427926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdkptYCRA9TVsSAnZWagAAMEIP/A+ZKczAQ/04Jop3/C/s\nltNnH3mXIQNEUy08GCSkeJ5PlThKryEA9sQK57KDKcticl3FM84zAg8m3aQS\nfkWQaSCOgwmUY0/RGYBZPEQnSE3CNOx1lKOrNL3wlaDRsUUOGNNsZVWErOOs\nAqSzSqUmaKJD16dIXOb2GZtO7g/0+6FYyCs4jeZKgss9o/xF2sFawGMyD5aS\njT0N1L4dXur6wRhOmSe1niKEqCMalWG2TWmy/jizrx+bNPXTtph/+lZlNjXT\ninMu/KkNrysvNy0yQo/p9I/7oR+z386Vb25ZRgYegrksLfxc7P2rc1PSxys7\n1AjD2mha4oQ/FYcyBC4Qftj0Hd2FHAI9XLynL2uJGT9a83Kz0zrB9OJbNTys\nhJ6y03v/wCiyXxASnyNZPTHmzdePAYnEAN3CmwddrgzJg49uJ7U06v6WmN7V\nnVnZshW3WUweVCO3cwkoH/2qIiI1IdCkjJP2Pwq9iPfq2fhIVlcX0HYYDRiH\nSrzxBCigLTNQV65N6ymRa4ikFaHID9GRJOeCebTmhgWlebaI6zi/jyFob+6g\nKpxbf6UPjapGeWDuqqi1XX2Ylc4+lSi100HtGjyp7NkuJlyw1RuOXGbFfBa+\nHfJodQJ82PEuxwkRZGCF5VlW0u0wUwZwctGfrXrWLUBlCAtf1/yTCB1t7pnR\noq3k\r\n=gPH9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"a3c5117dd1a01d8bf07f0a988982f20dba923507","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"3.0.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.4","@adobe/helix-simulator":"2.13.5","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.5","jsdom":"15.1.1","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.0","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.0","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.4.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.4.3_1569889111399_0.7533608401246115","host":"s3://npm-registry-packages"}},"5.4.4":{"name":"@adobe/helix-cli","version":"5.4.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.4.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"37d7c6e25e0dc9508e5257383fa9376849e8994e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.4.4.tgz","fileCount":83,"integrity":"sha512-5BWWDh6yYr+6tXvj1qV4/5batqZxhb6/bqiP/LYACces2HxhbaqrJTF2pqKSUxvKxNXJ043gpovuxIaZbuCTNQ==","signatures":[{"sig":"MEUCIAvnlhqvQdaqT0wBWqVyIjO3B7hkGxrSQpheARIG/ciFAiEA7FqfRPwYnPf9cpq4/nyzJjUrjmWQTru6K0Ol7/vhHhY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428172,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlDCZCRA9TVsSAnZWagAAb/AP/RFSGturxnb1haJCO/VM\nRA0f3mDA9ofyMG3SougtrVyO1LaATuf8N33SEIurTLXf0oYU73ubXHQ+0RFP\n2gCV++vPrlMyw3I8X/59kODpo8BiYkLOQ4uFP2qNTlpOhzhVYcXPOhkNqNeL\n+COuOEQGO+/X99ygzUejTAu+ZBgxPaOq5yusSod1ryNCuO51tSOznsfo1ML7\n+Ap0wWXwyhfDemBfBbxDFuz+yvoN8oawk541VtNBRngZaB4mndtEsx78pUIz\nR8oa8TUqHNIZMD28hTOJLWqPuIggR0E+jUJ4YQ94QK7lSlfdO4p70lpcARqu\nu0uUXlY1KzBZJOt3SpgqWkdgBFCGU9rDsXXvsh/ei6FBIx9iCHRSJJgwUCUN\nF/ogtVwN/7lyAVALcnw0RpIpfAlC426JJiloOo5PAfqPa99n3aUwDHgLautY\nmYR/VKX5kjVDOovMOSKmp9PuDPLDVZk6yE1o9c7x9SAIoRrojrjY1EfQbh6E\nf2JMIkUMt+u6Y/m3OyCFcKxyJgjZacvwgMHBZIILAbdH6rds+d+9CnBvA4H4\nCznHm9YsHYN5UetQwomBt1o01yWMpg3WHpC168fXrikrO+JAMWhgyb613us+\nUgpIQyQU92J7v79JvQqfWo0Kd8o+3U49MfdS0PhnpERyCvs2FzpF3Jd52J00\nNZvV\r\n=1eQC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"294f02e38e51066cae373f6e167a9a766f98d2bf","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"3.0.1","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.4","@adobe/helix-simulator":"2.13.6","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.5","jsdom":"15.1.1","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.1","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.4.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.4.4_1569992856919_0.8588061060105614","host":"s3://npm-registry-packages"}},"5.4.5":{"name":"@adobe/helix-cli","version":"5.4.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.4.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"823ff41af690d5f0f64838e0aa01b45a8eb460a7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.4.5.tgz","fileCount":83,"integrity":"sha512-Gas08MMABlPkpr5wnMVQC1nAx3kVukdC9VPuTC7avfRUMI+oZWxzcC7VOKQdoCg2if/AYzu+VsQZwxXEvhwyNw==","signatures":[{"sig":"MEUCIQC+VY45yMLEYoNZNX4a5vaP8p5ZDv+YiLDGh4UaUYkR+QIgcr9prJKMpTNOcqYVltYCZ7BVmr6mmtMaDizMGuIlNhU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlgy4CRA9TVsSAnZWagAAx0gP+QC5dEZDkvHPUj3tfGjn\nORoduHT52UiN+odEvXYhRXZUFTfGyhF7phaeuYxH/YjLz+OheGRPWtpFDGmU\ntSFu6Ws2APSfYx15zbEcQ8g7k3v/hQnOT6V1Q9HoHVzRdSubID4SQsqo1eag\nqJnuG+odmVlqJYf6lPgwpq2F4HIihJhQ5Lw27PfFaw9BMceK8sa+foU2seQ8\nOor07degpogOU22IDALoBYOpewPH7G/eUNBLl/3J3lXQzt9uS1Ib9LF3ZIhC\nQGHqpVn0+b5T8zR27OubJwxSjEonsbjHnkxHK6pcWcPTbMrDg6UVl+6OuAV2\nsBsyUUQmEeJArquR5DKMHLcs0ztOmtDZnMYo1ozVJ8F+UwdC4kHIcVFmW87I\nBWnnbta3/p5q3EGyeBdqWbwlKT90Nt7CvdY3tgjlQKOv7kVcH6FDmkvmLV7E\nFolY73VywkJtBr75GeI1JQqR4hySxtrKNEl0pZ8xPu+OF4FAWop3/44f44AB\n72jjfvev5EHWWhB4vg+6kRFOiHfPu9qsELRmREsUJFzkb4x+cYKHMCCnZaaJ\nk1G8VypCBIolHdNNxSxz2FU162nR0ejWU3nrNkXEuOuXRCNgyd3dzmKHmbKj\nMPKcY44CFp+JxwCTAGdUUhC8Hq+bwz+BYkBqwPHxpv7lZk6tDU+J43mBG9Zh\nWvIA\r\n=fuJ/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"d34204514ba902c37cb04f718d47aa8c973ee365","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"3.0.1","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.5","@adobe/helix-simulator":"2.13.6","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.5","jsdom":"15.1.1","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.1","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.0","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.4.5_1570114743193_0.4834613827804797","host":"s3://npm-registry-packages"}},"5.4.6":{"name":"@adobe/helix-cli","version":"5.4.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.4.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e7eedb0ba80b114c5ad5425b2b9489272457d5a4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.4.6.tgz","fileCount":83,"integrity":"sha512-2p4lksKpyaj9ICmcjRaGf5OtemCGs+4AzkeGZtBi+BYa1o75qGnwv9GdBNnjD2lrrK+l4qkHX78D4kD6jY7xuw==","signatures":[{"sig":"MEYCIQDfoF/26XVX4ap+bkJAojcUGa2thZgb41V0ONCgDmn4SwIhANkf5vipWMOtksyguagv73fruJPlfJGwwX/VZP+caqdO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428730,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdloa9CRA9TVsSAnZWagAAJHUP/3MMblpfSOEueIFy5E3/\nOjGuAKMSec510Rgmto3e15uyHYb6abEV7T4dHILBqblhPXnrThaj9SRkPg91\nOUuRQG2KrM084gHSQahmYwE7g25hHlq9AlM8v3UruIPLJcgUHSqxnsqc+goY\nnC4+Sxcs7l2+ZZpRGtPtWQjWcY47mCkT8rG+UHk3sU/gzDez9AhB8CbvB68x\noEpPmEvI2IUO1C9ZEyq2CjwYEv/xQ56h44V03cGA3kP3Vw5Ov4UZ6ToGZ8Tm\nKVYsrtpYe1/vjORRn04WSa+S0i1uPorZb+h/0xr+JrdiPHQ7F4DQZLmSN0Jt\nD7WN0+PfCFzoWYy42h5K7vv3RMrLGmgpHAMVuwOdtBsp4zDekoLFoa07US+H\nt5B6IQ900LDKY8+vJAGG09VDcg7675U4KNwMCg0AI0kKXSEztqVLi0yRYIFw\nkS/q/hxoDo7/99BBGASHAQBM0lA26D+pHemzId7qXVhc4zqwwyGXts6zG3qw\nydGpXaLpKP+xCFc/xGdUErT5CwtZLg1/tvHg32Zq/jvqi4x2GkmOUpwCVRPT\ncBAUQmxmndi3IBlMFh0P8aBpAQ+8SLBVzrnPLw2cDjvONjdLz3McuoJuS2A6\nt9MoIus8aIlFdwrtabLHkFXkIbN1RB3pO9pTopap9bnIZiFjUrncNb+o2aZ9\ns5KS\r\n=/fwt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"e460b75f40c1c4cd2ae8a8225cdeedbb02ff8283","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.2","@adobe/helix-shared":"3.0.1","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.5","@adobe/helix-simulator":"2.13.6","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.5","jsdom":"15.1.1","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.1","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.0","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.4.6_1570145980281_0.09071478163186142","host":"s3://npm-registry-packages"}},"5.4.7":{"name":"@adobe/helix-cli","version":"5.4.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.4.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8c88ef7a51362466e464ad7ee95906f43c205a0c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.4.7.tgz","fileCount":83,"integrity":"sha512-wmDmjYKWoIKTMMXPkamUUelzhk7+Dz/WVBz/d/s76N6hZovnqymTNkTTOi5hKdz1tW077YeNbMB0V6ThbUXgqw==","signatures":[{"sig":"MEUCIBVDNgOGvF1aGac8H3LEl52CZ1sz7JY5Bh/Mni+VAv73AiEAonTGXqcV4hAADOk7oFawbShlgJwVp/vfk/RsrK9+oLY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":429010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdmrMLCRA9TVsSAnZWagAAcAkP/17qgj3+N3b8pTSTY7kD\ndzV4g8+wZvEQL+gQZBjVdANFviDz2z7R+/thgBSFS7vPka4uctbgOhJXiVNT\nUo9SNDGnl+R2lSLZ8cOIugaNutu4RgsZx1YhzqVhgAE76kJ0XaVGd4cw/Vw6\nTq1wfHbHXUkxFEvQp7pO8/li9Ovp4FznrPiTzG7B/wR/xMwKuKdXEuAyY4CC\nHzuTYuPAUSL/qyyuHvESgo1sG9HXrkso/RoWnHS/h7pPxEG7BCN06uyfXRdL\n/xrB9OhuEiRgVknsvyLTXIJTvBM1J2XoxwEZUhavh8D73/j+8jzhLCtD/2VV\ncwTn9M1eBwFEZhxKQeRK0RMaaAbH7tdPqetrVFGgcmlGqTqQyUx+qHnUeQ0D\nriYHRyuWX0Va7ysplxmenfwiRgcEhT/gUIsLsuJEIQpi/osCI8hVoiKo2tZi\n03XrUoqft62EpHFpNx/OXbm+Fb+IIS5iTkPmpRjHfuGV0DFm2D4mnxUq74Fh\nxMcCbD5zZXLDsivr5DKHfZ05lt6baVk9ewDJugBq0M/lndQHW2f/9LOvuUhF\nn6i4Imjx8lvqpQSuPPcbj+7QgYnm53VTjsI0wArkb4TyQ6Od35GEogOlYb8D\nwYdNmw5hzmti1j8/ruipqPFp7mEzN+yjFMNc1oA++mA2Zuf+a/FN4lAASiMc\nNq1W\r\n=pTV8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"ae17ee46fda82af5393a2983d0ee1c5eb99169c4","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.3","@adobe/helix-shared":"3.0.1","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.5","@adobe/helix-simulator":"2.13.6","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.6","jsdom":"15.1.1","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.1","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.0","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.4.7_1570419467127_0.33603979173709475","host":"s3://npm-registry-packages"}},"5.4.8":{"name":"@adobe/helix-cli","version":"5.4.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.4.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1454c5402b16fc4a732f42897298d6412ff455c4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.4.8.tgz","fileCount":83,"integrity":"sha512-cyxfFZXd2mjzW6/r0MsQX3j1mERAlf1lW+T2aZreskwXzjOKlG5v9BjUM4eiwGoCmiqYnJNTWIPC2OVFowsNLw==","signatures":[{"sig":"MEQCIByY7XRN9D3b3DVhcyL/8ocUaIOC33nOGA7k6duvACmlAiAyyNDcJcqTtwiKENTVPwBJRdC0VYAK5oMYhgPKhbmrKQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":429480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdmu7/CRA9TVsSAnZWagAAkIAP/jwiuKAB9tgm4ocQDWnN\ntuhQlGi7GsKRyHHAuu3XGLHJo2qHV/94VLN73LmQfV+Da3iUFG/UKQ7LrbH0\nzkufxK1nnNgLWi2nrC57GENFbXcO1WzaXHJEnr/A3lsRil+0s+n5msEMW3RQ\n+9sHozJjfMbWm2zVXKqJhOEC0w7rX8aDb3AXszzj0pm+wZqQJkD+I53kH626\nOvAc/A2zzq/e4Poj2+Hayv64q4kT9pO3F6KRuWgyThQJL3+9QfXy/DsBZiD9\nFcW0CJ3bhuAcuegyWmwmxsqbcdLdZL/zm9smainD0AtkDxpHkNTatAHTL8MS\nnrtxzZB1szCiNCeSF3ZwrCejbpSAAukUPrycmNrJvyoW9diSDvjWWihQeS9H\nmUFl12BFtY0H6SligYKJ8/+clBVHaL+/UebLz3jDM66/aCvWOFvnOhkvHChJ\nASf9i6cQwj6GTyCIzxQLtAbNglO/ML7Hpm9haaOnuD9DMYl11aW+SUOEfotj\ngLGM72Htf9/9Jaucj4XDIfaa37TJ4jBiniReQoxPBe6y0vf2mcELaFlZkKdC\nUJx9+Zy8PRODM1yE03WW1/ZI4jDAhoc3XNVkOxnMIBMXDTkURDpmHs6y2RuF\nJJ+6ayuaW5kcEHstZq0XT9+9nsWSRsP+g48tfEb/Wd92YQN4CrK4oDxELxDM\n3SVh\r\n=xdud\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"0c4828dee23cefafd522c1e9fc1e6acc3c9b2753","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","parcel-bundler":"^1.12.3","@adobe/htlengine":"3.2.3","@adobe/helix-shared":"3.0.1","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.5","@adobe/helix-simulator":"2.13.6","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.6","jsdom":"15.1.1","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.1","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.0","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"peerDependencies":{"isomorphic-git":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.4.8_1570434814333_0.8403996378060021","host":"s3://npm-registry-packages"}},"5.5.0":{"name":"@adobe/helix-cli","version":"5.5.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.5.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"e8f84338cf3e35ffcb666980a7659f3cdbb2576c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.5.0.tgz","fileCount":83,"integrity":"sha512-W1A7zQGm1Fg/dJb6rJo4zbAurqO6mYSgZUTNHL/x3iAlSOo88goTOILWii22KYTrxt+vbf5OXucEIBMgR8GnSQ==","signatures":[{"sig":"MEQCIA11qIx4BGZ7gxXuiQ1D4QnPve7ND1vGI045IrOb9TFAAiAJjkQ5w7esYl06iZXpnrnVxxN05REfqPB1K6vKQdvL8A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":429850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdmy/ECRA9TVsSAnZWagAA4iMP/ii5/WBaqrvs89+FOQnx\nnPTZVzQqvZz/6ox/rHbVYGASabkq2vBOJVZmKE5nrbnpCjylQ7yDpInM0xMc\nvxTgTxA4ovyXymHeTUdmWItj4ve1SguwLFsnbmBRdw7blXSc7/Xi0jByRgN8\niEHVu6WgUNFBljrIlJmKfzb8lKLLw7AtyOCCL8gDDQHkwte1K2xX7a17v2O4\nmNwOJZQ6w84n012psXjr9WpUuzKopgDYl5D9uT+KQQDmR2LyaASfXpCQfEro\nZXRdSxDN6x2YNJo/nMeMM8dW9j0mIT3Gq2tV3IgvKIGaju2wjXOJRZdggCTq\n6BtvszvOlc7fBbJBvjAQFn0n3CGc4NSma+LnglDhvjivmB6TdEilxk4JuWKL\n5TTsDUrwBgeg70CuwLvENvkeqnhDBF0et5uf2ypdP/QleUW2hE9KUNj6fLdR\nadV0sbUdG728btwQbs3ygUwj6Q35XabZwYcy+9ciCZO7MBnsa9Y/jOqjoqs0\nxizEZKmm8VNFzGgsujROHyFbhpX4u/gqW79zhmfvBkCaT5cpg5qZ56dM0m3/\nAx/vAd+R+j1wdrQBsbzAZ0pP4vU13kHJQ5QGaVwOs4FW2GM/ZBxHxDHFQU0O\nzKG5IGctqXOCy7FPuZuiefvjD2KVsVQQbMV5ma3COpbSBgEn3Do7qt64Koqo\nJPCk\r\n=9qe7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"3ae6df742688c934ea90bcc679caf47d4aec6826","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.67.2","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.3","@adobe/helix-shared":"3.0.1","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.5","@adobe/helix-simulator":"2.13.6","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.6","jsdom":"15.1.1","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.1","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.0","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.5.0_1570451395892_0.22383162730869333","host":"s3://npm-registry-packages"}},"5.6.0":{"name":"@adobe/helix-cli","version":"5.6.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.6.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"anjankaur","email":"anjankaur01.mkr@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"151c4f26929e4c678853a7a9b90ef3f8a125fa5b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.6.0.tgz","fileCount":83,"integrity":"sha512-6rbofSoalMDwqRBgzKcG3m9Nld3aqXQVugNeNqNQwprbCi5s9VuU2KECxLEuZGehuWFY/DiQtuLXZgmcZCK1XQ==","signatures":[{"sig":"MEUCIQCUeYItUfkiENOpK031vDUHQG3FL9WIOK1Z0/kKTg1zSgIgXKtkBJ2g7oQpSecGP8CoZHtQSUZ5Ji8YdBK07Fs2CYY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":430056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdm2HcCRA9TVsSAnZWagAA1FYP/1xjgJK6+VIMm4IwKuJ0\nGKs39bkPQ45XorsHpvdCYVKI/NvFPpEnompc1L24zZOSMOL7d0AhhYNDV+Ud\n54LrFH52KumAb6Gz9KKkYsDol/d6za10Z6m846ILwvb0IJaVN+2GsnJrplXq\nYIkdHozkfntFAKj0iY20zNOQ6UZ60dLNlvaqZYZ88xpWzwcFzt6QJIRT8SzN\nWNWFfW+jlWotJWKfYhosq9o2/OTuPe1edqA56HGKpvf3OAPDoPqKYOYya8se\nJGeGEU4s70rzqC1UZh7+UNKKe65vQN9znD+hEsqgp1Ys3yPtYlgZX88ivmuA\ntFCZhx/wK303CW2hAYIBR/a/+D+2rrdgpAM7ZEtj1q5kcCwaMC8CMGAoJDgH\nbyp2SWDWM8MwXj7TSixkT2fGXiFqokPpWjvxn+3p1uT1zv1d2PfqVqNb4s+h\nFuiuSW6d9jUcc8p7QN1HEFyEE754XXxQmZZMwh+4c74b3y8+561aGef/ilkv\nEDaKeBrIk9SSxVzefwLYmaSf765o0SlZ1q8dE4LHkrKnA46I1NcR0JMPirYg\nqcFUalaIcjcj/d/lGI3IFACmRpzv0roYHdv8JKsdDywgKO7K1oSLC8zn32cQ\nWl9ab7lBrCtFnUmna6IUAL+JKFI75seoWF6CH9tO2gk5InkBFc4sFGJfjLoc\n2PFS\r\n=P1te\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"a6e52e6da495c88967e8f48284498778007e8d87","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.67.2","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.3","@adobe/helix-shared":"3.0.1","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.5","@adobe/helix-simulator":"2.13.6","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.3.6","jsdom":"15.1.1","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.1","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.0","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.6.0_1570464219001_0.19657763143739038","host":"s3://npm-registry-packages"}},"5.6.1":{"name":"@adobe/helix-cli","version":"5.6.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.6.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f73a02c64e84a9c2b6a4c8f3ff516c23dfc9bcb4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.6.1.tgz","fileCount":83,"integrity":"sha512-yFsdbLJU/vsZ372lKt5TSx3Cg3ar+IoVSUgViKct6IY0lSwdJjlPmDb95mO2BnME2ck5l85oq9AS7FEcR0eGMA==","signatures":[{"sig":"MEUCIFAsNrmez393FFpiZNtUams+bPlkkU68pmROVYUWiujFAiEA0xnVkYs5kD1t28PWX4IU5dHNFInL5r9HeDzLdwUsIMc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":430486,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdm/MDCRA9TVsSAnZWagAAvyEP/1QFUfugY6A7IMGD0Sdd\nPNv73RJY6BLvhQHxWVg1yIMJFrLT3FxMx/YaVG+HlP3Pjc/v+ZVyhXqFNYig\nNKhV1mU1Pf/NL5HpK6qLuq7XBCsO0DUyNTMnmSijOh77Ad3keCv9KafxobSz\npDZ1T19YGi4SbLh736QBElgkFg8D26w/mqtptIFvSaDv22wrjdTdmvJq5fHp\nAh/HJbKtNvZeTF86IPJe1USYBIHGIC0ZOcI89BPvCUR4I+0+12BuxCApYtSM\n01u4gjO5HbRSFIdfXrVMkOjEWyxJphU5PF4xvIj60JyYbeynehcaz/j0NUOb\nXb5FxZYEXYYWujJyNg8m4HuA9ZcxKPVMi3FXqGBBJ/iainXsuEMAEi7nJs8e\nZvyQyKvvIi2cxpAYsaw19ICMkS0kF6nn0373/9xPu8gs9Kfi+mU+C12kUSu9\n06+EuuPg3WpW5RgcodVymuWecHObS+u0CjVVfoYOrHghzwJzMHryL9e76snT\n2ZhGvDAZ55oLms53qePDtOqT5b5r1FS+kayEx+JEn+TbQLyE5uSwpmIDQfvT\ngYYcmNFLBS1+Y6eEEVCFvdZ860SXnRRtjpfswXZVbwaYXffCdjHaJhI+bQR9\nPY/sF4+n66vTxMck2ZZ5/lMnHj6FLZpLyzgAG0Mzs6VVmPIZFTK2IXiwzmXt\nS4XL\r\n=jeuI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"14fe06a8629a81abb5c6bead69ce1f0da094ad02","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.67.2","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.3","@adobe/helix-shared":"3.0.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.5","@adobe/helix-simulator":"2.13.7","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.4.0","jsdom":"15.1.1","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.1","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.0","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.6.1_1570501378378_0.0080094690872059","host":"s3://npm-registry-packages"}},"5.6.2":{"name":"@adobe/helix-cli","version":"5.6.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.6.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3b7ec0d7c7dd3ecb84222a1c992de0e76c305fc4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.6.2.tgz","fileCount":83,"integrity":"sha512-knkZbCqKVigCyVaT5f8eSAIYxBAK0k8dSc1R97OlQc1iJve5vzNZ92+g8zbbQ7iWMysbNsdOl9ZKO5D4z8Znjg==","signatures":[{"sig":"MEYCIQCWwJM6/XVtAjhM7POk9SAcGbwx5eeXdHl4Hvxb+vyk5wIhAO/kzFtDKwn3+aaioh5J8uLoUpOLI6IJApYdWKMtPdng","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":430773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnAjxCRA9TVsSAnZWagAAfDgQAI/LxHtbXC3H9sozTt+4\nA/REf+hsoom2BQapVg+qBGjU1sv3mQjWKco3MiPfnMPl12Jm50uRg93CloUf\nT7NAqhf7oKtQaCq2sNyz7WYeaLMpD5VxVQqHDyHAlNlUe9lAyA0lgTSqaN9c\nwIUOauyzbdhoFrD5eIaT9OSnCo1gIxG9L85hNzRQTYStOFlaLOfk4R6en8WK\n765FseluTsORxrqKn/r4xolY6Nf7rbflzimyTEFiUhwOd9AtGrKhHKZlmgr1\n5MrDQEbH6akmYBtpvXKfwfqFPmp9M+eZNVW0R86i//d7MU3NtVynKKbzjaxn\n7Yq/tu8XFrb0IpDWJ2nzAw9QhlGZnr2+CU5qoiWKuDEayuqsiR2wZwSodC0i\nL354Avltpo/ZV3InOMx9o0MYX6KSMLcu8JRokVJRPpfEz8VlGgFilbmUnrQL\n22tu65vXiGiMee3Tj9kuh4Jb2Rltmq9wi3iGe0/DGomu7pgElRj88DWah9rN\ntvLOydXluN5eK5HQUYPBh9wjnrZahbNaS+02AVNdhm+CCrgAGGKD3F3uo2sR\nF9xTC38tTzl52y/Yp4Q7tiJkyPpT2vTxXOjyOhFCNdQr/MCoVxPVTl2cf8Yu\nHF0RQKM7GAg0eN6rxRAF1ZOuI6xJg4TxnOraM5ejBsglRNewWEBtlxkn9xpQ\n6nZK\r\n=yTOU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"85190586800f81eaa7ec5c1eca94c33e7531c656","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^1.3.1","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.67.2","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.3","@adobe/helix-shared":"3.0.3","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.5","@adobe/helix-simulator":"2.13.8","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.4.0","jsdom":"15.1.1","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.1","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.0","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.6.2_1570506992988_0.13081194567147603","host":"s3://npm-registry-packages"}},"5.6.3":{"name":"@adobe/helix-cli","version":"5.6.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.6.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"fe6cbc4ecd6b3fa12e08cc96defb806404c9c426","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.6.3.tgz","fileCount":83,"integrity":"sha512-bwZ6B2tZHwnBL/x5ZK2shZQ3O40a2kdSoHmMeCuabJz+RY9heL9LPJmu+nxqxYrEszA7/XpuTN06TtvyipR1QA==","signatures":[{"sig":"MEYCIQDm4NrdRr06YoY9wBx1r16lPyzyp1AkfyvGOwQ4nnY9GwIhALdcU/WspVEDnQaj2/yp2a7PnYWRY22FbBsOo7AmwrKH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":431044,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpS2dCRA9TVsSAnZWagAAdXgP/1aCLQn5KOrzxJXKNhzh\ngR+SkEEk3MR5nLkuxGCnbgWmcVB82QVYj38aM74sOJr4A3fd97/BZvEed4pu\no7GcIblYpDpbVQ/1ct4d/gIkeWAQ/xpYROFebqhzQEcHAobMhbdh3q3jVSaH\nYzzj2Kcx2I07CfWGBeD++kEYeMeVYdi3AzehNOYZjZxhKDKU2RvoWaRFY+Tt\nZq779agM/zDcWKhyn1dYTBwUUq5MEBIKQz/RGz0XNcVedHATVAsuVn29lOgR\npJuipzQZDq0Q/WXuVIRH74hAgIBSYc9veLnln0dw5J9KWQ4KUCMzfgQS2l+O\nXfH+7jFoLnkjtqH1x7+iga6Ipp7W3gMNQMUw9FHv225O69Wx3nQjtFxhtanu\n4hmogs5xQ8TI8UtLW4QuXwRuo7j3RFvijdNdkIyBYL4vcS/VBg+1cU50CHUS\nhjdqe4GryIHJRXGuhKILFKDgGqAGyPyIWgHg4BFFAtnGz2aJjBAQf8i13Cr2\nYOmrdmxYtFKOUJniUvOT0L/SLGwubjCGIK+KBvbh6XrXR4pB/V/XT2CLKKsm\n1+Dodc1V1WYCkjVvUou7/MQ9zbsjc/RWaQmKEsEr41d0YVOzI9VS78Eff0Hu\nVbHA/AwYG18Dcrd6P7yfcB0v4pKoAM+4P1d9VIzwOgALXVNdax6b93+2mpdX\naQAb\r\n=csL4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"601662512a4b67cc15887fa05841f9dec8b11670","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.67.3","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.3","@adobe/helix-shared":"3.0.3","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.5","@adobe/helix-simulator":"2.13.8","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.4.0","jsdom":"15.2.0","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.6.3_1571106204740_0.966562763960555","host":"s3://npm-registry-packages"}},"5.6.4":{"name":"@adobe/helix-cli","version":"5.6.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.6.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"c1dd6dafffbb6186c4b9a652f26987e78460fd04","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.6.4.tgz","fileCount":83,"integrity":"sha512-dGyuADMZrPWRu6PgX4Uhe0unEjoq/WJc33j/WTLc4rzQqjV0Tw5HNGPvrmAeYzw7Nt1x4CQ2OVIHsPLKLift4A==","signatures":[{"sig":"MEUCIBRVU2AVBBj89uuDHfJ2oha5g3lIIam0nfpFbgDCMR+qAiEA8F3x4oBarm6QLenRMnCLSvlrU0KB1W2+S547zVMEIwA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":431290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpq+gCRA9TVsSAnZWagAAorUP/iZoAGmI3TmEGmsv62OK\nf++F4WBrZpRhhSBvYKK35db0/KqSNHpq0955aClQWJn2j69WhsT072GgCyfy\nDQ/dGSEB37QW6HC5c+Zsq7yi7ZIeg1vXmYMf4X5YnSDj/tvvBjkNPuUiR5Zp\nhrdzTXdJ0PwSpKftR7ARymhUyDyT4z1Y4ASLCD+w/4HavMm/J9lb5rfvpuIE\n0LQ7bG48/Ma6bnXvdQm0VrcPjR6WXofhggokz9PxDv5QR50l2NM9/sLSSUni\nxLh+v5lr1/pESnH6FcYgcsKhmg7mjv3pTdcZTcEqn418COeOp65l6dI5Yg+X\nrnly+8DSKGMPt8aG47ERgYwh4IM/Fgs3+YgvYcmnb3KUtznJ81roKZUIcgST\n5dAsqfDF4kzXBD4KYZn1Sl/rbt9xuVTBbYnGKVrJa9PSR74N54o2LWVSzYzZ\nqiMb3WyxgT9lbhKqYzSaT9zMCKqU09Cd1BSS9PC1MPHFZqff22oqLJeu/aqM\nYMsw9AHYmnD4yyhc+B2lJaN3tkPCLBYW1sWURq7UZpHyaK37B3Cr8+fLWmz2\nJqr8u0dTrrbPxQRy6pap/f1s6UqnCYJFPjwjQKIBWLUHGExYwuZ6JCHyQpn8\n3EEBpLfp55kbjSiWUolgn7vpagBxbWsyafltgu52kwikkO7HuMVfC1rA3UMA\nLNc4\r\n=87K3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"382257febf72fe29a9c6fccaf57a543243de1805","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.67.4","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.3","@adobe/helix-shared":"3.0.4","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.5","@adobe/helix-simulator":"2.13.8","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.4.0","jsdom":"15.2.0","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.6.4_1571205023354_0.43872133569795824","host":"s3://npm-registry-packages"}},"5.6.5":{"name":"@adobe/helix-cli","version":"5.6.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.6.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"362217a044b3b5b1f8bf65eed5374f21f3265d4b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.6.5.tgz","fileCount":83,"integrity":"sha512-GdYdTLLClBiGzg3HSVri9CS07RNguG83U9uPlZnwA2R6C7YXdjaOMHwglnpDVWIODUElzlPNaVqco99kUGtW1A==","signatures":[{"sig":"MEUCIA1RZqzE9CHIxGQ4T5DYErCqDB0nMHDlci2mUiseVu1lAiEA5ti9Omlq0Pk6wrVcb3sAAbS+F2z2Dfqc8lSn8GgyuW8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":431577,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdprQ/CRA9TVsSAnZWagAA16IP/i9AZueoG0krXZw6Jlbx\nLOUn66pAwPaUrMmcbSYdVyt1V+DsNiMsvSAED17rbAImyc32PPTkOMhAYZrP\nGKdSt1wLWwcBqh/AqZ2NdamJGvErQY9s8NGT6Knn0Ms4iMzobyvuO64xV9og\nyP7vL3jRXTLcCsytzUd7h/1xdimADunH34yDCdCRMJ5NIfsNOGfkqzcVzlGv\nnV78ZKUUGo2GyOjHCFlDnEmM4Z2wl1b4sfV8EHsuXg7TQXJaeTrHaWhwTE1n\nr2APS5wQpls258jtEpieKcvD0fbtcJpM3kwQy/qkPXjuZBLhdI5FxIB1u1h1\nSjzLWmEYNzQt++Uor7Gi4fmXe3KzDKWLnZF3iHBbwexaRwQPcAufSCRgi84X\nQCC7IlpyBSTq1OciclvD2glRFhrcxUJ0fLCiGNpSAeKgrZC42+Pd65N996Ur\nxN5mvvPEC5B6Xt7swHWtrI/qGMi05ajmHF8648U2HLeOxEGVROLBo5RECNDQ\nOh/MAjY0TYePgegBvdTs4MOvRHVgMrJTJ01cvPWpajJCJjDkc4BjFM64FF/H\nt7dOUfNhT3djRi4iaN/MSj2vb9clxTJGEY77pe/RDV9SEud1kQJjMD6NdclM\nGb9Ez55J2rtloOJlmCX0ajr6HaqT41e/6FSR4KwuGGv7KaD81k3e6ZmXljxg\nAaYG\r\n=uqDg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"5adeef529f6129d91bd28a315ebca0c6fe06e07e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.67.4","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.3","@adobe/helix-shared":"3.0.4","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.5","@adobe/helix-simulator":"2.13.9","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.4.0","jsdom":"15.2.0","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.6.5_1571206206676_0.5824487104883218","host":"s3://npm-registry-packages"}},"5.7.0":{"name":"@adobe/helix-cli","version":"5.7.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.7.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"dc642b146742e6434c7235284eeb72cfa6dbef26","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.7.0.tgz","fileCount":83,"integrity":"sha512-ej2tGFQfqeJsYNuoA3ohN1Xs1X5GRdrdFhw+J+r+/2zuzlvoakU1DGSH7FFqChUTYrhD5xwKnB5yb3UdgWnHwg==","signatures":[{"sig":"MEQCIB8OFMh+xmVlBj1wYWxv3JQDeWAtgTZVZhLxE1o7+xWxAiB0ySX99Yjo5wfAaSYRIlCN7Fjm7C1s4sUweE/SMdCd/A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":431783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdp7ioCRA9TVsSAnZWagAAtvwP/051pxFkLKLK/b9yBFWK\nKNDmZ9OHPnSWpZQgrrXbqNFS2LeFJPGVMVe/LxZRRmvhmYk4N49HZldmjbCQ\nEVGM652W6GSOAxiHfwbrJxbcOOZBJ2GoZDok+OhRgEeyYsamNUjDfhyFak8D\nodTZM1e3V5A9+GdBby3AENGv0VBYyLdbqHtxN99xmSiHzK7SMB0fRUqf6PLB\nTx1lhbMe64zG7FoB9Un1IO4od7vEVOUJBg10P2SJgbPUc4usnlV7V6CtUDzY\nJcLYuMSSOibWRhtPTJm9gPI+YOriBEIOLrXBPTZvd66wfUkCogltrKXQBCIM\nEA+LxhGMr1LqDe9Yl1tGun5JKAd7rHwNwQoDUXoAZzf4DrtbILonV3zK/6vi\n1s1VFiv6F78YrXeKs8cxsELPoW0aZQ7aHe6F/Euv/yg9ZFbgZGqyvYVKZuOn\nF/8rsI74rd7pBjjitrdViimRKIOCsv2IcgsLF0I//DajbUumwA1+Cq7vLvWx\nLJ/TqulQr+SZ7LShhxcxyIwcBRlkSz/HYTsfLEY32dj6YZOhE5taNlc1rf7d\nP5CVwzN7WtlaPoRBWWonWInfCWXEFGsQ7sCVSWuqTd4FpCJK/cxyUFRIh7XZ\nNX6YZU2gSr+ODh56q7v3uLTrf78I3f1xxu6H8QLe8v08UlLdnh6gO+yAhTYI\ntI+M\r\n=8vMG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 < 11.0"},"gitHead":"14124c30171c4c41ae3e8d14435d3213590e4af8","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.67.4","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.3","@adobe/helix-shared":"3.0.4","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.5.5","@adobe/helix-simulator":"2.13.9","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.4.0","jsdom":"15.2.0","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.7.0_1571272871804_0.7239184488252883","host":"s3://npm-registry-packages"}},"5.7.1":{"name":"@adobe/helix-cli","version":"5.7.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.7.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"4d2afe1d224fceafae5c94fd25340d5a7ced5583","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.7.1.tgz","fileCount":83,"integrity":"sha512-1caPCataA9Pu6IdieIGZ18U8w2nfT7YzCcX7j/qHLpoRPBItK9FXLY6GUBdS/P/CyQNDgzyuopjwtgMj/xRzsw==","signatures":[{"sig":"MEUCIGEzTbd1PQcf79AtV2clybuf4o/HqKAoXuM8+eNx1J1qAiEAhdwjskHRMr3iBRebTP2cWwL7+PDj9oTWLiYcgbzTTDc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":432015,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsFgnCRA9TVsSAnZWagAAZMEQAIR3PUUSHU/DLlYzxdmE\nHun7B2XbGPqhze+sO583l3AF2yx/RA1R82A9i9HLXr6UDG0UDmZjP2QkEsQj\nfPPckfbUBI8fbfkpW9oHm+0o3K9zhjzm69jBGsOg2WPZGEFl1uZNP//1hZAG\nN0lmwGUWXY+OU1h1mUYsoQnCj0Pcio1iON8wPuVPCUp4k/cUssSNuu1o/vbb\n2a76nSc2NOql28SNTNrB6i6wTFwhmytaF9nFKyVItM9Kn6Qd3qVHB1zPP7IP\nuIlkjuDxDqSMjczMnGHaID2EWJbwNEUA4h+wtQTcDlz8+ACu0XovBg1weH/4\nLSQv/FeYsyVc/35Md357ldV0/srNZsm2V4Gbi39yi/QJ4yyk9lXW/SDGVaDC\nDhsDrOvSnOe4W/HwuDTxXS8B16goYVBvTqTKK9vZ2cQKEhi3k2u2wMMXLA/u\nGsbF6tZTS/YIcZkJZsPBHVpeQ3LoAH2Uh3MwKts4SsvpcTUFimOOZgNRexjz\n6PuFVTB0jGMWNw23GQB1M5zkseymz6cu61or4RX6geanFOJaK/uGsziufR5W\nW1GbKIY4+fTacVEwBdMhJvSLFLrjZprFvCrV6SCkViU3bHvYW7CNVxqMK2OX\nu8JOUq6KBKXzmdOSgGnRYpbgIHh4Qfw+W5meg5I2fMu8YmujFgXqEcMgJPaZ\nhbLn\r\n=pRbx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"cdc8893b56774eade8f2faac82cac95d4bbd10ac","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.67.4","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.3","@adobe/helix-shared":"3.0.4","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.0","@adobe/helix-simulator":"2.13.9","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.4.0","jsdom":"15.2.0","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.7.1_1571837990666_0.6382680084736128","host":"s3://npm-registry-packages"}},"5.7.2":{"name":"@adobe/helix-cli","version":"5.7.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.7.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"f6cc1e4561da748fe4571b07780c99816ca519f4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.7.2.tgz","fileCount":83,"integrity":"sha512-DRRSjDKrDt4tuDI9GN2r6BYM3yA5rvuZKHkKI5gxKjYSalKkpAEHJoSVGIb6AVhH1ixeNzMjNEd30Oerqjux5g==","signatures":[{"sig":"MEQCIFI+hlEo1l+YdFd9PKL56ephrmey2YdN5aCzVhcCg2gqAiBUwpwpX9hcjZSLCVUZ+n4Gje5foUU4uQ6LkXsDUD4Psg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":432215,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsVGHCRA9TVsSAnZWagAAB8EP+wRTy+fFF5VQxI92d0l4\nJCdxzFGmTFkUXubniDZQpXmVDaRIuz4zMyt/+ANdO4LgWKNNhh42Fa3QGnDA\n7vOtxhDQ8Vq64BnWVfc2eQ8m0gHMJtRkHgE7jVbTg5BNxF2odoksPP4oHr1h\nn5gTMbaJrLNQn1CD1JfSxiszQb1Gz7EIMfGtHVjH+TsxZVyXP9NiIXO+x3yl\nhLrlydc12vDqC5cFRRw6TozCyBT2aWt3rn290jeYiGp6vjV/s4wMnUmgJMCD\ns1qqM56vZnHu+5d2X4Q7sFitBv7nkAJSgHITOhiw+SaNX7v4lpLSq1s8Jcyh\nC9ZHy+KT/Hhg5owsF5VfEqT3l9/uf6un++dl0WdkJJDvpU5NHG8Ru2hlCEJW\nD0NCqXAs70/2Nx9KpEXcpLc1+J5UlVx/6uDvKzA+G6hl8COcFw03saVOvxOY\nrNOZIjB40dwXdhEPbJdeAHJpQtlXHuBrVHA/Hmgc2GwDZLmzcReGRPpr4mW/\nPHW15cVMPDRF4lBVJvp6v9pa8rcl0kUclUiWJYuME8/N6MyiPS69AyQQGJ5a\nwSgGJi0KwDEuPAmJsPJW4FlB7ckVsV/Y83b6gfZN0RbJs8mu9SxPsMClJh5K\nTryyhHe1YHAsHXTYcOQfeqy6g7TYgi5S+cIXlqi2fnMj2Znjs+Dd5XikwtH1\nBOxL\r\n=CPJl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"d2b166fe921c67ba1c4dd384a2d1d9985dfce556","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.11.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"^14.0.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.67.4","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.3","@adobe/helix-shared":"3.0.4","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.0","@adobe/helix-simulator":"2.13.9","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.4.0","jsdom":"15.2.0","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.7.2_1571901830486_0.7187967388173928","host":"s3://npm-registry-packages"}},"5.7.3":{"name":"@adobe/helix-cli","version":"5.7.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.7.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"114b989adc5f45e8a5388e50f1272671779b7a7e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.7.3.tgz","fileCount":83,"integrity":"sha512-5W6NpmUUbz9WDmS/Js6vqXqS/RZ/7VxZm8/bGzLewUzdusx9GljPf1hJmJ8KE00WXDco/f6hPBYSgo/k7KdMwA==","signatures":[{"sig":"MEQCIHg9c2mgwrFoKKsPb/VeWG2MCsimEEPIFmssTO1BDAitAiBZlNYF9mo1CC4y++RAVyUnxD7rbm8wAbjDHz+vN0oW2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":432505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsVz2CRA9TVsSAnZWagAA19gQAJYSn4DRnU+OQNFWydGI\np27CgKZ1sdX1YdUsyHsraTAF4hyHpvQJjbCKyf4UU6OkZwX2EbUn8/vOtf/V\noDrLxWc/NT2PhEoczLJi5c05dWDdSOxka8qtHL2cZrtXUk1LdAUbSDfSzrzR\nVaxWY50Mh9QCQN/skbuF1XoZBKyt33eUIIuQ0rUJUqAOJyuYXPI5ihb8vePY\nSjk6RBdk8BKrwk8pNtIyDRGLKEmyXcGPpkFx6H/TDyGiJG6Qh0xc2PyiU2gr\nn/RllASWt3cG8ynarjqqcauXMCRbDpG8hr3ceYARNd03UsRa9SAbIKJ4vDrO\nxeY3V4LAlAmBRfHAf1tFfAtxLfqOGd8ZJhVo0pmSBfluYoHJCN9sFoVZZZG0\nmmOGAvqFBmMSXLvsKqMG5waJlTvrxke7h1CnrM8wcLPoq+DDqzfWuemTtcB3\nSDiqfrfoM7WB4Zlme+zYPep/SPSliN/4vQ70ft1Tqp4L4Z//p7qWGa2+N8XW\nu84Kyp3vJA4CGiYlZlEbje7BFFcO9Y4JSdjCZnlL/qW5LcwdKI/tSRHPd+5Z\nZZACk3D2XIHeQT9Npusrwek8adFJLK951bZwbT0pWBqH3ZllwxFvMoWO0dsl\nOpROKMAWj6k936TbNqZBG92MEOXVIvQ3oZopQLJFkCI19uVlDvQUXCRMycWM\niOyA\r\n=oxrF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"65879886c337dfb2c267a85475160613f5d81a09","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^6.4.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.67.4","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.3","@adobe/helix-shared":"3.0.4","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.1","@adobe/helix-simulator":"2.13.9","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.4.0","jsdom":"15.2.0","mocha":"6.2.1","sinon":"7.5.0","eslint":"6.5.1","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.24","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.16","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.3","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.7.3_1571904757480_0.5695503771734147","host":"s3://npm-registry-packages"}},"5.7.4":{"name":"@adobe/helix-cli","version":"5.7.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.7.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"978870cafb791638d9e08fa11c96881b7019bd24","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.7.4.tgz","fileCount":83,"integrity":"sha512-3/MZv/pdzwkfasFnIkx+ci7DEaDx5dc/3Yz/u3AfbXiBHwjNUTUn0U/kYZ32o/jCW0MmY9QCFhHkQkfFYme1KQ==","signatures":[{"sig":"MEUCIFnV4x5J00M8LQJ7G1ckA4fpPn50fhRbD0wg4IptTesRAiEAypq5suiOnq/bog4WgJet4V+tm+xIJoECYzOrjf08sPI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":433175,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdt7RkCRA9TVsSAnZWagAAVJYP/01mpxR7QD9JgFT873xj\nl9PKjSYLgEO50ZIaynjNXf7X+cgiRe7dBiz7aI9k2/fJnXL2EUtQnHIQKXIq\nCC5Jz9jiZBXDoEveNkXkSz/iLPg99ilIw5E7WAlQqUBIuPDXK52WQMM1LUIG\nQDaEO0foRgbAbtS9L1L31O+b9oODYd4cJEroNIupV3eGJiDhI/+khFdxyQrj\nNjDTvhUw2hxOePbtA1Ty0LdyCRg0xpk+McY0d5psQ3uqe1Q94TXnslDyICmd\n8GJ4GPQ0MXrm0pg7S8wB/c5m+Yq1Ose4eZXknBQdIWSTQOZfV4om3mXL7Omk\nOMM3yXFMSGU+c3IIJGPrEXblYeronzX3oSN90Vi/0DNgv+MfNabucmCesYYo\n0YJpz+M9Mh8wrtxQR2PMl/plK8C9j2WbNjKfEk6ISfHkM+jQ+s91oZcSB3VZ\ncs79mNL+2VmwiSIZ/x2kFPNA/v8KD0grEVsS0UEBy5C1dehrOyQWkNSdjQyK\nKcCTN79ANiUCSiUDv/0TKOSXag4UKNH/MXFAGJV0sIBhZwd34N9V8ByRin8A\neDQJ1gpw8t/DWKvJNnL2pMN0gO2ZtozJdCgEisicc791+P+w9Zr98o4g/zII\nIsNNh/yT82eJ8oplzDDvpBYGDZqutGnPXi8cjU9/WNcCgM+buVs6a2g0RBYW\nCJgJ\r\n=MrRp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"7e44d50f75f60c9d810d5c48331086f40336989c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.67.4","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.3","@adobe/helix-shared":"3.1.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.2","@adobe/helix-simulator":"2.13.10","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.6.0","jsdom":"15.2.0","mocha":"6.2.2","sinon":"7.5.0","eslint":"6.6.0","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.28","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.17","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.7.4_1572320355494_0.7027931155133005","host":"s3://npm-registry-packages"}},"5.7.5":{"name":"@adobe/helix-cli","version":"5.7.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.7.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"5ea7fb65764b910f77f25fa79266c8b861f78677","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.7.5.tgz","fileCount":83,"integrity":"sha512-fMQIxkGUWPa7DN1xnr0FatY3JQDbFokvuMJJcgjuVy01X/WVVY5oxtz5Qx39zTbgecWjXRkjA0RChylXDU8UrA==","signatures":[{"sig":"MEYCIQCDgOuzJwiUuDVGqjTeuYNH9m3ttd9cEK1GXGpQfHHgvwIhAMUdT7/192Ue9avQF9vWzUr8Oc4N7d7g/ynumqvgmuFo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":433453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJduqirCRA9TVsSAnZWagAABzEP/AmDQKw2HxGkNQDObwhy\niQSKB+O6w8urofKwb+1ubzw/oeKBo1teCh8eS0G/dlBUNPgZsx+lH8RosrHe\nplK34JsZN7QDIq2lB3EhSgsEN2+IVGQOIVIljIHGQlkZUyKHex/ohstSAR7t\nwBSWVI496ocLakCjJXKGU7R+Vu7FCSVDbCul89JH92KamIKP7KCswySlPOXT\nI0rxAfqTIpLj9ZUO0jtKSEACEt3puQ20BPX3xYCafZuJ0GOnUoITFoDF654Y\njRTCC43cB6Zkfn1bbD3SzWahnwO4zKukLth45XebasoXkwTBRouf+o8Tu396\nr9Je9mMNCTB3mxeHGz1a5Ixy0nwNpwU5PTiZ87EdGVPxsRataEjuxu8XnSgy\nFrVn8FhbFNh83tMiwYK+JuJloxLdLm2vgDFXcvTGSXCkhXaVNBxH2Hgcj1k0\nkuemz+UmFSempU0INbM1TRlb8ONBrDJo725qXB7pD3qrubHRuyfrUB8WzYCU\nUnSLva3X6IBq7rQ/nq7ytC1uOw7KWhDrskihkaPZCGXJoj2e53+nWhntcrrf\nstJzMqzimKBGrsvPlQpzOk647+kEWuxlf7a84FjDQPGc9RP0DXunUeVKASO8\nt9YOkrHTnMmLoD16vRrgNAwOLp/mggcNkC13QeSMM8ESPAHzeAOWA06qaVuV\n9ePB\r\n=/QJp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"d0d73880f13e0aba4444ab6311143822377dd5e4","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.67.4","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.4","@adobe/helix-shared":"3.1.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.3","@adobe/helix-simulator":"2.16.0","request-promise-native":"1.0.7","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.6.0","jsdom":"15.2.0","mocha":"6.2.2","sinon":"7.5.0","eslint":"6.6.0","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.28","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.17","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.7.5_1572513962913_0.03267191863044361","host":"s3://npm-registry-packages"}},"5.7.6":{"name":"@adobe/helix-cli","version":"5.7.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.7.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"0ea76365c4a7eff204c8c6b7f004556f083ad71c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.7.6.tgz","fileCount":83,"integrity":"sha512-mFDfUV4Y9nQ4IUjPjsMCOFhp+YGJ++CGBGVdyS2OqT5tjien/tHzAkyTmhwg0Tk6hADxc/3zd+D2Upngm3c+OQ==","signatures":[{"sig":"MEUCIDHp/Wzu5SAeD7xR744OVGar1Y6YVogtjFjy0+iywNpfAiEAsS+P9w9Q3dIRHInhdDrtC7boGSp2Yzyd3mOeWXNl5+Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":433732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdv8dgCRA9TVsSAnZWagAAQLwP/094tJCIYhSkFqsj7gI8\nKEflzr1LlcUjXlzwQgvlLcS3t6JpXjgdZl74CWhEVnQyy51VwPXsDMyDfD5S\nE7b50OJe5FdN8VvhuXGIOVaPn6kbu3a9sCradJbbC57V43CDFUf75/ksNftV\ncZy+P1DzPLOzY0vZLObrDBHjmRpOHmeyHvD1Nw/aoiRq+jD/2SRroFRvPznq\nffnLNKbjYH9ZeEeH0AtkOf9EH0WCTXAGJQQW8s3LSi98FXwF8pgD8UCGsgD6\nb4/r+htT0OSU1nf0pQ3H/Gog5Y4bZUyjnGIw5hj8eF43Pnu6llY/FQT4BEzb\nfliBkRHwLV4zRgNyILSLQ9RpKDkoVYrDo+e5hLPEOik1NL3dlJdgYcoFchFA\nSHuMvnplGQEf3fecXhxuAZJaFzuUhQVcg2Dy3NJDxmBkh2xcimBxB7PpCixo\n1Jzc5cv7ku4NICnOfRFfw+Yg82yZN+0R+3gV38Ch26s9NA813idxlvTDCzMm\nlojW3bH1IS74llMRh3ldr2NDnd13WTABE0enzJv7ncDIiR8+Oj/Q2/LquR6k\nLxzAyrKiOIT7aGDm9s5AhT9+3asGjYkaDcbGb6h82dNkGDCvof++3Fp96L/s\nXQ65A5JhK5QMOcneh04cYVo91VZjLOJ2ND4wO58xxzK0JNWJzKlO4r0ZGI6e\nsctu\r\n=jmoJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"6ec76d7660cbadf8011cbbdfccc1196ec28e7c22","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.4","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.4","@adobe/helix-shared":"3.1.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.3","@adobe/helix-simulator":"2.16.0","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","eslint":"6.6.0","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.17","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.7.6_1572849503377_0.5864880863120463","host":"s3://npm-registry-packages"}},"5.7.7":{"name":"@adobe/helix-cli","version":"5.7.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.7.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"14aa920d55a4427e6bc67e27faf84858ff6c475e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.7.7.tgz","fileCount":83,"integrity":"sha512-uiS33vvl94uqjfCiFiyKwzYqDmeAFK10to1Cv//LdXGhL2VIiI3qd6cMqcXpscVOCtHHng8/eg3Ce5Z9kteLzQ==","signatures":[{"sig":"MEUCIAkRMv6IvReEHZhC7UvGAbZehWC/LsIpFO4X2B0CBFeoAiEA5BksrbmrSDu9SFxY7G8qIn8w+4PG8L1Pvl2Krhi7o3g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":434011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwObyCRA9TVsSAnZWagAA2CsP/3pCdfh+gFZwgX071Hn0\n1kGTQQT1FAstxn0srnIxRvWWA7fU96Hciti9bH2ufKkGEPfiULbhpLmyPJT/\nsD3Y0nPvgpMPnhk98toKnR6lmgkzc6FOM7+Mbf9BlupOyylxlh9eOYHJ2cJW\nkCn/2gaM5p1sstl1/8KE+RZalx8oxiKQfwrlVdyUpBP1tWhyeVGoXQ+nzJOs\n3QfNAyX4RwYu7elRdrAh4TR6mrY3ivmt7QR3dmWuylfbak2sFuehz/6hDL6r\nyBzkVpjC1eZFLzfBRIOs7uuh+2OUW+4/kaEDGJmuLT86xfsqgZRufo9W1XJW\nhDuAvE0Ns44xz8FQHHLEp1zWDLrlIZjp2wm4hRlRIFjfBFO9+u1OeoQBDBzp\nNEIlqLIcNzZmH5rA+VuXGqOfMY+7ERNKK/Rd7o1Jr9Z/F3lkjnMaghsIWUDG\nvBvJJ7dDXTp9ettGggWq2OLpma1wGsRaiAKgekxan0D/NeTGHLtEt9rE1Y8p\nYE5wTJ9iQ1Vx7BDelB7rkyP2EQn2b7Dh61ef551SzCpKw61LKxURfsJ4GhcX\naUEdI3wFiKV68jd1K2z0vEJwDnG7q1KUayWZZZ6cUNzIx4j/HtV1IxqV6TVc\nQUprWTYkMjJicBTsd4RpXA4eji1SW9thSxtXQcFAVmU21UeCjVp+BSPu1EAI\nrrOs\r\n=MoFJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"103e5905868867d4fc3fcd91956be82a2a821f84","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.4","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.4","@adobe/helix-shared":"3.1.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.4","@adobe/helix-simulator":"2.16.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","eslint":"6.6.0","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.7.7_1572923122239_0.762239825028032","host":"s3://npm-registry-packages"}},"5.7.8":{"name":"@adobe/helix-cli","version":"5.7.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.7.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9f216eb3a42b603ed4373faf8470c63253e6e4f3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.7.8.tgz","fileCount":83,"integrity":"sha512-nrs8cdKzHoYZRpx6tfyOaTS8egtSdxsJ/o+IEuUrTo5XQlPuuoKmQwzfayDrshh7qu5+TFPxPGf4IBV9zIDoYA==","signatures":[{"sig":"MEYCIQCqi29OVj3mCLboFfmz2pOpTYp4DAZve5jCFH+wzRVuTgIhAMNrNbJvih1aMAuEj8gxk9B8KDSzGeLIrGq86tQ5RXWd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":434801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwSXuCRA9TVsSAnZWagAAwzUP/3nlHkEGxXNv/MpM1nrR\neCVtbRm69gSwaPkOZvFiS2LhR1uTgSHNe4So3M2NM1XvS5W9FQ9M7fNjMTpm\nH6IvJpvNAGFsVOOuRz+Ay+GYLP/sBIICmhzRZfIGALXgSypgFGiUGNNJZ+zw\np5xK50ww6yPl6ZZCCxkJofTQtzaSUAXrJ/wiRx1tz1U9i152bjB7YKyPdfI3\np9xOD4L8O5ZPGEUh2sx+JC1Kru7kugrYdU0CtGTGrCR4pgDGjHD68VFIm6VB\nZyh/pYzjnAnWg5frGz2YBc1Qb9BVrAXbns+ZJEhfVlmieDODdrizmdcXryN5\nGs10zL5V9dFtdXW02Zr23DLWgvcnBZe17FD0pJMlTXYWkchavr9dlVTpwwhg\nsgqu5aIepRVt3ay0y05H55T+f1TOXaEuJWjk5t/JuUdlNjYNdrpGwc3Y+u7k\nq0CwlqbpRf7yp2kSq0tymAJx+nK7RLD931JoOXr/UvjkNQGwP3nBbbHo9J9Y\nXEFv2Z1nl3eczi2DQzBEAH2zvkQDVwiMe31t1AT80AUkJkWuK1cHS4NyZBDv\n+1/eEjVsPCF+AdRMzyaMpgnRxWBmtk2LIgcQb3RpWU2gn8EZPd02VsLsR3kL\nVAvTmoW2Hc+EaJVVJmbJNsNQm3cj1MzdBhyaaisKItTRszcjb8feAZmcG+/t\nLEK5\r\n=OeH2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"3cce9d209e7bff234d3e2bb95af61a3d2d7434c7","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.4","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.4","@adobe/helix-shared":"3.1.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.4","@adobe/helix-simulator":"2.16.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","eslint":"6.6.0","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.7.8_1572939245667_0.6740135852180622","host":"s3://npm-registry-packages"}},"5.8.0":{"name":"@adobe/helix-cli","version":"5.8.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.8.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1e5e77cd0b179035e1ccc3825af33cd2812c6db5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.8.0.tgz","fileCount":83,"integrity":"sha512-CisTl5XFT8RUOCzBh8K6a4PutuvPzg1krDFOxQnnLcKrcpO0ZWI9YwhSVh3OK6CxIA8SXOB9XSUqbUchlij+iA==","signatures":[{"sig":"MEQCIFA8aVNQn/Hv/GDkZa9upjea5lF3pRtgfz2lMSCQfDwwAiAfDOltns2KAerh/cdYMNWqAy1hdknOUtUFpRFXtCl1IQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":435570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwhEfCRA9TVsSAnZWagAAfsAQAJIBY2Wl0GDfPPpEDOPM\nqkCPXRdqv4xDzHSpN3OTUEfKMoEOc/8Mc8hnPotb1uMk1W/maLiauppdB360\nwbO28z5QN/FkPx/3LFtVlKsKDXXKHaWdWzPTIGsLmk+vNFIaulzdtG9TgSmz\nsEHgXzjCkkwkSF1i/FO29RD6OEZf3h87tXi4akRnKC29yL+3LjCuMiBaFYZ1\n7U0oxt89JHIePEgyYwOMOED51JuVc4tsLZ+l9KUig0/+kfP8/eH6MKpwZ2aN\nDCruOS5ImLfZEffKewvqvfHR8mzWkTBSa09EyZi56SRMriHvmngBKb9ZoqHd\n8hIbIxw9BDuYRU5QhNXXBsBoFYhrs08LZrCmbAD0+WZCjffmVo3cyKFSomAg\n7loROWrf2XQQd3lB70eEri7YVCpMzOmggOkk2+J7THfngmJlqfJJ6rCBJjia\nx/1rLu0Gl5JyQiCjsxJvIgHUEC7gal+ga+hYHV7vlK+ROZC5bZxOswzhG02z\n5ln42K/lHQYMVe7vt9zwURK5uy4QFcSfp9dK9g3z9z0efjOn1dXxvk1qfR37\nb4K0cF3M9zaL7EKciqYYrzB+TYPaGkvC6XBlLfHxoatjT/CH6OAtb/j/dmt+\n2KQKlZDLjeWFHQk/nl5tqqP70OXUkAR/k7TYNDSCDy4Jw1f/8vsOAbsvAXqq\nPOaf\r\n=SRmC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"bb083564f8b46467f5c96a3940b220939c4d59a6","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.4","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.4","@adobe/helix-shared":"3.1.0","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.4","@adobe/helix-simulator":"2.16.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","eslint":"6.6.0","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.8.0_1572999454475_0.9360815538702953","host":"s3://npm-registry-packages"}},"5.8.1":{"name":"@adobe/helix-cli","version":"5.8.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.8.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a5208bca3621c2aaefd689aa50716040fe751cd9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.8.1.tgz","fileCount":83,"integrity":"sha512-fSp4JgpENSvj1nhO6jrCCn6H2eauH3InNY2BnNaZKGbsU6DLEezhbMLuqGwQzWBMkuZXzJJCB8VOskXr1cW1SA==","signatures":[{"sig":"MEYCIQCz2plptI5FMRFZPULV9UwrnQmfihsQj7oPFBJ5t3tKzwIhAN8Hbi4gnL6IiJzl4GYjk1ybeL7a7Pe1yMniJHGEw8yk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":435886,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwhOyCRA9TVsSAnZWagAAqM8P/RHmr3elQpOnh4F9Gj79\n1DninDP12zB81cDPnBPnChnz4QRrYci7IPmjYSnE7QfsoXsx02IpeceSvcMw\ni9cTFxiN5jkimo0onq1az+/pWXJEDmfsYF8q0r0HyqvNX5/t4GD2uRU+l/BL\nHtymJCMQLorZxrcelM1XxPnduH6QkWBmRNiM0lR3isPqVADITh1LwSw/HsV8\nmCotpvZ9lKEw1e4NQSQB/tzXapRDB036BzazeYNCukRXhkkF6es5hbOpKk98\n/9Kf1YkfSyA46Zb4Q4PKiHXR8uNo9LuT0EPsEh1Cyb4eG5YvplvW+Du4E+3u\nF3LTeytUXHYO9NIbEw9QjTzyG6YggYXZC42Ohi2wd8zby5AwlywcvxM6qmQc\nmSNaaOY+YN8PShVkzdbv33XajNXwlduppOlVmmzFkoQSyMPdhDyLSYcrkQdq\nt1CYtzgmI/TqSM0Y9y4b3G+1CX918Drn+03FSXQJ64SAgIvFP9fsji1TY32p\nd/oAKDOmYEOXh165wkpytE87cmB6k6l1gKks0Hx0qMldTVoFe3tgjlWsSpqx\nrgJWby1ozemm43calcC3yIJfVLZzZmVCMKyGc0eFcsZrVU/VxgTCPOAiTeAe\nSFzv9Ek/DyYCiP3BMNwEQkQtmgkpHVblBG+ZQbxMqd4azGhIn/xYqAI72tqU\nDRfT\r\n=za/M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"eaf2d1e2e9549020231f50140c6b6468489d2a40","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.4","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.4","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.4","@adobe/helix-simulator":"2.16.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","eslint":"6.6.0","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.8.1_1573000113529_0.04102952157950668","host":"s3://npm-registry-packages"}},"5.8.2":{"name":"@adobe/helix-cli","version":"5.8.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.8.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"14bd399500045947b93a28047521b7bc77dec3d2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.8.2.tgz","fileCount":83,"integrity":"sha512-34T4jThyCVoCv/RUZmQHQkU9RLAp6wC9d5zHKwlJDdTw4VVhjEzUyyP2NjvkZh+dMd7AOAENQiNPwC/6n68PIA==","signatures":[{"sig":"MEUCIQD5tZBt5NZqDMqy0k+5eL2b2kOglcO4qylIar4MNpaJugIgbuBLvMjXwJIUW3OH50xm6421bOO12O4WBAnQMry3+jU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":436206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwh9zCRA9TVsSAnZWagAAxTQP/1v+710a8D12WX19YTdl\n9ciaMVM5utx+NWpsG3L3WIYFuJLKOQpSiG4HR7bZp/gXU7EDSUYGF3d4scQa\nLnERCOM1kxUw1QqzrnLGRhUCbzfLpYaKrewZGtb4PZV5AS36PEjuTX6r3edd\n25lUIpdnLaDuEwOTpnlMOw1aSdraRdiDOfmxHOfTMTeiTP5ROLrMAFbELgnT\nudj5nBKo8pliTKRMv8rgpr7Al+k8vxIiGIzUGZLx3B1paZ591Kgl4Xo8urm3\nBvl1nTZPEchT3Pkg1e9GGpNmrZZ73KtYj7Wpn1d+TveGm/yZEdEbX/5v3JCY\n5YaTlUzCeNaAjpLXjQVv6zaS/K5Dl8hEcbjtJ0ppFiDm6fSxw+yxg227sgHa\nKRU/qMgSW6hnnh4sJ9bO2h1wIiHYULCt1WkNHtkNt/+3QAS1krCk7Oe2dykK\n9ctpiHzpka1FeB9iak819nibZIMg3+BtFS1+BbIfebCZKVMXF8LZaBFmfoZv\nwatnFjn0QRZgoCI0xUwQ47nM4+1WfVWMcl1XHP9a0Vgj63tAOqyu0hZdWROS\nej7x2knHsGUiEw9vfitfMDDArBVnhDSYUz/BngVJW+uVOUnTrf5/ltQ0AMt1\nsq66DyV89n4rIj5EjDxLXG1mnyvusG6FZIOZY8BpQ04TkXpO6CBH10WWZTTm\nfGW3\r\n=HMgA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"1d378bc539529628934bb4016ba9b1bc156d168d","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.4","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.4","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.4","@adobe/helix-simulator":"2.17.0","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","eslint":"6.6.0","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.8.2_1573003123147_0.4846385689117132","host":"s3://npm-registry-packages"}},"5.8.3":{"name":"@adobe/helix-cli","version":"5.8.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.8.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"fc7ced7207e25f57229399c27a5eefbbbf989373","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.8.3.tgz","fileCount":83,"integrity":"sha512-4qNy8y3ZbeFJd+2WxJg7KuLKDSbmFgmK+nfO9pTJkIqA6Lbz7ZJjet1jCUYKw1Hs5uKbcJzlhbIVFZvuf87NZA==","signatures":[{"sig":"MEUCIQCfQrd4WAx7qGoh/t97M5f3XWRgfp/ngzzpdU7XxABNegIgE0tPACYoSF/YuteLtF+3k3AIXMtn6qYzNe7s1N6lSNw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":436427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwoOTCRA9TVsSAnZWagAA1PUP+QCRJeNjsB1GUAVN3ktC\ntZe3rQaFlxfgJ4W0AMhuopl62RO4zTpXMQt6rTNMYe9GV0KUso85lScl+t9+\nDBtivTNQqF+UmgLPqbiAyyBmga7/avY2EVQpbcGSXxZbEDZKjsVsnBprBucJ\noiqAeFb2CrWlu3sKRS9eNjrKmY90qNn5hDfkFrqYzZat+Zg+gSiorQrgGgYi\nV1N9Nnaa124l5CW6Bugz6LReAldhnPH2Q3Xd7xsTnFF2Pbxrer2ymXZ9CSzL\nzoWc//5qwbMhfCsbmVt1VHPRAf91/4OKI3s4v+3XbKAEEfQ0RA1Ws7dqg7sO\nbcFW7xiBxRnia8xZKvUbagufxEUamW8XY1oJFcR7Ha1T3tfeRA7188jR8OnE\n5JqPDVL5AkMc1jQc3Vjojtl06pLX/jNbL3B8Bbl5vS6tf48V+aY34mwq/9nm\nIR68rUquUoCD3iJ/ojcMA+nRKE/fL9FSq8E7LoZC5YFMVy9H5hmVF1+ySfug\nJnAgeZuV5QBTdc5NaycNUO9SD/XoaUqU+C4ZQzP6PITbD77p/lXn8AhBGmrt\ni37wdztuhuKqIScXIqAFTZYwYzkego2Z8k0wYI+1EjPp1H7Z1DA7nD93TKfo\nzwF7o6fiR5RUaFC1hv6ALwmwQ3IVXu8rRar5iKOLe+dwo+aVH23iOf2aeLTj\n1F6E\r\n=I7lb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"916a7018fa8804b8ccf34c15f72b00144bc4637d","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.5","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.5","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.4","@adobe/helix-simulator":"2.17.0","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","eslint":"6.6.0","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.8.3_1573028755382_0.17797652500813266","host":"s3://npm-registry-packages"}},"5.8.4":{"name":"@adobe/helix-cli","version":"5.8.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.8.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"stevegill","email":"stevengill97@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"966042baa72760056c762d3091f526c1d0ff9138","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.8.4.tgz","fileCount":83,"integrity":"sha512-8yMBBL9OveUpdH3ZoLF0N8LVRyYrsmYYEheI/hXxP3y7q+yHHgCDC395U/Jh2r0bUhQvW2jWIfT24LP7PjvXJw==","signatures":[{"sig":"MEUCIQCZLGYlDKVQ/UAx+s/DlNHHuAfbnGWzjjnZsW2Xaq5a7wIgcpAtvzL6UrILza9gP4yV6Vi7QVuGqjS8nmdFOx13YFI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":436689,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwpkRCRA9TVsSAnZWagAAJnoP/Roqylfi0spXAD/aGkRE\nFemdvsc+y8xJ0wUz8n8qqp1yTvUf9lb9rFaVd5b3+7JyvuaEQ5MdDSW8+iFn\nm+jse9YytWw+B3yc6eJDA/JfRAA/+pLmkmV2MZoo6rHzT4bmyuWbsp0MI0eQ\nju5fkonejyKjpob3CpxhApGfmEXSCT3LQw37WC9GbFhzKjSM2zjesRjXjht8\nk/a+OstGBmH58RMm78PL+i+ePMtQS5VQqh+N91mH8DcxWazDIgsI8mg1Plqj\nZZIrFLYhyouXlHoxqlAZcjda7xrwbWgtORdiKmwx3IN0dOL+m8vbw9lrn8wg\nUG5U7jLG5LKoPUUVTslMkhix1M/XFS3EZMp6wLoaBCMMqxIdrdSgO+LI6w9i\nn7/HlwgGQ/D80kftfKg6Rr7GEtypn3n/ycKa5iXkGIUQEIKkGMfCpe6E2Z8R\n8I54zjQ9rSvCsRq6bP7XScBUm+wjoW4FM20NoAbDHyaOQulU233a1EOiXlRZ\nL3jnd+VTo4drm7LiNO5fGl6kRk/a5LqzrK6txC6pqWg//SeraORol1pgdKt3\nJ1UGtoDsPkJI/ru80XnrFRo2xoQWG6B2NeajpegioTqZSXYbThAfV1EgmGRe\nF9cBoSQlL13SO6xl39CHyospgOMY1/Qi3yHQITqdN0xkaTVbPGI+vjyacqpz\n+FLn\r\n=77qy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"2b6ff14d84bba9660e20f5e63091015c44a0f591","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.5","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.5","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.4","@adobe/helix-simulator":"2.17.1","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","eslint":"6.6.0","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.8.4_1573034256489_0.14741856394014619","host":"s3://npm-registry-packages"}},"5.8.5":{"name":"@adobe/helix-cli","version":"5.8.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.8.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"072fb2510657797f4a513f7105cb89b9bcd06d60","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.8.5.tgz","fileCount":83,"integrity":"sha512-kTkyqqGLH9txbAHpiW+QylK6c9d3D6t/nRpJg2z6UshEK8JvTvGn0lssBr93DQl1e07bG/3kX4mr4pXFtD/9hg==","signatures":[{"sig":"MEUCIBrLiBQR7VC79c+ngWpkf4brpHLmowklijrPFTFudBrdAiEA7qPQt791TcX6po6QlNXOzT644fuFy0AnLU+oJ6WCo8c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":436639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdw2KUCRA9TVsSAnZWagAAbKIP/is5n743qB487bb8MxuZ\nWqPcdtdNq22fomvihPg1DQ3pH1KS5AQVDH+B1JYIqKwEbBhusd5u+VoSH7Wo\nIV5sbgqTNsbmOoBdvq2Ep7EWahE0duyVIYE1KvgFaXV/Xi+RWHUwf0RWvx3F\n8a8/v+pJZFVWkxWWPYV8FOYObrT6rcuYmwPnl/fssFAPGjWkKc7SdUvVv4Vu\nVcsUwAoCTPOu06juWL7Stey0sidHIi4UZfVG69TTPgHdIktUJaz63nidESvQ\n6bxjYxZJOJeC655zF84EqH6S5dJqaUXnZxuGlf3kNH5RW8ouh5dU+xGBT49g\ntP+eIJeseqnneTeOwPpBjn9s4oigMMPXHqlx/k08UYStWopcv6UwYaQQuIYa\nJQK0B4dNMHPdiB+SVWHStylnY9ureU6mUUg0St4unr/8qVWrhfK07RY8QoMh\nj6dYAWtIwb9RWlQH6gjMv6hnWy1TmTLTnbh33UCy7MEp43zGrRIq6E9rDXj6\nsHUi+H886vLENMfk6Qtam5tQkjCFuTDFLHKK6VKZiCa4Cy84D48s+8jPFYL+\n4ovPgsUGTU/nreDXAmL1JSNe4u+ZHRS8HuVFsZhNADINr+tX3YvBEBa4F0Od\naySaFqw1UlWQA5bycFhh4NLgwgSXu8k8twXlO/U3J/+VaQt6gTLElKeAGDse\nb93G\r\n=dLfX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"f70a5351d8217507cf2b412509d4aab3e879f5e0","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","yauzl":"^2.10.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","uri-js":"^4.2.2","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","sanitizer":"^0.1.3","mime-types":"^2.1.24","source-map":"^0.7.3","@babel/core":"^7.5.5","hyperscript":"^2.0.2","object-hash":"^2.0.0","@parcel/logger":"^1.11.0","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.5","parcel-bundler":"^1.12.4","@adobe/htlengine":"3.2.5","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.4","@adobe/helix-simulator":"2.17.1","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","eslint":"6.6.0","codecov":"3.6.1","js-yaml":"3.13.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","mocha-parallel-tests":"2.2.2","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.8.5_1573085843786_0.737986076844193","host":"s3://npm-registry-packages"}},"5.9.0":{"name":"@adobe/helix-cli","version":"5.9.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.9.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"8e703141f5d80abb65183eb3ad95472938989817","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.9.0.tgz","fileCount":76,"integrity":"sha512-BzWQUpVnCw2AQBMJjRVwYpczQYWZvOAMn1cSuJkfZnZcRsaQDEXb5v8daVGTyraZ7iIButfiUsI93DUJEqtlIw==","signatures":[{"sig":"MEUCICyKbVD3Ihw0d6bJi8sERZuv5vHtACRUxl68s1G4XrPiAiEAnWnz7cxkNqL9G3D84C1uVPUbZle9zqJ4GhQ3YO6zXy4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":424466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdw2hdCRA9TVsSAnZWagAA72EP/R9jws8p/WnC+IAh52vu\nZrkDfCVORifPLPOypML19/BbgCXUFebeGzi70pT6mY1x1E445u2BWFmc+61t\nweCsZDcpucrCdqQdZnN4cORtlbp58zqAbH6hR3GhGAhIQZ6OdolXn9SNdK7M\niyHySk2T73j5MeQpm21BpUNIHfHxa91MSj+LElhAkLCzgs4GBWgvS7Q5hDMa\nMl3ojLkI6y8qrLrpk3NCPpDB0LqFp46s8UMsDeO046pMk9BT5FFluY3chSjE\nzrf+IdSmp0JcEBJxDSB0YKoFvou5pjyAFJu29BiwENyFEF42Ojw9WVO8x6jR\nV2VHbT6D2BVehFglJbhg45hK01THRDp8k5JxWpp6oX6+1wbG2MYORCix+FeX\n+Vdc9I7uzh2ESHDWPvhBlBtcmVuLkUK9cOTZKgGwD+xQJgyRSwdYC7t7CVgU\nYhvHYQNK2QCPu86SACrAYvtMSyuRO/LvoaA6RZGPTaLyLDviRzRi+82xe1el\nww4RjEUXGkmZHMVxVzy9kZX3/Gds77gu/jnbG0kljwQD+xT3Dsfg+HkYTE5v\npMq9h4ZaTAmOVHAfHi9IPgplePOkNDANhpj+3zxnH3o3FTqfezWQRk4VecmM\nVXFGNgjY6Fro6FNGNvt6Oly4ietGA51mIvjLeiN0IvcBSl6xeefSIlnutUtO\numW+\r\n=e6aX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"aada582d7ca660469cb9d14ab90d866f0e706f4e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.5","@adobe/htlengine":"3.2.5","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.4","@adobe/helix-simulator":"2.17.1","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"^2.10.0","eslint":"6.6.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.9.0_1573087324734_0.907840705238389","host":"s3://npm-registry-packages"}},"5.9.1":{"name":"@adobe/helix-cli","version":"5.9.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.9.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"a3c5a76edf18631642b3d9a43a3f0f9a79c27e5a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.9.1.tgz","fileCount":76,"integrity":"sha512-ZgthtguY+nH7l9EDg3HImY/lDkRCxH1N02mqATF4qIxzUJ4LoEkDEoFI90Q5IUJE/e5vcqm9TjbMeXTbFMg5tQ==","signatures":[{"sig":"MEUCIQCbtnROjkxR0N1XPGItgaToTWvwsX8RxM3qZa/LuzHu0wIgcHnIMm+yUevGKX+Ly22O/gCBanruI5sZmMzLJkBtKqY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":424746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdw7yxCRA9TVsSAnZWagAAL8UQAKNewSoqmRjud4exEvLR\nFzX/6mOhYvthusESJzafvb0Zy84nGl5W0G0oIkXfyylOyvXO+d2Ozx7n5Rl/\n/DKMqqpJb1GQbhDN78ARnX2/6WLUD33+ODxYMk29tyiBGpXKg/IgiOX6viJW\nyQJcXwqHv6PtuMYVgyc1n1r9WNfiFuysk6uV0LFYJUtt2r9q4b7fBqO8XHWi\nwkWaDEN8OBCPxxVQRCPT/u+kieCrsuALsOWD6jVN0KAc4m0+t1IVPuCfymdR\nh7Q8md0wNOzfyW1oS7OE764KRqHGrJ0/ywU+RCf1lMiR7CyGELwk1nafaaTp\nW0IPgxousm6nbRZlwUZQ5j1PYaN7bKnLyIlbyVL7enTVcEfap2zORL4aFCJC\nSLhEOItS9KEUakAggUK/Wl+j4O5Ion9cTlYW301wH32MhawEap5mzK/h+pMV\ndDsfXqts/RqvJ47Nl1miFvI67oQLjQO23Y+x5PB4Qyy+ZPqfDXG3IIwuNtFf\nj5f3ymp7v2NX/URepvTRLSTRt8KocBZ+bP92jwjn1DGVWxcFHMTan/b+dOP1\nvGI8VvGB1fOUJfu29vd6oXeY0ue4r+o4FwDnMdBptW2R06INeRFTm13cjzqM\nZ/zQackxg19BAyqeDLKgZ+IuQYOid+hYVzu9GO57cZRZ3KY8q4zKjvFIn1UA\nikU+\r\n=0Otl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"27b11800fd8a5cdaa092fa1cc9d1148db22f544d","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"renovate":{"extends":["config:base","schedule:earlyMondays"],"timezone":"Europe/Zurich","packageRules":[{"schedule":["at any time"],"groupName":"@adobe","packagePatterns":["^@adobe/"]},{"groupName":"any","packagePatterns":[".*"]}]},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.5","@adobe/htlengine":"3.2.6","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.4","@adobe/helix-simulator":"2.17.1","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"^2.10.0","eslint":"6.6.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.9.1_1573108913044_0.20762210889711463","host":"s3://npm-registry-packages"}},"5.9.2":{"name":"@adobe/helix-cli","version":"5.9.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.9.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"70c9c871124d50612561bbbb325e27dc9d6b75e6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.9.2.tgz","fileCount":77,"integrity":"sha512-/WVmsqWJR2i2hTHVzrby0IOKTBi+zep59IZbf/bdgLQWmuMbHRVcXfrfp2QMtL0WtDq9GteHqeJjmuaPFdbBJQ==","signatures":[{"sig":"MEQCID9k2/mOlSTVAvCmeuGjEztF8FrGbyrXAhWwu3D8q31bAiA0wuIImYmXGokY0ihXu7q6uAzDSq16Qu0e6zsswM9lZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":425179,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdw9/lCRA9TVsSAnZWagAAH6sQAJ5Ki5qOj0H8f5Fjd7kI\nEKPg0E4oJjTEavKcQmO86bAcCDtpAdWPxIoS+2JxQPD4l8e+YY/btTtUqvGS\nzYdCh4PL/ScCJ1jBJfguO/t7HQv+vtLZI8CmfGg8QQHtHMeFuv2OoPaFYaGU\nZ82+atbGQS8c4QkPqdzVXxRHp2aaCdYJENyYf07djs2JxAOA2B1uiSOpFFl5\nKP/KmqwgrMxu+F7covE/g0ggWQt/aCA1iUYKIrG/u9ozGjMfnXXwSluWjuPk\nDGIIvWqHJJ2mt6lJ+uOBXt8S+Aflovgh3Kt755vShO+Fh0rtMFpR7OoLRcg6\nQpO3XsSextFMCM6qlpTC20PxgulmNyeKDByw+dIAPbedHAzi8gtSR6rA/6c2\nJ6SfFRAL2lHY/T44Mv9ocDv57SyF7H58IUlETCTO56spgEFpduPpZPy15Pv3\n8A3Lkiko1/s2ogs2uH3HHkL7w0RKCPwYogX0F8nH+CfG7a7AExuaySAwEhET\nyzDMXsx25KnZ0/lqtTp3qaawq6wnexbr9Sx5lJuebbufVD7v93LUcWKO1OZp\nrPpMJL/qmsi0twRgnhPJ8+KN7Lg1vUtdezJMk6oWfkf5wRu8Q67novAAAWqx\nO1ILMlEiHz1ubTFaaccn7+mIdlCeUGM0vn3LbTguCRg1UhzqFWbmzxewsmvA\nWYcm\r\n=Jk9E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"cb3a80a1cfb266f0a0eb8b8c5244c27a1aef0e42","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"2.4.2","yargs":"14.2.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.5","@adobe/htlengine":"3.2.6","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.4","@adobe/helix-simulator":"2.17.1","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"^2.10.0","eslint":"6.6.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.9.2_1573117924681_0.22168917878963446","host":"s3://npm-registry-packages"}},"5.9.3":{"name":"@adobe/helix-cli","version":"5.9.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@5.9.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"1c971b2ac874741a736a1e5c206637156163c416","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-5.9.3.tgz","fileCount":77,"integrity":"sha512-mAfWFIkvrssOGEnwlQHmZoyK81e9lPy335E9Ma8mzQ7OAIXRK+lJSxaZ1gDyGNFhXIZ9EahwoCWfGLPgcQEPmQ==","signatures":[{"sig":"MEUCIQD9eCYKO7O1HKNKAzQYJA1LhGLo/gylQagckxyH6iFxswIgHjoWhs7HH0e0QQa0qu6YLLRgD/yys8almEXqyplwuYk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":425499,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdyKlpCRA9TVsSAnZWagAAkG0QAJyXYDUxUiSGocGkPI6V\nvnM0peH2jMl4bb+UYqmy/m6wmLB4Zq9ktpJ0usTUJPdX5O4spseMTfG29pot\nsdlSOxvrkmvi9sFPWU30IFUT4HIhEdT5niUd6lPxjuU6nQdO1cWYf6LsOvLc\n3tm3floQRkq67g0i+YE73jw8EjI+bgHIZhfrlJj4c+QV2If1/FhbI7dnK83M\nXQ9H7lUHDkWnasWpSs1NnqX7fuAuCjP6+uK0vqsadDoPRNhNLeTPL3DzPKt6\nBvtLb4IxwEc1eTHZyG+aEVFcCC9nM/2tOYBqRq7Uj4Lw2SUAv00tyuAAime7\nAREzTYrxPXxiS4tUX0M0YmRI9jBPm/Xfn5kCAye8Z4K70zUhFFbgSvl9Es66\nBnMNU5+07HSmfi1ebHt8iZeFU/R2mJ4wCFo4vHv1WyO/hKsMcMYZbrSH/LHI\nbbpKA8X/Cd0IKInlEBsp1S8zH55kSNyF+WvAsKvHzQSllwwIrv1ISbdlW3W3\n2LNe0B4NUZ5OYwBg54F8keKKYBUItaPLdd8ttgCr1rKZpQ4zo6Nuh342E550\nE+6ZMYo+pYMly4xjr7aTtchLputxzsT7HgPjv6pdTmooUUOvxfTnO60sJ0dt\nRoZtObgRQX7Zb9yBs/cC5vGjyKcfWHOenLHbhSXAAEOPYSK/FTbvU7EjlIde\nXK1j\r\n=3oQr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"0b864182eb759e419c39fa271dfa4361a8514d0a","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"14.2.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.5","@adobe/htlengine":"3.2.6","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"5.6.4","@adobe/helix-simulator":"2.17.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"^2.10.0","eslint":"6.6.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_5.9.3_1573431656915_0.4786154758591046","host":"s3://npm-registry-packages"}},"6.0.0":{"name":"@adobe/helix-cli","version":"6.0.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@6.0.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"cb7d74ff0af25db414788b46d0820e8c8d86c91f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-6.0.0.tgz","fileCount":77,"integrity":"sha512-l9EdUchJS8qTRbVF7O/07NbOlXgxG/RHfy8qiqqhXxEZ0WqcswpRf7IP/idOGJZwLgswy8VjaH6AGXRtTBPy/Q==","signatures":[{"sig":"MEUCIFralCN0bn0E90ZsaOEWXaqZoYQqIg9yFiYAIvxQU0ZQAiEA4Ocs3oFjC1cPjScKJGkbaYjnT8Jb/ePBW3QvIPSPFyQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":426002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdyKuFCRA9TVsSAnZWagAAGgUP/1cfLtBo6u9e1XBBLJBi\ntLU+ddPZxSayLR0DxSle7SGSW/BO9/qmIDISDa2+AqvQBwo0E/L+aSXOPpqJ\nhJxGJpbcLlaXfGtevubmRz9sRaBnYSGIjpjd+Cbgz3zDxHm8xdPiNmUr7kOM\n/4OAeqrF3O9PpwVfC95At87s4zv/r9jYbHMyr88luj2Q3sKsdvzpt5OF1Iy+\n7z8UijVyuZwZigkRTZlLPehBYYU620soMIeAMGzAMgmxAHV+E1qW9UpCOdAo\nG+3Z8y1SE4KP0gqSSCuWS9EC6AThmGZgnQz0oygLMGxXbzKDCmDPx1n5dJ9J\nboEnELyfnZQWNz38huQIzJMAGZEK2vCHG+9D4YBfxH8Wl52Ll2EK7+zA8fuj\nbT9LkyHnZNu60B4qj7Gh46isj6twWdvEJNIEgsWWerVirRggT/7u9OuCK0Pc\nkNFujAs43ej1SoJJBAnx5o9wwKG1b+AdDd/4CM+mCqmzFEjQaXq+mwiibnvj\nFHf/hwjQeivhvXKNe4ZQgpIy7JXKubgWOWmjciLxPqHEu9p/rOODOUBe2sSW\n+hS+wyOm5d0WOUUJaFKzbUI3UUwDbrIItqkiHXC+832uSGnhy6feB826/xOL\nxz3U7EIkB42I47NKOwltVTUDKNR9oXojla/AoaAl1SPq9wExQUlmzP/y6a/8\nedj/\r\n=5Fnn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"0a3b25c2e5730e4fe1b804400e76dd75fbb5320c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"14.2.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.5","@adobe/htlengine":"3.2.6","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"6.0.1","@adobe/helix-simulator":"2.17.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"^2.10.0","eslint":"6.6.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_6.0.0_1573432196812_0.7818540830311651","host":"s3://npm-registry-packages"}},"6.0.1":{"name":"@adobe/helix-cli","version":"6.0.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@6.0.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"76966b285f669b79fdd5b787d8beff45499fdb87","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-6.0.1.tgz","fileCount":77,"integrity":"sha512-2dE6u9IVd6m5uyPEFkE2Mgl9DVDSrXc+pMTNQ4pQrHTMuvVydb39eXw7JBWrY2E2uaN8NQ9BHZjMwEz0y9822w==","signatures":[{"sig":"MEYCIQDTVC0a7M0Wb2MBGLRK/Jpi75kOwlRqqbfA7vDJk7LixwIhAN3o1XYMTQ/kfRT0mcIE0Vao1O/t9QtDoD8h5d1DwrLL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":426314,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdyOprCRA9TVsSAnZWagAA0JwP+wQj/unToPwQNDUga3UA\nDDVm98qKXULUw8WLTUSWOFvjgUfCWEtC87z8JUnu37Gk2cxWTBGJzgBGhhVN\neNhKVx/W1sco4neiNuJN9O+Xc0tYKEgBfckupQkwlBAs9KdPRh4GkJzJvrEr\nVr3SwIQ0GSZSMEfTy9yMkDZ6mpCF+mUnKehMucNHSAIT5LZ0OpZqVLMiVElk\nYNhBuK3Y/F2IBH4WMSe+5N8BJ9dHPmkmdkKgOtyu8eyh0P7JzNJwUky3AxRJ\nisT3xvTaou1F4Qj/FWprn/LedgxnHMTfn57/rrNEYXG0Rm/aJcppVrq1yR4G\nn+r2lMyULmu1BAmNKZvyy6YG9WKTlq4KRAUuaQKEifDH5oqyM94Yt7DfI7XF\nAgjIvVh5xk7Tf3vkKtFpFxvzej8WdXV5K6ZivF5tLcJkZPVoMNooGA00Nb0l\njPolGNk+MUthIAmlbqFlzfzExKv6NSwxb8CBGy3FheXrZy6TEJLpjT/mdOz7\nQxDvJ3dI73C4eRdwcMIJD4xLMquvyV/HaPzqqgrbTvu+8QMVk5SxJICA/Le1\n1V7xQc61mmbaYYshJopqdUzJE0lLiEsDyhUXfvXAvJ6Uf2eqlrMHRrtDqxeL\nhujOk7MDQjsT8XneY/6DkbJ36ePKQI+RfmiG4ct1qoIfmlb0+20FFeZtV7b9\nA2JQ\r\n=em50\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"fa4751a5b0655d4d6bf3c9470fe50db2beedb9ed","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"14.2.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.5","@adobe/htlengine":"3.2.8","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"6.0.1","@adobe/helix-simulator":"2.17.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"2.10.0","eslint":"6.6.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_6.0.1_1573448298484_0.6650026711859109","host":"s3://npm-registry-packages"}},"6.0.2":{"name":"@adobe/helix-cli","version":"6.0.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@6.0.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"9824482e5418d3e28eddc0745148e2108c7506f1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-6.0.2.tgz","fileCount":77,"integrity":"sha512-h2bFL1YquISgNZfnOKL+3G3lSHCNzNPBKDVT1B21wGNpVNxU6NQKU5JIlUh7TJZATSEEBWKou00qSaOEkd3HBw==","signatures":[{"sig":"MEQCIH6VbK2aZJKood7KGDMQVASAyvrpEFK9aJcLYXXU9YOyAiADAw5uR4GCMH83i/nbB5lse1EhmElO3BnBXxAlmrqepg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":427003,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzXoyCRA9TVsSAnZWagAA+SYP/282HWl2JhS3NPHK9AXF\nZ/LBQj/tO89vkXIXchKeSNmMGZ5u6JVlYmguKVtEKBxi9ePzCnBwFx/lD9pA\n3JW0Qk4P0ov92GKpwv4Jz50yuVNouMHndgaXPfhifPL4JYrbM1P1ibHb5Kn6\n9uUUOl8FuRUvbePKX02imSsFavF7UZ4blUak27O40wTyTQXimKGY7+X0HAEb\nz3idc+rKUgpigQXMh4P5UJcn3Pz02ZMTFgZCNEbffNeakyNMKn+NByeUg4si\njOdwydvdCYCCan2aQAtNenZr44m+o/3lP3yAfeFoh6xbTKkZBYZtxLTmjnP5\nt7OlXbhVHeJeeGpfzADebF0ZMp07xADIIX88lHr1ISkyWHPEpbX3fqCwde2x\nlEeHrqSxXEJ5hgW1d06WGauRHWvlb1DimAT/SME8QrrsS+Rzud6QT8kV/SCG\n+8qsxyEPb1UhxJKBVEPQdBGeGt0YDOk2VH9hCnknryYajPkdY4WV17NlVEKu\nzjqNtcj9cBmdy5ai4Md7pXjq20n8HMVcDtE4EIvRPJVzCn2sRvQ4o57h8LpV\nB3F8IftJv/YPq+AzHeN8xXMt1aPnG9iJE4q1LHerHlkdSxInOkyV0i1kPUAx\nvQpgXCdhXY81b65O86w9pj0whvy6tvOvO8PKnV5uAebUtc8J4Xe+il8X6zVq\nH9d3\r\n=Js7W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"bf6a1d9f2cd5548d08dd56dc81503c38e4f4e7db","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"14.2.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.5","@adobe/htlengine":"3.2.8","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"6.0.2","@adobe/helix-simulator":"2.17.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"2.10.0","eslint":"6.6.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_6.0.2_1573747249869_0.007729693204119981","host":"s3://npm-registry-packages"}},"6.0.3":{"name":"@adobe/helix-cli","version":"6.0.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@6.0.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3b51c79ddef655b4ef7d2c425a0b81eed223651c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-6.0.3.tgz","fileCount":77,"integrity":"sha512-ZlHtgVlO3syaE33UYDgVCylXiqk7sFjc2HEPiZnfJws0CSDWM06+ly91BzO7ESWxJw4TpOjJvWnKBC1UeEk5oQ==","signatures":[{"sig":"MEQCIGlMkwGstaVfkGg//sWYqJWw0Y+ddBe5WSY+hUoHheTUAiATZseG3iTPBMR9cqg6pZHqQ1Umt9VFjrQnKIElgARtfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":427472,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzlTFCRA9TVsSAnZWagAAnuQP/Ay6OjRrMmRVkw/bgBJb\nkLL3NkdHKUTdZDyPy7Qcbbm0gRPzy2y0JzYI/PEXQdvHbLB6qKR7PezQ5vgI\nXn0JZc4nihWKS7wi5+tpfOOglOMEgB2z2ashom6t9w6yAmRXD0b/T25jfZ2H\njDj3WfV0j9Vyk3k7OuIjX2a5eZyCc8Knkm8CiEYQhl3IV4I+/DvtuHFc1oqB\n5mCjIzWvjqNT7CSoMbbx3aX0nlEcRdyNZ6gc3GVY+0z80ulxtFBWDkoECXHU\niSqSy1LIxPcapMwFYi1nJlaqYN3Z8OLQnTFvNtxGv4mmyBgY9emS+Bcr37wa\nMzerQeIwbQYnepjCS4xxQCBOvXv1kypm4386E1zzQe/Viowb5tVrhqmpgk1u\nIwFWpe5/lUE7PXhGcfo/wVQGpxbEOFEixUtiuXAMVGgFtTnueOcgZjMjNjUo\nwH4QazIfbOlrbuRpy/bmVwNzNcwJ8rlu1mO0ZFtnrj4IoiUIgFZcdsJM8NK/\ndv/hYlfQM04iW8JPnMzVCXSZQaMLgx2Gz+HwBErSWIJDr3VAzNfhC6PMv6nw\nVxrtUGkRqrenJff9QX28mkJPsdRgE2rLKuaQ8o1xQeQYZgpPjy1vaJEMkGJd\nhLEyR8qpz6k4jmoep/Qtz0PCIt2vGz5lwqFGbM1Ut6O6Ni/oBMoMlM24fi17\nfjs4\r\n=hZz3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"2bf34a67ba309dadbeb52a507c1674a05106c46a","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"14.2.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.5","@adobe/htlengine":"3.2.8","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"6.0.2","@adobe/helix-simulator":"2.17.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"2.10.0","eslint":"6.6.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_6.0.3_1573803204702_0.3472644085808918","host":"s3://npm-registry-packages"}},"6.0.4":{"name":"@adobe/helix-cli","version":"6.0.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@6.0.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"909c6e7b2a88e08f2d13090e326f222770d3cbb8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-6.0.4.tgz","fileCount":77,"integrity":"sha512-fZXCJmjWvk3+mLhKnMXDC52pMknUmJPVSwT7hAPmc3kNJQVAGXFEuq6j9m1OTK2LsBCGcOuLPCFcOsoxNVH/nQ==","signatures":[{"sig":"MEUCIQCMbJ2OEeNyTA54nMZM16AtkMkr2j1VCBH3M0Qo4AFEMQIgC/nBq+iLKXEyD8iTajQxdMRPdLNB6jfzz3XE+PB57ts=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":427713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0djtCRA9TVsSAnZWagAAqBoP/2sDjpGTGAhdqybty0u6\n5nqgQMe1Pbh+CzETRh5C/ANbIQ8m+b58z9ykFdschAoEQhTFMgZJuChOuowX\nphhEFNB0xpsjtmnI4vGrfLSwsHJ31TyLQCNyEay+IVcmW6VSPIC574PGQx7b\nA+sAmwkZBOv0q7TlSdJZARL6e/Mg9+TLCkdypTNRk2N89XcBvB1IT09W26hJ\n/F8NjbrhAmUn7IYmm+li5G778S5RWpY0GSLvivLihNRWsxwjNztylg52BmHT\nJ5eaOsf2P3jnpsU0vPM15sIp9I8IyQDM77nX1cYjDnLCfUMbIPG9PTcZ33rY\nHiHC895Fz+6UiFtfktNw1NK6e2xiZxljcOikAv9BfWS4DOLczNc0TxKk3CNN\nlyN3i+32AT6ca/OVIkoCTh9d3SggmwYusA0GO2S6mNFoSMNrls8uVV84Ds1I\ns3O2pGv5NKezCjfqDJLYnksrBb8dYSJvvJIxwCNBNLUtUdF7ZLyfhWQxdb5H\nnOjBD/qisONks+KHxwiG/+ZH552+QqkCvNN3pfY3YMxcQ3gnYZ/Y3gHE3qT3\nUU0WTSiQSYA7Ee8VJHGN1sDVaYxc3ri/oACkIAdNBW+KkzJBE1L4csNhUmSl\njK807hYwMEwKd6IL2mO0oslHTgKFPwIiuz24nJU6HCwyrYK9vuBgCeU8kKF7\n5Qv1\r\n=w8W0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"091c64c73982cb7cd40ef64c9c7e3336673a1dc9","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.0.1","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.5","@adobe/htlengine":"3.2.8","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"6.0.2","@adobe/helix-simulator":"2.17.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"2.10.0","eslint":"6.6.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.2","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_6.0.4_1574033645471_0.6877426086880436","host":"s3://npm-registry-packages"}},"6.0.5":{"name":"@adobe/helix-cli","version":"6.0.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@6.0.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"233d86e4ce08537b3e0e53244e4cfeeb8963bcec","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-6.0.5.tgz","fileCount":77,"integrity":"sha512-yH4XuRCYpoiJb5CEcQabzlEbpjWNT4NNpEFCVDDW7Nz+xDkMx/at8Mz1tctokdgYwCWQs/oocyPEGYK8NOb3AQ==","signatures":[{"sig":"MEUCIQClSKObfhha63WWui6/MTjKmMCslRO+CtV7hBxvH3AMPgIgQy0y2HB8T/ngExT9HFm3YpFNBlz4gIArh6ZunQuNt7Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":427997,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0ebYCRA9TVsSAnZWagAA9GcP+wVGR/rE6N6+382qGDpu\nKrQ5X5UHZsgepuRLq5PQZiiNyiw88fCEJzvM9TvgiKWPDTI/YToC24gETdXI\nrhNxlcfeHppUzC5NnFfrIrXfKOmcUgPtoIbUb/54mhvYVxnddhYC0CShSTNb\nFAJ8kKlwM7FUqV8FphYsyLP7ovygp60d9obrm+JMIsIYDag9t3uGzb+VsoeW\nIN5uJOOltaclGr/VE9PdiNtBAY7nWWq9YRV+/4mdpSBQXjlDQPbY1oSZMnP9\nWPjtRh+aQo38d6Fwfyt+jpM/gUi1VkJrECgnrcJICkiXNc2d6431hyZnhoG4\n+pxbxUajmwkApQuyP3vCsnKxnhzl94st+Z5taKVm1gFCa6Gh13gjv+PHZdur\nh+zRZrldv2umM6Kd4eZyNqGt2V/SlL62yrM/ugk7LjUli6RpQuhcOVDoDJBz\nfs3BzdsGzC1M0yR2muLrJnK0qGQyPKAFFrIWVAE7HIyLF9Bql35xqWFWScVN\nb0+3ZXUoV5kK/jjapqvnDy42pQMgtSsjr3yKVXBR07Si4serTV33q+Y+PDeJ\n/PYnc0WicOsxRKanD9FfWnBsvQ3B2gv0BHic5nZsRFtXJJtgDcslprNmX9q4\nibF4KeL+pe34pv1l5bUgM4r9ce5CZPdvKhpn5T3oMUfyPNzIubaIHD4PbFx3\n5T4Q\r\n=6bdg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"ce2f144bf1477bd7bef14c744ee9520b668d4b4f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.12.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.0.1","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.7","@adobe/htlengine":"3.2.8","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"6.0.2","@adobe/helix-simulator":"2.17.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"2.10.0","eslint":"6.6.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.3","@pollyjs/core":"2.6.3","semantic-release":"15.13.30","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_6.0.5_1574037207370_0.36739179174323344","host":"s3://npm-registry-packages"}},"6.0.6":{"name":"@adobe/helix-cli","version":"6.0.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@6.0.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-activation","email":"Engineering-Admins@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"21792c83b6978717ff57ceb37f2da0f02f9f777b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-6.0.6.tgz","fileCount":77,"integrity":"sha512-hwrQvV374B9+YUz7wU84BcfHxIGXZVE6SjylNJA006aXhfKx2nXcAxMC/mH3aR2VTdKINFBja0kW1MnOmAwNAg==","signatures":[{"sig":"MEYCIQCY+zzePwNyMwAqErg200/WPSyqT430sSiZhlABkSrRpgIhAPtPUnHKYQyoAD6OEGemNeVqbJc9nDzgM0dwPFdaXb0m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0lUvCRA9TVsSAnZWagAAxcoP/jI6G+64MkUdSA1yjSf6\n7Oc9cJdPhVeELpc1tslBmFPvljVxkfPJYm3UpiJRPNG/RQzkV8GEI+IKcPrA\n5l4T6mx47W1RyCIZrgZEltMBbxAyAWo0Q8POEpChX+bAQLO7V3GFIAzIxQty\n4OfvEALqHUdTElDPvOa70zBF+t5MIUs/fH4xqkCqrZEq9OG5U2xv3wOF0a9J\ncpI7/hwme9zE3WVPxu5pM1JN61chx9U4kuzUrMEHsfXRm7zVvkuQcqBDxeIe\n64vebBOeCvL+p5s82Ncn21ezJD+xPsHGxu8IRFNAT/BBm00jd5WM3KjX7mQM\nGwYvsUk0KnjFC91ft0upKboUY+tKZyn4Z6wbEgv65jqQgPlWAdDMcVCKtLyA\ng5nDz4gobQGeYapLCaDs6Kq4PAuZZqwCwOiFKLGci2F/olqF5p8Ca55nFKjn\nbQu4ZdHxwfGOYS0zTr/zof0xgkJEfb/SmXon2gKBGNN2YCgfe5FXEZ4Ns75x\n2qSDGcHGqS0aNhWRVbdrDibxoM73oQLQAralCaaboEHWNhakLAnk9ZHTGeS4\n/54tIrZdg78WnuYZk5ZRfRpMJ7pa7CQXXegHEKOftVCNJ3Y5KKLsgYGqhivv\nQrlhzpA3U+nliEZUrxxCFfyBbHq76R6ujuBfsx9JUSv7ueCy0lmxqOuu9ryb\npLQe\r\n=MNGV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"bff8bb4d7e4bf0b58e50eeb4b5c682a98cdeea61","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.0.1","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.7","@adobe/htlengine":"3.2.8","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"6.1.0","@adobe/helix-simulator":"2.17.3","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"2.10.0","eslint":"6.6.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.3","@pollyjs/core":"2.6.3","semantic-release":"15.13.31","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_6.0.6_1574065455226_0.4968974786597826","host":"s3://npm-registry-packages"}},"6.0.7":{"name":"@adobe/helix-cli","version":"6.0.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@6.0.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"abhinavsaraswat","email":"absarasw@adobe.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alexmirea","email":"alexandru.daniel.mirea@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"asteed","email":"andrewsteed@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"conyu","email":"conyu@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dkstevekwak","email":"steveguac@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"jileesh","email":"jileeshsathyan@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"msavin99","email":"savin.mircea@gmail.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"praschetan","email":"cprasad@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"sanketra","email":"sanketra@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"6c6e107b280a9bed100474e05d109f0886a07f63","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-6.0.7.tgz","fileCount":77,"integrity":"sha512-3JUgvbwlUz5Y+kM/xht5PMBrkiohz83oW1Ly3FG8TSQMwSKxX44IDb2I5+ZlAcr4I9w8eDHZ/zSXl2CoqfLzdQ==","signatures":[{"sig":"MEUCIQCR4DIWfTQHCF8Hsh+M64QgnN9Dh0qqAaZEsOtxfaCvgAIgbo3dmsjVAYi5jRpJ2CKa7t8rNmHizws0vofQZ2SBf/A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd02q7CRA9TVsSAnZWagAAtbYP+gIJcUohmdwgHRccuPs4\n5rTo2kEGlAoB+/kwIZGknFa64zMdCdkj5ooOTLkj/5xrcUlb91z2Ky0lq64c\nfbZcqtjRIO08TK0pAi8ifJF35eOx4lwQWbbqlqRtmsyUMX/Nj/FkyKx+Ydo7\nUva+1jM2vaAdFl75vDvWT+RcC3qOsof95lk2sGmAdKEFZBOLxfHyRVHlfQ8R\nJcT1hwjMsJ5NphyoBJw4w8kXqnUGXWtoRlAT90hkZmk1k2SahXf4deETANph\n9W8d9wa3J1Xljr7QcopPoTX5ScglAz8Mc4PvZ4nRlGdrNcuriYveqkkA4AvD\noNvQiKmTQAeRIHH1N8qdd6kzW5Dm/I46vLN/8QBFPB7fz3mkqTtnlFrrPjPI\nSXzofjXSUEYEAnExCjlacGIx9knxFtY5IuOvJpog32xdVWjwJjv8nCkfL6LC\n4GyGpnzuuqeQMOE8RQYfw+Sp5gTLXy9dwWf8jyVZ7SwNVkpMZJJazJUJ0+7v\nWDsaTqBi4IAGg3u29DTOT4XcO5OdkgvRzdbemw/9qqBizsUEtvRVi/SzFjcm\n3fms6nhi/zSZl3rZlssl6dsWo1pbeWBqwZrkBYWRgVASa4ktoTceylFacpaf\nA0Ji6gAIMbGIm5NmDgd7OLnidEU8Yd6h4HIEZF32KAFhJIxNPajAQc7CL1CC\nL1uh\r\n=U+kE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"33e4493381a5e9e5e202bc74557dbca25b815702","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.0.1","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.7","@adobe/htlengine":"3.2.8","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-pipeline":"6.1.0","@adobe/helix-simulator":"2.17.4","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"2.10.0","eslint":"6.6.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.3","@pollyjs/core":"2.6.3","semantic-release":"15.13.31","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.6.3","@semantic-release/changelog":"3.0.5"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_6.0.7_1574136507309_0.5376597561600365","host":"s3://npm-registry-packages"}},"6.1.0":{"name":"@adobe/helix-cli","version":"6.1.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@6.1.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"3f0f3185589edfe0818e83a59d9129bddd1d0c9a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-6.1.0.tgz","fileCount":78,"integrity":"sha512-U7DfmgB/Gn+PCKGlidPFhsc8rN0Fw7tkWhxdwSgnYYzu9mJP4cdawvNKm580rPiVSIl2/2myVjM276ZUpfDMwA==","signatures":[{"sig":"MEYCIQDq7dI7DLLteGAElVVG5i1blov2BiSZI35tcZpefjAFcwIhAO8xiuO7QHdSEEq7/Eee18YHquNRlAPNuCAGHaLrX7QC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":436886,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd2xwJCRA9TVsSAnZWagAAVDoP/3Ds3PFKabJFlajbHenL\nOYqcmeveYhx2naDsFxkeeeVeSjZBTkc5pJ1wfp0D8Up3PhSsC2blJZ2gZaU7\nT//dHI5AK7YeUmF/vZJ0vs791ShT6obVCFwQK6hHy6qj6u4yY3Ojst/FYA/9\nuZmW9Plx2/JKfFL5d7uqCxq0z20YnBQ7AVR5dkjeOjCX2ifecaZIzmuM9Qla\nlwBz1biFZZ4bR1ancle/6c+QY8UMYpRKUFnuU/2ryFis4j9pTf3FxhpX7dKF\n2w8Eqk8HEBmXLgawv2ticvjHyoXUb4IsmrNwaau+wm9P2AYOo0MHakNAvdqR\nlrul0ebjyPry5WuVWWaYorfb9z7oJfvVp79BP47iH5sxQNJeBYBWrCqI+06E\nTMry1+o7QyNYKU/DBtM8gumnTQ+1EjZu6u53HOmMofWt4bjIoXUxZcIboaTy\nr7te6tRT7LMDGNtwKSAFmFogm/3TpSg3dfVEaiCfAZO6Q4y4ddfNEoEHlC2G\n7nzCaut2gDk0PRE+AaNH0A1MXabFSUn5RWFQfhNx6/+0JD2ceR2meHPDaLHe\n8KX2l9THlM7fkdEP+E8M0+wlPzOz5CRSJS63OSPttWqbWd2O3Fxn+QJ9IRwt\npE00nYxfZ+SIOgGOh45XopnumQuvbFAwkeKeUwg5ZZ2CpwO4kwTmTOX+7yBz\nINry\r\n=Eqt1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"02b1a63cda54c5d1b45c58836fed7b04d8788e16","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.0.2","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.7","@adobe/htlengine":"3.2.8","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"2.17.4","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"2.10.0","eslint":"6.7.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.4.3","@pollyjs/core":"2.6.3","semantic-release":"15.13.31","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.7.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_6.1.0_1574640648807_0.8943897713841749","host":"s3://npm-registry-packages"}},"6.1.1":{"name":"@adobe/helix-cli","version":"6.1.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@6.1.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"dfc39005186621a467f7469efc58a5d4de1d911c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-6.1.1.tgz","fileCount":78,"integrity":"sha512-310WV84d5rbbIkZtAlYggLeLsx9k7rwARJKN5WrHis1GvtyUSM7wH0vJ5US1gznRq3LalkZlihquWghm6pZ0Tw==","signatures":[{"sig":"MEYCIQDEul5dyEVTQqNvbaCAgG+6IQsbfd7Y5r9i/Wi91NXIOQIhAPbZPAs0gk0AKSuCSNLJ/geSwWjQxtEfADGro6HrQRwX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":437206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5GP4CRA9TVsSAnZWagAAhC0P/2LUA9Zggqb3z/v7XhUW\nW1WVBbwiD/GRJ40g4DmFv6mH5CEMq1iXTszKGexlyT5noFFr4tl4IGmfIimM\nK1ybHA5hdHu+dMeAJvAWRd8N+dgGI/DktkOUK2+VXiHcQjbAb9HLn2zKYIdw\nfJV0rh69cnsjVvLQZcKrBASEDyPXY8DgJ0e2b0D6TC5OjURnGrNC1NyFvAXZ\nLCj/UerveTCCJkW4mBWQfWvjkrHjNHdtbSwkeBogSWmTRbUDRHP9RtQGa3IP\nysb3/mQSwquluTUsHvGQodK6voCagkhJLxjHFWsieS+wGIh7xUjkMglCsohQ\n+x+C20Ak32nqdTdAJLXi80n9HBxFQ8MrGB65cQrPhJ6ABJIsKcRgTT03AeeP\nbJOuumEyrLIeAon4VjlrpUS26okT2YfDGk5e7Uhkd/MjbK78Aq7pCXke8WuM\nKml0Idqdoo4gzv4v1TMXEvAVb2EM9QU5FO0OUeKQdiv42hPg7quneqitkanS\nXp77Pi7FkIBO4QOdOVQbkBdWHAwpQO8nvSThe5CCS6+6NoA4FFmUq4iYLg7j\nw5Ta1l0ZTTY7mNhjjdNyG2D6JGx7A3cYnxc9ydCDYqOD0tsJvaF4n/nbHYkC\nflDmF6VOV8tSYeRfpjeOcP8nLPW3RSppUg3AVNLyHQAgOconPfnhK43CU/cM\n6XWT\r\n=x2E7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"ea30ece7eacc714a83c06f47806357952e312c41","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.0.2","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.70.8","@adobe/htlengine":"3.2.8","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"2.17.5","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"2.10.0","eslint":"6.7.2","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.5.0","@pollyjs/core":"2.6.3","semantic-release":"15.13.31","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.18.2","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.7.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_6.1.1_1575248887601_0.9472966839837149","host":"s3://npm-registry-packages"}},"6.2.0":{"name":"@adobe/helix-cli","version":"6.2.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@6.2.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"./index.js"},"dist":{"shasum":"83235c9dd91a74c94a5e913bcf9cc2dab645e027","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-6.2.0.tgz","fileCount":78,"integrity":"sha512-jQ4T2unpq6IL4Nb95didDAJRtzKNNoSLdPy/44u1XPOz8meNvQBVR6NbLDRcQ/k8xkVbAObxFtbRWq0mv6l22w==","signatures":[{"sig":"MEUCIQD0+VyRz/jkk3NA4cSj04zK7GCPKcJ020BGmwkmTdPNlAIgIbmY2DanVIzpOHkjQ91GkX8cBxCl+9pFfBzmEl14/TE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":438755,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+JZsCRA9TVsSAnZWagAAySMP/19qcaLt3R10OvdUGks6\n9eo86scNTXtlYIWOm89pJMxQXPZ0smUUFksC5GpZ2NzmHy00+TuNNPFrFujP\n1ZA93bH2rY1s2cpAdjWboIKX+QLtbzAaCK40MVogzam+9ZriX90AKNTZw1Rk\nqf4h2Ml4ic8w/iGizXIrekTkrY0fGDS1AJyql+KscpORzJ6IaajsxU3tdVpK\nH31E2mWJDw5dRpRyouYPupWU/LczOR6+ptchiy+CLEyK8rCUc0x2VOX3//Mz\ni1Or1z08UqD4egZOR8VDu17UP7P5PTmtz0geOfI2Sf7le1vdEcSGgDLuUctd\nuvPoMYgDBj0yRCTsI0HaarlTmS2OKeZPR68SIhUhWLVYJzYDbToGjgNzbupa\npQJDoB12mXhOmc+Wi4WvN+CUWL6J0JUOesDsSLhyWBTfY0aYA5zBU5uErz/T\n7+Cp4ZDpB8Y9eXhFagvInjIZ/e1SsRAMO5dEmsU4ymbbYaRHYLGHzaXGfR8n\ncpdyRkax2avGON+0wavAqjI/DSxb5rSW8lTV1HX3qk6Hg1D/bwToOzBEU+gK\nkDoR0JudqliFAfjfStT+9xDsSkVmJuhQ8nYB5yA5o0wno4pKmH1XJYLl6SG+\nC5srkYcgQuUwIbP7DfmMzvY/YsPvWXiSWM1Ra65AlUUZmEYrJSMCmSj1/xAS\nj/J4\r\n=/mAR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"972f6ff2c7e83d789516898eac321237d69b5f13","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.0.2","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^6.3.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.72.0","@adobe/htlengine":"3.2.8","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"2.17.5","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"14.1.1","nock":"11.7.0","jsdom":"15.2.1","mocha":"6.2.2","sinon":"7.5.0","yauzl":"2.10.0","eslint":"6.7.2","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.5.0","@pollyjs/core":"2.6.3","semantic-release":"15.13.31","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.19.1","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"2.6.3","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"2.6.3","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"2.7.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_6.2.0_1576572523808_0.17149972587839324","host":"s3://npm-registry-packages"}},"7.0.0":{"name":"@adobe/helix-cli","version":"7.0.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.0.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"464ff52fe62b856b3509bcac5a0bec0aa43d3df4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.0.0.tgz","fileCount":78,"integrity":"sha512-BREGSWyRIot4mIVEab2lUIvcOaNYjcDUQklyesukUe8B4mIXrAeLdg8BaOOCguvfANoheg6xrHbSVWo5SJW3Ig==","signatures":[{"sig":"MEQCIDg2anSAspyeMJsIhTqNJIVPcOd8PiGsetbsMWrXrUKzAiAEeG4rA75/hbydzZ2Pzgx7mKU/fJKb8uuEiksRaudUWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":439334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeE0T7CRA9TVsSAnZWagAAplAP/0qf5ro1l7/zAHyG7NSz\nrlIrszfs9ezu6vVxrxgZEcnU49dwYGAd1JxGqC7TFvUkIPPxZLao7U+pldvO\nVRSWrKOTKhaMG7OpmoV4Ve9i4wikAuicmANLzM1LN+x+0i3KB74uMs2l9jcM\nzlNIX47JqzFonagq0aAjn5lYs9NPPbACgcPlghAUWZbm8/3eHbgcwYIIFGyH\nMX9wyj1CCZWwWl62VsJqlmsOVwqz+jZicxmHH2hhCoNJq2DcHvPs7LRDJlQU\n/Bw2OjUUR9mC9zE3Ob8UmdiFl/lOxVpKg/ivNxU7mtBK0BLv8x3VSCThqTiK\nPWEJDmD3B9pu7Zdyb5gss2xx2921h0peyUqdkBEpozHRNR66qqYCFxGMD5ao\nOcsDm/RogAQ8U55IC0GEW5X84UMnbIagPZrA1wsdUuL8CNzuLzONxwd/99e6\n1gTsxLUxSEi4FJiGr8oqzzyGeGlJR1eyys+EjVhsMHz3lymeGc4zL7xXyDRn\ncJO18w9ThfF2TsGZkjR9Ozx1qmUWj2ck0cDFnIlFHrK0s8veDvxR6n/RH5Ev\n8uXCfwl/Q11QJj8f6hS/mfZg348y8F8ahHZRS90lvRX1ZJ9ju1tRe/P4fOOZ\nY/QdB1EuZIupt3AiKw14ZnMm28bf9u9RQzCsPokStlvmeqFIaSuadOBgDd2V\n+Dnc\r\n=nJnx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"8ce203d622d42f3a602c7feaf254345d203d1de1","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.72.1","@adobe/htlengine":"3.2.8","@adobe/helix-shared":"3.1.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"2.17.5","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.1","jsdom":"15.2.1","mocha":"7.0.0","sinon":"8.0.2","yauzl":"2.10.0","eslint":"6.8.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.5.0","@pollyjs/core":"3.0.0","semantic-release":"15.14.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.19.1","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"3.0.0","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"3.0.1","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"3.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.0.0_1578321146550_0.25306567249055356","host":"s3://npm-registry-packages"}},"7.0.1":{"name":"@adobe/helix-cli","version":"7.0.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.0.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ad5e70fd5f120d1b6ea2af728773ef3317508400","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.0.1.tgz","fileCount":78,"integrity":"sha512-cK7T8vuRuIgXFq4MkETqwRhmHlcZNshcZ8noYRiqAp9W09JqygUbP+8Cg4TLqctO3cKBrkbQ7HBkMwTvsbwpbQ==","signatures":[{"sig":"MEUCIQCUoGoJ/U+3M0Zaqwk74Cl6oNIwLdtw/hvUW4jvsgOxfQIgSqS+TflxNcBd+hMgLfFiaNK85oh0iLCg/LLZVOsG1GI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":439644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeE+jKCRA9TVsSAnZWagAAQmIQAI+Lovawn0MGsegM3fVK\nL8yRlrPPmNIaNChV9SyYjJ/cnqlWs9JHk7+k8pxUDIhil37ghXbm/TxHZ8en\nZBxufrYeVL+4ueyMXd6t0eoy06sXySR5MROO6ePp0q1NiSfETQM1VKkswjEa\nTkLv1bSEA90W5UP/JwpK9Dy5g1NqjRRfCI6d8L2v4zqsOtHUZ0t7iE6sF6vd\nnv59WkaoYydGxp0LcipRgRh2o9wuAzuj32ndIxzyRz37cBcH5dPrbwO9tuMO\nWIaaOebyTDuOXQY/jjuxxekadMaYOy9jmcIg5FRrVIWomH1t1Vk4egNvvxOx\n3lzz7IKSPwWj2a/aXcT92KvCGQWi1/IyrvL5ZHQrJb1mDhjcMZC+NfQ7jG1/\nzBbv/NjasRKrl4oihX4RFFOIiS6tRELNV5lwrdg7vv49h0A5967deFabobsN\nXm1phP0HIf+EvWtpbABNkKBTr5MAnLqteUyfXSzavEPBBJwgu+MpG/FtJgJi\ngBJ4lqe+wWGu1PkyLWVfnplxBHNwgt++LPgpsqqBc/3pwRWYtjOZlzhm5iSV\nN3GOwiL5axJAr2x0mqxjoyE4gMvpiv/n3Hl7UqNBsvXUZQi1QxQI8Qw1OBow\nto0NZXQm99q/W+wbG1uIL93yGBnB5K1Ipa6CjetUmV8JAUThwnRB7N/6k2wN\nZmue\r\n=9zeO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"a5bc373b75aa450e8849ac9884b16f0d5dd855f7","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.72.1","@adobe/htlengine":"3.2.8","@adobe/helix-shared":"3.3.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"2.17.9","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.1","jsdom":"15.2.1","mocha":"7.0.0","sinon":"8.0.2","yauzl":"2.10.0","eslint":"6.8.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.5.0","@pollyjs/core":"3.0.0","semantic-release":"15.14.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.19.1","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"3.0.0","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"3.0.1","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"3.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.0.1_1578363081686_0.41386330407096716","host":"s3://npm-registry-packages"}},"7.0.2":{"name":"@adobe/helix-cli","version":"7.0.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.0.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ee22b0e5fe9257f5422dcd7f4bc6577e3e3abbba","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.0.2.tgz","fileCount":78,"integrity":"sha512-SSOlurrjkApSawaOwGuY+BL7aJWw+DSUS4Ql3yE+684GOMFzHYJqY1OCBrqV8s4HPrRoEUdvc6JsUjlRstF1bw==","signatures":[{"sig":"MEUCIQCoaA0e++O741FAX729gYIb3uohKwDorIHuBwM2nx1UdQIgJfvuzsPvvqi9lQaoXhQcl4/dys/tkzx0L6eMP4XF+qk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":440084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeF8sqCRA9TVsSAnZWagAAZpwP/2JRC1VH3biF970yXX4W\nYQNtzKiiiQ2Y0YLbHbWJHpyMYDAoTMEHuNyBK2lCjbYllqmp8YZ5ValVs7CS\nQHEckjrbbBJPduiqbZO+lRIDAqczOs7l7DDDCQvtDLXhvAdFnjpjdWCD6HHO\nPn4/QS+Oig9HYPpP9W7n2q5kU631wv6eMRgyL4tC1ZYQNJR/FwAZuziozQ0i\nAQrSTRF4ByatEoVaJJG5m89VndH54N9LE61w3rXle91eBSf0Mgd7cIGolZdg\nddYD1YgWpVImkUC6bxDxiuAPGheKmy5TS7nzo7WunWo26gJqYQJNDIFcJE7V\ns9jp51DLLp+T6K/1FCC8qZa68nftkpYEe+4bZcytbinJRpw5DodhG8WyjX5P\nDxoJnorW9YRZB+4CEqMbLjrOGQKeg8RA76PJkbSge8JmD2TTrxVsWW43FVel\noj9psa3iQeL1jo4ECfQK4GQd12nOM2nF5UQnfaNbUHcjevhBCmfjbEZyU4g8\n/buy7/xYKYu/aIxAI4g2drFRGyCm59kKTTSteo1/66LGW6GYWrL4QunUsADB\nRyW0qkEsYMtPfv60q+ZV+qiyDULGMH4tyBnx2xlgpNlfD9UzCU9EsoriNmoj\n4Ydstz4H7fuc9WtB7D/1DKmtnM2MgirkoecTacCvJyYcUAzmAUm+RP3+tfSd\njS34\r\n=UMQJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"ec927fa55b08a31d2cd897e1c251dadaabdd31c8","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.72.1","@adobe/htlengine":"3.2.8","@adobe/helix-shared":"3.3.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"2.17.9","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.1","jsdom":"15.2.1","mocha":"7.0.0","sinon":"8.0.2","yauzl":"2.10.0","eslint":"6.8.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.5.0","@pollyjs/core":"3.0.0","semantic-release":"15.14.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.19.1","mocha-junit-reporter":"1.23.1","@pollyjs/persister-fs":"3.0.0","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.2.0","@pollyjs/adapter-fetch":"3.0.1","@semantic-release/github":"5.5.5","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"3.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.0.2_1578617641557_0.09463076739217735","host":"s3://npm-registry-packages"}},"7.0.3":{"name":"@adobe/helix-cli","version":"7.0.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.0.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d1ad999ef83595d67f780c3f626aec90527e303f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.0.3.tgz","fileCount":78,"integrity":"sha512-2M2MjDoSFNGsBF9Om1x+9t6MpgcjEekHrPqkiiCuOIY/5YpbSjOa0vtKM4+C8yipZFbHbh0se3KNhavmGeUDgw==","signatures":[{"sig":"MEQCICOGLV2iO/0HyYU1ea3XzSY/3Fro+arG4qNligessI53AiAEJmEjvMvPsn50i4vNSoWCXwiF3lvX+mSvHjFl10yDvA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":440395,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHTWMCRA9TVsSAnZWagAA8gQP/i7kWWhSXJE2ltDaAZpW\n2hCpzwZhu4wMqKl6vTqbMQqzBuBemTLTg+fY3Ztm5BHP80/nKY5Ps2xSBSr+\nAtefXjUDwtgMCiiGDx+dXA1VsfpR/cbzs9MJZXXdcQhzr6wIO51LiEasiePI\nlCX/Zo54IRc/9HXdFRYYO5e6CI3cFD1PXYrsxOEL2H7unF4fLE6bQ1gphirs\n3peyLmAiU1Lbn8ALWCj/zTHwUyb7QcjjwFfgzpqrEOj6SrnKUIttIKm+G6Dg\n+dnjubRuXSFA8YI4Wgqpkd30bPqaW6DzmSjXv03zUvZNgtk0jg2cS3sC/frB\ndUpg58p/7OH1kI/aZym3FJL774pQmFcnVoS5zP4KVxHsKauWmMGjWYT+FiWJ\n0EnAZWM3++MNg2viJGeIgfOHo/i37IgvrdJDIdS6v4MjTV0FTdinTo/Jls57\nKwqlKwHUqknk3hAlfuib0Vx6fs+pnwHkkUlQfqOUxnscaW6dA51OnmbTr3v2\n/g7wCOhTKQKKTeNikaXfNbKqpsbHS4c2aN7ETScc7Of35YCXYOUWOcV+G+v/\n6MlZcnNIxz8J7pKLEFYA+hTFXmpXMvYHKny7fG+AG+5EeE3UzjLL3RWLLWWH\nmY9ORiWq/s3+O8NuGJb3tDXCzm3qfU0V4ZnU0TlZ+OIWinsQjezulDDFAKfw\nMkrK\r\n=N71t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=8.9 <9.0 || >=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"62ace2be1e913fe3ee4894caa581a393b63f84ed","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"8.16.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.75.0","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"3.3.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"2.17.10","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"15.2.1","mocha":"7.0.0","sinon":"8.0.4","yauzl":"2.10.0","eslint":"6.8.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.5.0","@pollyjs/core":"3.0.0","semantic-release":"15.14.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.2","@pollyjs/persister-fs":"3.0.0","@semantic-release/git":"7.0.18","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"3.0.1","@semantic-release/github":"5.5.8","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"3.0.2","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.0.3_1578972556044_0.2524091979963692","host":"s3://npm-registry-packages"}},"7.0.4":{"name":"@adobe/helix-cli","version":"7.0.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.0.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ef69019ea42ca875b02a59ba6b9121fbe283fc4f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.0.4.tgz","fileCount":78,"integrity":"sha512-3ei9xN/CAo29IfORPJG807XX+fF7i9QWatXJ2j+go9aIQY39yWZwnpS7xjXuNGAgMRsOUrwM3fnZEGIAH97JZw==","signatures":[{"sig":"MEQCIFjSNfvknMvBgiiEh19HKjgZIQ/7V69lHXx6IfLPbzpnAiA5ZJ2cwiSGzHFpgAJEtOKzYqCeWWeGmNUukSQjXOgN2g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":440629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHYEKCRA9TVsSAnZWagAAKCcP/3nmz+SD2EB+urEu1STx\nNrDcp5kJ83ogS46dtqORd/iYN5e4z1VjpiplF74qmM869O+plEUS/P6txITm\n3jLo2U/ccRly4Y4osBddUt/xUscSzYWs0XSkzbCVwIzHr7XyYHEWIsr5RJG0\nOioMFGCYguKl3izKilA6JvKJPytrANIfX7IV8iBiIrkxOySiowNlvn8mIBdf\nEvBK3aKPitJW9qRO+i60WhAtxoXRrRy2m0WfdxvEpgDwdJxZ8qI8HTFSku28\nmLQiuCd7wY9uLCA9gvDcFHZAS44w5ALFiMyYnhtmBuy8oRuCXMgn9WqkR6zF\ni4e/0gOsqPDcMrkTi4LiqD/QvBdv0ExDGhwqhpfwdBUj0yVBIEaHKKFdvc4B\n4STdlEECQm8ASVsrN7UqyiO7CUUfd4uPV62Ri9r0Jjeacls2I/iz6x79vsAo\nurp/qe0naYVI+H530VGLeddlzMnh/VYLyoQt3zdtquQvfZwA0uqlYyfOeZnv\niZNilJd2R9XSGmJUuLmT3mCvEvptqKZNQvmb1Hp3Fz01Mof0aRUgsfBRUgpQ\niQ3UKZx3WK7gVw6r2mK6whi8AJ+/rzqZ37zTVg0OLom/bnKQtQXwwuVDpxSa\nanYR93VNr3f+PjWGRfAsC9vbsjxhV4KZaQsUmqS45opt4+rM+5OfIz7mli4R\nLEZH\r\n=7uO2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"7787f1af14437e5b634bf12b3db1ff107a5cfb96","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.75.0","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"3.3.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"2.17.11","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.0","mocha":"7.0.0","sinon":"8.0.4","yauzl":"2.10.0","eslint":"6.8.0","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.5.0","@pollyjs/core":"4.0.0","semantic-release":"16.0.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.2","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"8.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"6.0.1","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.0.4_1578991881829_0.6569276322421065","host":"s3://npm-registry-packages"}},"7.0.5":{"name":"@adobe/helix-cli","version":"7.0.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.0.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6c328f735c0f16e888fe6d876218d76e9f625f1e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.0.5.tgz","fileCount":78,"integrity":"sha512-TtFTTwX3ofBRRowkEr8cX2Ylyukm530ae/OY9j4wx79YyhWzJdyikvBvhPgPCuWQ/hmgCVg2rAf06uwE35OMDg==","signatures":[{"sig":"MEUCIE78d5uNZv9USf+vvQhNAScGpYJbE1HlQ6eoI6nREt1VAiEA+dTJxVxs04yyFNdeRTotTIUe7uDGHgge2eQefzQ40tc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":440964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHm6iCRA9TVsSAnZWagAA55YP/1iYrNM4REgKYejB7HNP\nX8H4UcArrXw3Rn7MY++BDaV3ZFURr3oZryirpx4qz5PVRPCHk9lmSnkYnLe5\n0hcxduzXRb4LMqI1w4u6DnVWR3U77hCmV0EO2JnzYmH7zquoYB/S6qqas88y\nFv9/tOS8xL7fP6r8Y23YnumQBzcsgFvc31lcwmmdcU/V+bBfln0gUHlqzdtU\nIFgYmdLOkpQaahdzUzVb5lhHANxejOJaTF3Bo/7s1FFzQoP3k1Y8ABNE90EL\nO1cMssFinF8ApwA+baZ0BM7r6hDQWTmvEIr/7K5u3sctj6Mt3Cn1d1E+r+V/\npx3ndVOpUz6SYBY5Cip4kQNEgsnGShlqv/3eZJBkv26idAFeyg8CA7tWvbts\ndn0EFUBmC7NU0/o4cRZ98HgiqHjJmd7WSIrhi48v0KPvUx/F0GzqLELj7m0K\n4cfSKqN/4wVg7DBEHvsq4fxZaNW6T4tWCePCb5JgibNM5Ye0Go0hLYMNJmmD\nMdoG/dY8arX4ZV1WrbDjfM9pFLSIn5noNKT+7EujBU8rYt00TX/XexC6028J\n75BsPTmsN9p+7hJMlJqCfDm1WBIzaHKecWjywPdM7YbtJLR1VlVpdW2LZof0\n/UzGHxPAb/U1xFUDoBoQgfggaR65Ppo9gzqBmbKE2kORtVZU33bdlrjXduMw\nzWIS\r\n=9QTu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"cdbbd76060e0426855a30cfd4a40acd5ae707b46","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.75.0","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"4.0.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"2.17.11","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.0","mocha":"7.0.0","sinon":"8.0.4","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.5.0","@pollyjs/core":"4.0.0","semantic-release":"16.0.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.2","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"8.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"6.0.1","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.0.5_1579052706399_0.549114600300799","host":"s3://npm-registry-packages"}},"7.0.6":{"name":"@adobe/helix-cli","version":"7.0.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.0.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"209f75117f9dad42490f6fff116bacb2010ae1ee","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.0.6.tgz","fileCount":78,"integrity":"sha512-JpY8g42Vb5F0TRV49PDN1vG8H8wh2xmC0f3M4wZYyfjDYcxKSpv38QVZmvyYRgOqHYDa2AMWy3/+mznASwnLQw==","signatures":[{"sig":"MEQCIAgR7UfvhbFr8yDncFSO+tDxlzI5Y5e5BkutnK0bLAexAiBtLqA8OecB2q4sUCSJxnJBVUEkE7qCsQzuTXrwM5EJaA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":441222,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHyrkCRA9TVsSAnZWagAAj5oQAJZD8UG5nlu9Jyip86Ym\nGzS/E43nVSaifC0bwmeJ3TgE51o9TAkn+0uLbJST4YCKqOjwGZ5/6tZ5xjld\nVUGKnCIC4VK6AtXvj1pl7XyPfvaU6QATBC91SOuB1yGg8MF2Oeve59GTqzpy\nHoVeLxkYeeLRXjz6qXNCJJJchnv0Wnjt5BxRHwYFbBWsavT00v+6ickbzCZ/\n1QxsGNqfSCujtgX8l8cExbP2Ta5+MgW8geAl/uHYZOmvdqH0iuGGf2B4r8Qp\n+d2aIIbCsHDJrq30gjQDrcPi/wxkzhKqSitsbkha3ls89tzEh7HfkYh8HTRu\n8GqQl0n+FOi62GHyxWxnzw/PUImZhvo98lHszICI5EtbtH1MqYmsmfyT3qQW\nj1LiI8qQ/rt6XrgjdkI+PhHPLsljd3/OEEB+MA92Ngx8DxqsRRzuxWGurw9a\nViwlqxeuBKSMABUQXp6tS4o2rr/YZ0Y+YA+GY4WDtAFU/Ro/1odyrqSf5b9+\np9+oIm/4uIk7kVs7h8X+Xx6TnJwFEEa3aCD+L4cCCch2zGvErJZYzs9UsQ8j\noKOuOgzn+EdQz02KPeBQ3igxJSXh4J0hCmh75QpEKZ48sxdCm/LabXe1pKmD\npszElptG9LGYf7HyUm11w1xvvx6A/kaCmgOQpwNGUUVtu/9wZtscq5W3n0MM\nOMFx\r\n=rvKi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"eb91dc0ff2649653062943c7ad9be2e79335bd71","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.75.0","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"4.0.1","junit-report-builder":"1.3.3","@adobe/helix-simulator":"2.17.11","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.0","mocha":"7.0.0","sinon":"8.0.4","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.5.0","@pollyjs/core":"4.0.0","semantic-release":"16.0.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.2","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"8.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"6.0.1","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.0.6_1579100899884_0.9445674192502826","host":"s3://npm-registry-packages"}},"7.1.0":{"name":"@adobe/helix-cli","version":"7.1.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.1.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"668e8fd660d54d83b63e68676b944527408b3495","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.1.0.tgz","fileCount":78,"integrity":"sha512-F1Ebp2HVgu4OjJNQtse2ULIZCYf8fd7VPxY+m5tetwn+kgeK6ATq5Xah6gFPiAN2mSCIl7h8lgXhcxPdptfUow==","signatures":[{"sig":"MEUCIFBeG5b3mhVL2/oqBBy70QjdzcA2InYnkWZN/yQ5gjgBAiEA0AerZJDP9vatmGBMYiZMbbEk1cS3nzgfcWkCvTK8kf0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442219,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIgU1CRA9TVsSAnZWagAA07sP/3vi63Z+t6dDQqHKz0T0\nuXU2XLmhcWooIf0LxvMyuaP2ftdjgiYePPh7ph3JtoZD1VOEy1Ye7nSfQbIJ\ntXg5xaYbUJLfPD092NmfkAysVYTKDojuhW1hBF1D0kyo6fzBSKxx+xwUambU\ninMzfjE/rHGOFCP8OqZSeE5YGsuLauaSxbb4ZOqdOfkEU5h2b4GQI/Tg6p4i\n0HCvQIntopjwt1vKeC2M0uwWXDXLiX2ldKKdgFQepGVubnUKcSnvpJ57Ux7j\nv2T5bTF/RC9edjw9lkPLO11Pia3Tb9TuWrD6yBXVaVfJkn0rFgfcgHmfjib7\nW4Z52BlmJXRhOZU/+wsdoPOTJ4VW+BAIikhYDMSSLU7ornFfBrHKo7pqMM3U\n2nu/5FCLgOSlFsw0yNYfOu8thp+hyMHR2TI1ur6Z4st3X/0cyL7isESJpjOr\ngAGKH1DfQKnk0GdQJKc3qQG+DYE+8jeVA8AwYBxLtvx7Cki2dL9pyPpPEJt7\notUHDiSgHYChJOkZvKz+N+JGiwp1ee5Y0F1XqnY1MG82IUBMifVg8+3Y8XYx\nral+hfearbcwbQntiW93qsIMRArOyZqDxKMqfsr1meALMycOJbSliNy6qfqm\nV+zjlEOYGQ7PjSZj3Ck+Ip1eIq38iub7lh1HaHKP4hSp2pcCpUkUR/b4kXoi\nDSP8\r\n=qs1M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"72c9aadacee9469b1536efe765c111ae5028b88a","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.75.0","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"4.0.1","junit-report-builder":"1.3.3","@adobe/helix-simulator":"2.17.11","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.0","mocha":"7.0.0","sinon":"8.0.4","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.5.0","@pollyjs/core":"4.0.0","semantic-release":"16.0.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.2","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"8.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"6.0.1","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.1.0_1579287860642_0.20128798793292302","host":"s3://npm-registry-packages"}},"7.1.1":{"name":"@adobe/helix-cli","version":"7.1.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.1.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8cf9e091a20781e9d10547f30b47e18f814be7b2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.1.1.tgz","fileCount":78,"integrity":"sha512-Qu67ISAhHD1YbBtlK90WaivM/ipmzn5QbTRuZHMEEREjioQUL+DdXx8DI2BRA7ltbQEGOmDAQMzaIbTZJtCP5g==","signatures":[{"sig":"MEUCIFgFV0aWptm0S61Dl1Eii5xaFG4igtAU3HTL15RI14kQAiEA7lzWKT8fNCE3+v/8tDPZWOpg6AMkEuBIf3FVUSOqIKA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJRc0CRA9TVsSAnZWagAAlYQP/RpYODUHSmuG7gmCFNG+\n7d7KeTaUfpMZVD6m+I7V0+cnajvJx1uuJweUr5JbqEVPpYgD6fpr2sU+Kq5Q\nCb8ydQIy2k6/j16bjltLdOk4E5ezGOmmb1Ogq3RmYfhzkawOcNLVrjSGD7Xn\nIeQckuhIPyKW6dI5YYF6sECOx1MDkb+9xGLcPWJNKbNe9GQdX1JDc0OM2dcm\nROWmnQJI8SHXQk8j0ae5yBfPEnROrwRBr4Qh5FhfqOEr2E034F9Vlc0mrQIH\nByVEVFp2IZ9J2NCLEd1VQGAIXVsj8i1iZj4usjHHYbrLuKQi+AQ+PlNIPjjw\ne7UFh43a3sDkd6Ci1xEsoQF3sHgbF7XUiI6xYasd0lUN2++U4tEeIhQ9Mz00\nFjHfdySV3JyMyYyZYh1Fi+JJQOlj/41zfHV7QymZdcH8WKyAxtxqOkic0BPl\nLoAxnj9MYmDP5i64V1y+43LZw68mwBSOOj67YoISe/Ush0RUW6TI7hmdLiV6\ndX4uVcsPQTyGBGAm6Tzz5QM7lza4FBeyCskv8irRozlvAxie46J7No4Jh6fF\nN+4cSP86FQ5u6rK5NsOhIQXw9rztVNKjmIrSW2MB3OpDVTS/WFCDLSRX/a5V\nsDLb/uzVygrSsxDgAd7XGCINq9WZWfyYRbXzcQf4nPsG/O44FJQk09L1ryP3\n4S/K\r\n=6F46\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"4f4b61d3fab384b9cf2cd0dcdbfc7eec9de5147c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.77.1","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"4.0.1","junit-report-builder":"1.3.3","@adobe/helix-simulator":"2.17.11","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.0","mocha":"7.0.0","sinon":"8.1.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"9.5.0","@pollyjs/core":"4.0.0","semantic-release":"16.0.2","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"8.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"6.0.1","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.1.1_1579489075787_0.5156855768790087","host":"s3://npm-registry-packages"}},"7.2.0":{"name":"@adobe/helix-cli","version":"7.2.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.2.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"475a3fe81373c9ac68aafe1f6b29a534fbbf21e0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.2.0.tgz","fileCount":78,"integrity":"sha512-iduDMspi60DZKdAoCreQfz8EKMGM0vuRADV6/SZczZt+WFV0yDEY3OA7SlcMq5FHv+yNZyl2Mx5LOdJVgPYvyw==","signatures":[{"sig":"MEQCIBZyKRUNBGmQzi/7KJwK+0/JcXavscb3dLbzR86L2qWqAiBO1+oFwLt/t+CJrREBG0rp+Rp71lUiieNFoKxt3DK1Rg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":446752,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJ57yCRA9TVsSAnZWagAAw3IP+QGhXUxAqKLejbN8PTzS\nVtSR8txFecj3HOHYG6w9BZrWiKCpQ9gEa2JdyLJTvuGC2WRT93JebPRkyXCG\nkbHaxVAlfRmBjEAcfVo925rS4k5PCTr5kHAaiqOqmmxPPRZcq49cFla6c4Fu\nYf88Tdh6HACBZt4Jsz+d5xN/LuKv6K03q1d5HsNvshm4U/3yyK5zhi/IfE2h\nze+xS+ww/6i+Uta10RdXrT6jBujbY0oGl/+iU1BUdeSVQuIoecwTiQJaQC7K\nPraAN3theervERo1jVJ7OUzi10S+AgsqdLplFn6qZj8plUHPr8aR4UNPgLyM\nYL01Qoz/LnoSxI5AiDkQAixtCGsQdTRBc5Ig2Vi9PMoxHhZzWXqlJ1vG4ZaU\nDva53StOORgBQT0SjUpZVFotwLHUVVuyu6cC52lq3BP2uw+QPXLrDQFJ8Zxq\nIm+o55y/XdPtiapMicJH32gg119QdXixCzGelOBkwGDzuW2As7XYrhtZkpwJ\nRCdUIhnFgImiJvEk/KzXc4nLW9kVCIvmPF6jZS9XZMal7/iU8f8Hkqd43O4H\nm6KnKtlPUh5Y6qoBPrqQU3rhylQVIgPkD7BmIFqoW4+OIi4/mz/vLvt7e2KM\ni4i5oQbhXZ5F/5K8CYbR5MbU6wBmgDfWO0oLJfCU46uG68CYq/3TDN0TIKOA\nZRWe\r\n=pi6i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"b3d2967a0e8fbf83fdfb23c4ae3ad64efdc1645f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.77.1","@adobe/helix-log":"4.4.2","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"5.0.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.0.1","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.0","mocha":"7.0.0","sinon":"8.1.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.0","@pollyjs/core":"4.0.0","semantic-release":"16.0.2","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"8.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"6.0.1","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.2.0_1579654897702_0.4975778115703684","host":"s3://npm-registry-packages"}},"7.2.1":{"name":"@adobe/helix-cli","version":"7.2.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.2.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f864710b40aeef3a57f49879882775572e1bb5c9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.2.1.tgz","fileCount":78,"integrity":"sha512-jBxhrlFP7g9A5m9LbMLMM6n1uXfWE87MaNQmp5Fq+8gcjytr+6ZJuw0SXJdYG//ylB4QE8q2kwU69ALnSnHcWg==","signatures":[{"sig":"MEUCIElDnpxm3DG8zOgb9EXjbYZIVOMpu4NnvOtlaJAci2XDAiEA2IlEmngKzKnky5zYHV3zXCtCvuuagjTibyd7KThVfRE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":447071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJ+eBCRA9TVsSAnZWagAAebgP/jWcaQ3s9EMHv+L6OmVg\nzvn3zm2norvnzoQjQgZHWsdxD6693FAxLGnKC9Vg9AlxbC7IO7zH/+WrFMb0\nP5BRLhbCVkjPxkaiih5jy9KGoNnUFP93C0jSMlLerHMn0/g3PKPXyEb8CHzH\nltMMwP9JtFRDm2sRpix20Fy/7H1eQf/YQvnNaDkfmBT9SzdgNX01TsdsfdP1\nU2vvViKAGov5OYDNmmrCKmXAop/s2NoafE4U3aYVNdENnZZ+6f0OS6lo/zQh\njV2qQpBExV0EzzdJIFjnJo+KeHdwXiVQb0UWDSvVCZj2jU6ykm83HAwGiT/6\nVUJDHAa5vregyhNtsCj24cLkevkli9Qa5/SN526z4+euHrd+lidtLj2bW9YX\nNjtFnE7bRIiaFz6aFFCCndoVNfBCOewsJ0W+VyygeagvJoOoWBbkM/QxCKfX\nzGqQOMEZUtrvv4KJYcLTsTj9O38eJhs7X9OWsr5D7KVm0wayOwFqWWxGgm0T\nQaHqiCIhhBa8pafUoZQsGi2V3CHzvufmOMrtYwg6RpLT5d/7gzsGN6kDU8J4\nvCfAR2rEsu8nk8sLDsnxfTalJj8Z4LQv+/8jWnTDgjmvp+XGhNu+Aq3CmOhL\nyE5dQhFRvt6rHOFGaKMKM4RiCjRDokMsS5irUEmqcLODwQ+UHfWqhobFeo/z\ngp2S\r\n=bGM+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"73cbc125d7820305229a59ef041a1dcfa1dcf9dc","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.4","open":"^7.0.0","uuid":"^3.3.2","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.1.1","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.39.2","archiver":"^3.1.1","chokidar":"^3.0.2","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.7.0","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.77.1","@adobe/helix-log":"4.4.2","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"5.0.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.0.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.12.0","@babel/plugin-transform-react-jsx":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.0","mocha":"7.0.0","sinon":"8.1.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.0","@pollyjs/core":"4.0.0","semantic-release":"16.0.2","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"8.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"6.0.1","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.2.1_1579673472924_0.6505363728261329","host":"s3://npm-registry-packages"}},"7.2.2":{"name":"@adobe/helix-cli","version":"7.2.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.2.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"64eca9a061d80c5fa713e154b2bec2ad5c821c90","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.2.2.tgz","fileCount":78,"integrity":"sha512-+BLRhM6QO9KQLvKsBTqZopLdCAy8Grg0lDVdwWDXpbOBGvDRSp9H2VlUoMlwytQ0KvHxpPl7ETLpiEEkCPaImA==","signatures":[{"sig":"MEYCIQDGP+0bq6akvBSTks96W5Kvwx27NggsDCeYL4DNwFtG4QIhAPNbeLnUyNMpQhiRIA9sheBdjuz71kU05iY/nQ0JEvFt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":447381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKUVACRA9TVsSAnZWagAAEsYP/2BtpRt6qM93X+E64LZU\nlLjewJnG5dJag8W7IzVEBPWTbYZOV7COpDFusaEew7VKCSucVhbrfSD9eRAX\nelRaJaG5qb/fMItH/ut6Q4IkazXacCp0GpbYz/II3yU2sQ8F39zD9R/JdSHF\nKiPTcCRPcYk41geYcQp/U2xCFCtFUQg6HAlsi37vmIABmYxpNNpqXxs3TK4P\nMp5yks28dWqTUfkLheIAtG13CnLl8Xi4u3q5EskQrXdVStcpikvDUzudb5XC\nX1JkckqmWgUF5jU/FtjJXlYzfluJ/YSjIMiMysMryVYI1tqL+bnCDZDPCrSk\nzonIIWHsLJANu/S/pGuBSeeEahoDcMH0LCxPTo/eN1qB5ECXeWCow8oF0JnX\nLcLrcMMvybhYB7Xio7JZABYtoUlzcbDpOmfo5Jq+8SG2e/LQVll2Xxm3traW\nSYPE/lfPf6bRIZi5H0DgmiaturDHrHuuvKUuESgdj3VJN9JwT5C31gjmWJVC\nyn2rrV0vj1nZl6mymHdU04AJyjuPqTfwjLfaVS4ZYe26KRi98+I1qHSlR/VS\nzM0P+9WGqXKYCx/lN1sAHfiKDY8rqFNOAOtP2uBH+gHCvlAeOVN6GYdBUnjU\nIT+6mIL3REEoxrxoLP74Lwo94aO4wfX2Gm8RO4sYX8XL7NcJyRn3lFS8UE+O\nUPij\r\n=WGXg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"5bf4d356cde1713ec505b570dfa346950c81b75c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.77.1","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"5.0.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.0.3","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.0","mocha":"7.0.0","sinon":"8.1.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.0","@pollyjs/core":"4.0.0","semantic-release":"16.0.2","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"8.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"6.0.1","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.2.2_1579763007444_0.9756700647690892","host":"s3://npm-registry-packages"}},"7.2.3":{"name":"@adobe/helix-cli","version":"7.2.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.2.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b71d4164ebf675cfcfa07301a4016e6e3efd5149","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.2.3.tgz","fileCount":78,"integrity":"sha512-8zwa9/rcCIhX7Ie44h1B8De3Afevups7XhuunbDqA5pTuPXvN1yU9rjLse9AA0v0pw6Pn8nG447d+O9HuHhc8g==","signatures":[{"sig":"MEUCIG+01FUXhfrLZLvcM0J8NA3WP5x9YHzBucy8NTnci4/2AiEA7v1UjKrX6xpZ8v9bSddURRvqj8vLBpRGIrANHlNS+AE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":447691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKk/lCRA9TVsSAnZWagAAbB0QAItzALGvjckhWmMhDiP2\na9c/o9mafcc8F+c0PsizQmzSsNTPF5hnJ++uLbLXbRMfJ+cxoE/xiLGDd/Uy\n3K6UAE2WJgoZkb7Q1C0eDRlu2H2FMO7M1TGa7SuHAqsL+SsYJ9t5NmvDs89h\nZiB4zzcoWFpfnzGgwOpcywnqrzBCI7C7qZtv9edQch6saK8KDdOBzoBCg6NG\nNtTE+haJLdvuFVL1rbKd74BtFIwEo+pUhl6/osVdYsZaThOBZ8evUX2mm9zG\npZRyDCLf2V1e+MYPV5soWxbSaSclWoIX923ldfaxA+9w99OwJHGOt7W0Bn5E\nhHtbeU+FiVjeFi2iYlSgqKvaEOo1qbP2k8tUNyZvlxFGEU3py9GWXOL/fUov\nekeZTDdodLak3zAKRYrX+LQBDzxPMmiCbbxnM2ySBWOMsR2uERzHPB6/wJn0\nmnmYx9845bRt+/q57ojq8yzHwPOmeegn+phHvFyvcWU3q53bJuqz9glUpkCU\nMduPQSlvUsR8LUKL0w03FJ/0jSot7t4+hOckVDqHbRMkuuMQBXd6f/YiR+Mq\n7JdoszTcQPAL8blQ7GWNiZntsHzeOuaf4ZQMIfe/jWzIzBiOZpSoWGhGqm76\nRc276djz7HIdssJH7T301BIegsUv6rTCyE5+HLrqsFaD3zwxwpI7aG/5nGMF\nkv1h\r\n=S7P/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"7e02bb92f223ebea8d4a71d6080edd86005da463","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.77.1","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"5.1.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.0.5","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.0","mocha":"7.0.0","sinon":"8.1.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.0","@pollyjs/core":"4.0.0","semantic-release":"16.0.2","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"8.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"6.0.1","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.2.3_1579831269073_0.8607982196560195","host":"s3://npm-registry-packages"}},"7.2.4":{"name":"@adobe/helix-cli","version":"7.2.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.2.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"10a52e8bb3ae6faa8c11813ec27459b090ad9d6d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.2.4.tgz","fileCount":78,"integrity":"sha512-idFzaXP+2K94JXnwNVTyCgTc+2DldFLA4Vz9zow2Ky5X1N7B77c3GN0NWjv7YaSb2HaUjnL8b7B6EE7ktfQsvA==","signatures":[{"sig":"MEUCIQDIBkBQBV0gYQOpnwaaNSfZyy3lPqspWsKduvlYn0XwUwIgazSRF5lASEM1qSEYdKnfYFczVaS2lhE+STz6Cgy4Oos=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":448051,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKtyICRA9TVsSAnZWagAAO04P/1DhlNEGCEf6zxShjG7S\nVS+wAxozGSRhZih214qk04aD8sMalPAKJlAmk79llTx727kfZm05wSVTgZXK\nf4zRrFRK+19ZGfFDTIQTzxe4b9N8/Tmi0UlD3edB+Pun3JtcdbRftC0/Rlpl\nupUCEMfo1Z4LZnvmIob5aA6zl4/VjtmAwNTkkrw+UtADwHe5FsIZ64/p2nnQ\nYVVfb+LzlwlyrpvnRRWN/oAkfPBvHoWwdujckfuwdKl3oBwOK24vZxlU5lU9\nuBMT/EiXZ6WjfWfzA4hSSX+0L2LeNYO4qRrpTpp18aq0yEk1ZAS8hro1C1WX\n1oTAnVZNTlBHlgbAy/oOSrvwSDNIK5RUkzP6fp/vU/q8bfzxj2fpqGPwiLbl\nYxE7Z+pXty8VvU6Zs65mNM6IJW/6wJyi6bq+QfJ/8H7baxdgJg0nDQ63jeA0\nfEOR8UAH5Ulbsb/0uOeWFpyJ+nJSgOOEk7VBq0fNxWob1rd0nA/K1HrokMGb\nYpb17ufoHyc63Wsw03TMa0CF0BurrBd7EB3ov1/NSlonNUfC9PkDGP2PPHFi\nBzZSkgVV20tb7JYaAsfnmQMs/2voJx8c5SczrL4Npys9GTeWEstr7HVUm4/s\n1SCRe3zQ9HOAhHRbctM54eGyk8I7IibZ33KHT9XxXvGgx1lLsTqGJG3ze0G6\nObT/\r\n=OV7x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"a4cc24b794eb972bb1d6cb923a0d4f15546b43d1","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.77.1","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"5.1.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.0.5","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.0","mocha":"7.0.0","sinon":"8.1.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.1","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.0","@pollyjs/core":"4.0.0","semantic-release":"16.0.2","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"8.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"6.0.1","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.2.4_1579867271742_0.7280291663821843","host":"s3://npm-registry-packages"}},"7.2.5":{"name":"@adobe/helix-cli","version":"7.2.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.2.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"5866bbac4c38cc42f1b3bfbb7e5876d99d347b75","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.2.5.tgz","fileCount":49,"integrity":"sha512-OfezHKD3ERMWPeazZHF8AMvUvrlVZl3bA3rBf0g5nl73I7dZGDRcrIlfTMIiuXj6FNSTyV+73oPBnAZ9c74h2g==","signatures":[{"sig":"MEUCIQCj3GsiW6WYBvMrxM5su7i/rKpWPlrsdyoacRI5GSrESwIgD/bLjEZwBlo2qZuf3bWdZyOyMbi1tgTHSbuDN8RaoqE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":291368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLjbMCRA9TVsSAnZWagAAsHMP/3iKhBrwTmlDkAOKiezU\nra5Qjfoc4pRrOppbpzTN/7q73ytXLvorcG+GX3aOTnYaNtxWgjtzWg8MgTIv\nbj3dWIfqzWQwn8/764aG7yO+JzkuK/ukgtsQOUUvJsLlIeAa+BU1AxTpUyvq\nlFo7w/xlJ9f/HX/s6jUoZ3FWtiWWINFhX6U4CUvriiANce3hAM72fYrwZZ4+\no279hSm9Cm1bqnO0Dzcm0Wn3axV73pZb6E35253R0+NJhRBvMc0MH7X9mJ8r\nk5k6sBkHMGGXuRvgxGLoC+Wb4+biy9N5lddSjUaU6AZVYFbZ+ouK97IibqBm\nguEYiBsGQC/ha/WGWdK8Bqr6ulBLblNAYAegIC6LNkwYDNqrbFdSGOlcE/un\nXggPRCjnDGvQi+wSe1cMZrAYh5+mxctQ1tWUBNewUx/dtCYVeRgzoQdQs6y1\nBvA9SCcb0+2qKfz5aemXraOQZTHRPOrIlThMVVQlD3b/QbZorQJXeHeyd1cF\n+laCYxWbFso9W0WALT+jyMuqTpILJlVWEVk4xTGMa0xTohF6HtmJjBj2YJOq\nkyauo598uExUV7WgcZdPHdrFFM3i7O4rX6cOEPwZUCTXquzEh5GXV2ERlKJf\nH73jEdabNj/9zyK7oyv2lpzMTwaIrH9ArVCWzINqtvJNJW2215pJdqmH++2E\n+VWU\r\n=UBcf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"ce1b706fc8a63ea20ff1b5e6c3e4ca991399ece7","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.2","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"5.1.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.0.5","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.1","mocha":"7.0.1","sinon":"8.1.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.2","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.2","@pollyjs/core":"4.0.0","semantic-release":"16.0.3","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"8.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"6.0.2","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.2.5_1580086988134_0.31933105845584553","host":"s3://npm-registry-packages"}},"7.3.0":{"name":"@adobe/helix-cli","version":"7.3.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.3.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"72527aebab68e34d40fcc4cba9c393e29b1f9b85","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.3.0.tgz","fileCount":49,"integrity":"sha512-lkDG/LUoo97QbGK4cS2C7VkXNtM8ksEo3q5WjNIqqeoIyOVpp4ZPjihzMRs9L41e/ivFjjBV1PSffNxi/DJVtQ==","signatures":[{"sig":"MEQCIAzyDbsmJW8uBRB0tjRMkF9SisLQDblTcAHbJT6w2MIlAiAC5qJ+7hYL/mT+euAXepqGKwFqzrJmSLj0dMK7iL5YsQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":294031,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMcb9CRA9TVsSAnZWagAAXGEP/jgOuWkWcKyV5EfAf7EU\nsYF/FUsbTB7EaZoGjvqBuKfTFcO0HlBGWhjVaUxR5hfZ8yLMsT776cIE68kJ\nsi1YiVmDmv7T7/5jAvtQEHCfVNSyHqsc263izF/vAWwb9iN/bgg4cbw5UzF+\n2Qte2gBpf8oERJiocMXtu2qgtHh7g1nO2zOsJrXsaL1tMs/s4syRfPIg9Nup\ntmI9bpYkijAcqAAx5UF5fg0hQK4GhUQZ1wCkgnjJ/zsebLvZ4tseJmv9AQ1p\nFtGkOWsYgx+UvT/xTDty7ntgAodE1AI+SI6ePYfBQOiUVxqaAO4O1GBGdKnq\nDkoB04J19O8oo+3K97utKtgrcmXCVE6eAr1Gbdg+lpdiu9kn9pFj9/jZn+MM\ndsfIGzVSoVeYtlZq0ZIUedOqJUEo4L06GjDvEtfpmDQI27+88Ti5lnLIQb+i\nEe1GX+jGlnVCekHwqlkvaKvFkBa9Vn4/Duetvb4aMB1GXgS31l3se8EHEYI8\n1HxO5ClpBxmTfgbVm5W90+d1FUqpucN8zy01qGTi2er7oRQTELGVI2mNL1+X\nFvkag+9/JIhnnM4g+Mpwp6OmWF1TVpiuh0i045W//h9fnOKxWGtIF6GS29jU\nAKBI2rjE4Z1NiUA+l/glBEM9/WZar11bG/3jTFmIjNKVOiK542pqRrTOefqT\n1FY9\r\n=g6BT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"748b5f66e80d10b93ad8c1869a00b75dbd0c2cd2","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.2","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"5.1.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.0.5","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.1","mocha":"7.0.1","sinon":"8.1.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.2","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.2","@pollyjs/core":"4.0.0","semantic-release":"16.0.3","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"8.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"6.0.2","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.3.0_1580320508222_0.5133586184112984","host":"s3://npm-registry-packages"}},"7.3.1":{"name":"@adobe/helix-cli","version":"7.3.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.3.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"40ecd5f9b1f1125618b05c3acbb678edd5622e6c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.3.1.tgz","fileCount":49,"integrity":"sha512-OGswGx3e7OC74XFENQ+Xy+uuRmYwps3p0hYcnFpl1TG4i5GH3HZ+w4JFRsHa2MkEx34O4RcW5WfdNlI1/2yS2g==","signatures":[{"sig":"MEUCIQCO54x6MXTvBAPZnP2su/ZB8LTRGSglwjb4TCcOV47sHwIgfvBZYwMkPyx20ISMZfjknYiYvp0SiA3ayrQ6RkZE2GQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":294270,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMfnACRA9TVsSAnZWagAA0+oP/1lumK+VvfweBZVFNHGZ\n9S4dzZwMFWjvrN0ZEGRZ+fVrJJK421tx29pioWx/9BXqYEyu+25RQTZujdGs\nbhgFRPHYGvJORicc9HQPFxsk8gOudRFGte7rPlEfh35RbZQ9z8LFt3GHOCCM\nL6JYAbrD9iAHtNZucXyeGNVQXuJQIUFaV7jQhIGt0csMbzicX25yYRkFxZEi\n/R1yvAwzSwwjlcYKZCoZY25a6ZQNcBOP4kFflwktKPfrYCt6jkSMwn6/mLIU\nx+PWhxYUTeksklP4cL4bcTbSDoFWy+YolxAf11/hdn63rYd83yhQMYkGIs1C\nM96EUxrWxd5DUmTlqGDz7MAzVTPE5QhCIMGi0dYwvoLh2czuceUzNxNCSuBw\nc7LUZdT9kdw3W1PqwXN+T5HjB2pPhzPhCYn5aWaa5JNhpD74EEqnlI67VAwS\nwTQFRZmRpzkACzhaMdlo7fO5M/F1GG3ZhXAv3WUMq0jkieER1aYu7fjTDBnT\nGTBXczkhEwB69qo7BDUoYqOQMwO5sUq3VLZy0VvdBLlFjRzvVtcGGz0OEi4K\n9e2UGQrOgOiNCGh/6kWsHf/fMV7R4YnMAKLFY0PsV6mBkINwymm9FeDKgLTE\nAV0ON2ZjJCWiyNyIAQhqr/7o03MlAZAbKkVCcUuaXpGrEbcux/6x/Njuw03R\n+7cE\r\n=/BUz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"88b93e2a854d772324e21c139f59f1793bd5e2c0","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.2","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"5.1.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.0.5","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.1","mocha":"7.0.1","sinon":"8.1.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.2","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.2","@pollyjs/core":"4.0.0","semantic-release":"16.0.3","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"8.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"6.0.2","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.3.1_1580333504097_0.6357406554413578","host":"s3://npm-registry-packages"}},"7.3.2":{"name":"@adobe/helix-cli","version":"7.3.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.3.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b44fa18f3cc4df791ad273418b9e34c9e18f2b1e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.3.2.tgz","fileCount":73,"integrity":"sha512-EYMzkLmtdoPbYguvjVIyHcw/reyFyFJGiDGxri1kUqsdYNxuP98urHmlmrhha9Mt0r1eGthAI/Oo0rZfGIknHA==","signatures":[{"sig":"MEYCIQDXX/OAF2FkFVlvZE6YskQDVVBz+omkonOfOOTt651j5gIhAIziGm0T1TFlyeEgRsHgaCsbCU43AqGqzIuZQYIrAVR0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":441564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMh+UCRA9TVsSAnZWagAA2VcP/18T8B0CI3433G/Oy0Am\nwzsX0DSPNXMhTjwY1HFiOKx8+Z+uBhIk2YYRNtOlzx+vWGcXgo0vbucllDZt\nxWwuEU6rPs7JDe5hcjX0L1K4+IiCUfK0DMKL3ySTQJccVP6SzEVBKejUMDKJ\nfMOa84ndiWye0J0cShadloJAyIlIT8/kUSl0zFgy/TfNjGS54tZuJ+azlhi1\nosf5slVplnAKuHbKG7B2lOcxLisk0xU8UW06Ee8qAK63Y3rQruPU7M+PJhoj\nQEj+wUgRfwQbWFSKohU4RQqMgL2mxTo0HIloV10ra4h+k/0P0i9xjO3BCEwH\nUowDdaFKdcgeh4Zm8EhXCLhokgvEiQe4BsrXG3OWoNOUaKnk8LNjXftsLpqD\nrhE1enY21xQzUDZ6lARCHau1Vn4AXTCZ22z8zClTiaQE+gmaWX5b/xCj9Q9e\nGvQ/S9WzpU4cWpCvm8ARJwM553oczePLmsXhOqbiuyKdy0pNpjxVCxpXdjL5\nUCXUldrgcVKDwgrlwy4jc18MWcckDLor2Z1naKOxnjGR5dW4S6hEV5vkrTqg\n6GCEvx7Z208hAZXZtS57oBVHusuFwjKbgXAgZAJhPaV9TYJow3ArDmhHDDBE\n3ILHmg7DHY6OO03ua6Lnp6VZd6VMtZpnyjawjgLHHjvD6UTUL2p1hXkDmMyG\nLyMM\r\n=USWh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"8511b4f1eb44ac8a8be554e864953a338ca1cbf7","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.2","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.0","@adobe/helix-shared":"5.1.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.0.5","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.1","mocha":"7.0.1","sinon":"8.1.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.2","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.2","@pollyjs/core":"4.0.0","semantic-release":"16.0.3","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"8.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"6.0.2","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.3.2_1580343187439_0.6175267061259277","host":"s3://npm-registry-packages"}},"7.3.3":{"name":"@adobe/helix-cli","version":"7.3.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.3.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"902a9897c79f641170f52ecb3e4be592e7fb3d33","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.3.3.tgz","fileCount":73,"integrity":"sha512-b1UQy5Pe7041eeIuQi2c3OnysWRvZwAEjSlrxGmRi1QPubJ5YJtN+plMxWxybkvDJRKZdEOIaLoOaNOmNm8X4Q==","signatures":[{"sig":"MEUCIBXHw//b8gN8R2FhtS2XVrswKRSYzqDp0mLFnEmoPivGAiEA+709KLl0nKGQyZzQb5ZRI5BhgBASa+u2+ZGFcqsQoR8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":441874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOsesCRA9TVsSAnZWagAAECIP/03gKmIrxMu8LE+lINHP\nI1CSLuDxtuKKnxGdQBQ2xKIgmriChb62RAlnVbRDbEm0nP0d4AZizICwAzuu\nKUwTCauWAgBZ4cYq+fS3GH380sx3WLf0AFVb0iXyyC7QmZ5ipJq4YWKYvBfo\nOcXTyssDnvtfY2LRPHIJ032AvU9CQQOsiPh7ERYJhyP4QWzr2VzTXuIxhsRW\nETJ0/STb52wwblYFaJVzM7Evc4awgEBYkRmt/NK+LYGe0gGiwHuN+78PlOLp\nLcQIV4Ugxd4fb/in49XuadrLxLGxwSvYl8ZrkHFBYH/Q9Wiv0AJoW3g7f5Vw\nHKBR1DuUV4rAlc/0/MFm2TbRPRabS+XK5Y8x45HaS6XRpBOBHN2wquclfv5K\nHoacmPEI3HeDaQ/zLVBftzaNsQaW4p/j0ezKuRCQdrhAfZhphc7jGxka5hFk\nG03hRJgChCMe9cqOK7p/nEyrHtufChZXxUQbY/b14m7SuDdGjta0Uke1S8xF\nxliueqBlN+y8+DCyXpeoRS5VfbJDBaXpS+iZLn7A5mHb9ZRWNcO5ykjeXyiW\npdkXVHNyxQOp2R37j24IMXsnRjkr4Z0e97nYu5W+9VtGpOEPH2iXUfljkwCA\n8Z3ZnG5hoo+m5Lrreft4ZnbLJlc/313Vyuk1AP2IKwkqQHC+rr26qK2iQHnn\nePuD\r\n=G6dn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"e8e3416a482a26cb46f1fa227cd5744db999d55d","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.18.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.2","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.1","@adobe/helix-shared":"5.1.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.0.7","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.7.2","jsdom":"16.0.1","mocha":"7.0.1","sinon":"8.1.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.2","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.2","@pollyjs/core":"4.0.0","semantic-release":"17.0.2","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.0","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.0","@semantic-release/github":"7.0.2","cz-conventional-changelog":"3.0.2","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.0","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.3.3_1580910507326_0.9581279721657996","host":"s3://npm-registry-packages"}},"7.3.4":{"name":"@adobe/helix-cli","version":"7.3.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.3.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"def2599346c657622c7394be5ca559c5973ba3ec","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.3.4.tgz","fileCount":73,"integrity":"sha512-f+VBP3w6R+Wy4BxVepbZ7s+BhvxW4u+P9MWHcEFuIjyPEKE94y9aLPZWn2b/jcHRd9+QTbB+XIvpB9Bas5mLew==","signatures":[{"sig":"MEUCIA4LBWzHXSAFkgEP+8gFN0w0Xy7HpIMRSA8F0o3THXd9AiEAq44DBZARkCCWnehtPp4t0NHVT40Gmy6QdybRMG1fTLA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442135,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQ7NOCRA9TVsSAnZWagAAhbQQAIjVMgcTr8fimPaNOONE\nTtE328DTAKU5zNZfQ2CsrCXd3KDKuUBML7PkIMCXssz9brYpOI2vNK8Z5XDQ\nTTJbE2IHA7e6KBHAVFd7TCxTuagSB1QJStgWAIjgbvFfV8k3TS6QwSBNvSUP\nRWEmUI2mpHEayUKsrpYtf/IxOndzAoNp2cJ/OscIxC2Ct1qhU00uGtYkQzYS\nE+D2Vcs43uSVKF20U+rH0fl7SAzrWkNR+6/Pv1rd4f7huSBReIH1czcy3zfA\naX5m1BVlOxVwhHPJXX5na2yaS+OHfQILZ0Dw3wsZ7/FK3xjOJzdZnSyT0CUT\nNDkLihVLaUNgzNrvaND9/Opqwx/1TsrPfVv+ZutgNrECC6EIZ3d5UAsiqz2A\nuTtLED5r048TOVKLO8t0eao3er1W+SA7h0vqxvW8j2tbqeCKp9bPnRAedH3I\njlXOZVbmypY/pO9gznbHPhVF7w/qqLdEgUyd/8qK6AVMApjPMoGdlWgyzLYy\nT8/TVZST+AfBj0VTRBAFrViAXZpV4iKrYza4ZaWkQwfZbN0ZsDFBFhsiln5G\nPQiy4/wmFb0/P9yoCclIW3xqRBbxaoGRCizzpqsjZOliG9EATiKCYhkELJJs\n8ZwNyBXPscYT/aV3ww5n7zaU4QKfHd7MwvW3sLwd0k5YZKfufjLU4evFs9ET\n2Jnl\r\n=tyJl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"e4ede7d498aedc806b7cc5631115e24c5122e1de","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.4","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.1","@adobe/helix-shared":"5.1.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.0.8","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.8.2","jsdom":"16.1.0","mocha":"7.0.1","sinon":"8.1.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.2","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.3","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.3.4_1581495117266_0.1938581193696196","host":"s3://npm-registry-packages"}},"7.3.5":{"name":"@adobe/helix-cli","version":"7.3.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.3.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"055447086af9288369744b2e2fdbdb3ce8b30b90","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.3.5.tgz","fileCount":73,"integrity":"sha512-FbFmXTDP8qsAmDo1+Vl9C4rB4OZl643+GCnUR26ZBTogfdl04ijagY4eDksDotsw6HX9CvxC9HOR08wVOXhm5Q==","signatures":[{"sig":"MEQCIHWMCuHVpUkxIMfvtpsyFEBMkWo0mrID+omRqKOStmLfAiBPDto0Pc+jIoFdW2XAprno9cKvtgM9YNVgm0N9iOPHSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442393,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRHjUCRA9TVsSAnZWagAAcfAP/RHOareytKMTXNRgBrwz\n9hHw4JDLpIjbdtdLeAhc0SFnyLFaWIxCK6AmrX8cMmLL/gIJbV1Mq3Jsd2oM\nhZlp65BzqtCOGR6IWzpZXy4NUolfZwDVzNXD8uf5Xca1+8IZPlKV060p3LVU\nGmTz6pI+5mbGERT+oay4XFesvcPivclDjTPdheKSDrzGTRxtvbxL8WgELYxE\nfF7sb+e8XTeK7XZS/9y4auXEf5q6GIKrTi345d6/cyhpKdKBGm6EDkh4R868\nlqOnIO2a5mJHncEvlpVdhRI7bohawRejmWCuNYL6izLeTbHtCBt1m9XRYJPD\nFCEQQjqWZ45+TKp5S7TXnyNaoyuXPlgpZDds+Qax9e71Wco0FU1oqqOTM8XO\n/iflbMqEmxLHvyOj9F/E8MIKAzpdpj+/KTRFULRtzQW6n4u8KnwRtwoSgJG4\nZfvFfmvFpTBL+izKrF67stP90exv50G77SheUM6JdPxjxPVRTDOy0rpNG3Wu\nM7G4bYqPU2NfNkk/CD8sSeHeaMiTV0AXJDeUwcGuabK1JVj0WZ8/4KIjf7Jf\nxsaAD+URjN+7LGSSF6itxY/wYDBwsOsrlwCQk/BUFJ7Z1COu0SZS+unP8t7J\nzG1QXhoebueOEDScdxkJxxhgZyZ1sGFIo0uMLZj6/17aKxBrkUHQNIwWNEpi\nau2I\r\n=ozG+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"eda1270e34aa8547e7cb77c23c98b4a9ac62a050","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.4","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.1","@adobe/helix-shared":"5.2.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.0.8","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.8.2","jsdom":"16.1.0","mocha":"7.0.1","sinon":"8.1.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.2","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.3","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.3.5_1581545684420_0.630185582111332","host":"s3://npm-registry-packages"}},"7.3.6":{"name":"@adobe/helix-cli","version":"7.3.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.3.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"297c1529ca56a10c728735837debe9f39dfa449a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.3.6.tgz","fileCount":73,"integrity":"sha512-tlWIqQmJ48whDAjeeqgH5u5SL2N3kskRjF7lPg42ev65NS8k1yiR6P4JGjjfO2KQ8HhR4XkqqQbW+FvaDjLnew==","signatures":[{"sig":"MEUCIQCTPKfBKlMZv0yOY3cKkCmRiTDEaiYAa6B0zjyxtXvfawIgOQI8nz/MTv3htndnREi+Sc0unG7wx/RCTJm7VR7U3/U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRITJCRA9TVsSAnZWagAAaOwP/AkP9+IDuZqyWlHhCej6\ndtehTQnSQjwysE0fRhKXLTHnRvogyd+Jn6cmAVvhw8TaRuLvJSniWmo4o6Gp\naW7g30Reht6qRxbkqE12bJvkwxIlpmEz3kE0hCnwgdlkMERHsRmdo77aejuL\nv0COZFqKPx9VsPUMW+U+gmHcLL/2V09ZiokbhgEI9XWdvq19dK8zj2t14wHR\nctG9M6T8/vmPfsOLYeQ3hf95hWqWn0HH8xizEp68DIaZIAzg881/TXXt+ntu\nvlNs5VKbhYm0+66rBXqgp9sBINezKtlm8bVUzpQX12/cL1QJ/mSnjPl3H3vZ\nlDeM9D/2WG3V1EaMqgpO81MzTIaft7xdg4cC3Mb/2P6fYHPkJyu0wT0hcLLM\n7xX3/I5VrmgYHXs3Cxh1nDSNglUWIEJ02vQ5RqA1GXgX+N8wfDIGbCsen7h1\n7Q3YStemsu6i6XfD1G0KQvpOiKLc7s5Srg72KKqpmavqa69cAsH4Qb7bpMvU\nn2E97H7ruu6WmZJx9A5rbcI5d3eARyyIzAzN84Bla3WjmnIQZZuoJCrAvY7e\nh4yusS/Pr5RoCrHo38y45In5X+NX8NkwQHVYKI+wGnZMjBsRyTWZ+vfcFhZv\nxWLIP8C6LM0Mj4vopyHYKjhjYWtf1ePG9qUSX6nEbWJ0qc4+kYuYxvkmn2QI\nhQx+\r\n=KVhN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"020cc89bfd4f6a8f894ee82fa961f4ebed55d542","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.4","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.1","@adobe/helix-shared":"5.2.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.0.9","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.8.2","jsdom":"16.1.0","mocha":"7.0.1","sinon":"8.1.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.2","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.3","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.3.6_1581548744842_0.4304512561846734","host":"s3://npm-registry-packages"}},"7.3.7":{"name":"@adobe/helix-cli","version":"7.3.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.3.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2cb386a42a4db8a73da9c2b0990bdc8b382cee93","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.3.7.tgz","fileCount":73,"integrity":"sha512-VbxMsF8iIQe0ssaounn2eXEcwwCtzPIDFWwpXhMX9CwUywSSrmYVTpaztgjJfu+1Bt21GgUt1CtcgHchzjDUfQ==","signatures":[{"sig":"MEYCIQC7DPOTXuoZ+HBBMfiXo76flz0vrdWPNmgknZ3ybpXeDwIhAM7FjDoOwYdubFWi/lgGIgX4l6h0nsvMDhtnuGysdas1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":443031,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRaLRCRA9TVsSAnZWagAAvaMQAJxlQIvGFf5tFb2v511O\n0acA19/OwnQj+8zKY9G/jLUjTLi/9+nBJgmqGk/P8zbp39iU76nm0yzG28IC\n9idVBeKinbl3TxGfpMSL3N1jY0Sod9jGEOnLXhx8nyNtK+nbb4gGLLv4Q+2i\n7MAU2DW66dBAOs0zbcnyzFR+79jr8QQzyinQmO53lBvQtEbazkl/Hp1TLcY1\n9SVsc9lfA2JlAvP8WUd/sI7/JLUaNt7w81EJbw5Nb4s6XsAEVBrw84BcrQb7\nv+t5wxJkjknL78D4Y5CJoChxS33ZT1moxnn5SzT/Ia6RnDNEEG7eM0c7K3lZ\nlKKTuyjmzAQxFxkcmo5a7yvM2FzByVRKVWC/KvpJi9Wvs9LkLGohXij34ctB\nLbqBpTjtMrupi6IywOYN/6zguSaN2ROR/4aQDQTVxSzvRxczgW2vTGNIzf/i\nuzgIqWmnou3GxevwLvtpHD8WJCpZ2/7w8RG31aDyTdij95diB4fUPItVI4jR\nws5EYRAPGqkuXlWbS2rzwacAr6nHYy5tIlERFtRXdRfwa0StdvQptSWwbbwk\n1K0TW1kEwoGeMq+vVAD15+n7Vd+iXv0IqdbwsKBcwa7jW9VqP4Zuct4e5Q+2\nesgEnxSItqRg/RuDP2IeWnBpQB4fZM+x5L5hj31nnJilddId3bzNj+MIY1lk\nDVsA\r\n=V3OW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"8f77f0f7a00cb427fa01b00731c8bb9b5f7664ba","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.4","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.1","@adobe/helix-shared":"5.2.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.0","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.8.2","jsdom":"16.1.0","mocha":"7.0.1","sinon":"8.1.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.2","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.3","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.3.7_1581621968952_0.4594395037012582","host":"s3://npm-registry-packages"}},"7.4.0":{"name":"@adobe/helix-cli","version":"7.4.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.4.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a6b71f796d0d1cbbe79d9cee7945ea8d794026b4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.4.0.tgz","fileCount":74,"integrity":"sha512-nh9MiCKlIujyoXJ9gnfD6oUSgwOuDeC7WnyXRFOjcyWR0IG8vEf/CQY0jnIPzerKm9rO0KTYNBy/TcTlzjd4yw==","signatures":[{"sig":"MEYCIQDabi7Nn6Hpioe0wcZdEFbukEEKbM+sAZ/2t2DTaeRixgIhANPPa6YsqUC8hCBPvrqYLTTxPMNoEfdsnu6vN4awvWxx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":445089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeReG3CRA9TVsSAnZWagAAZ18P/RruObuqLYobj3dL9N2W\njPKiAcmqmjobyGqVTybqMCnCahkGB0fwSmU954ex2cFxJTOyOr3wFGt/55Ri\nLJGmdRDo1GF67Fcpf/jHgn/mlLI07ZQ0JfhP6wo4r1vkHREd8XseVyb6W1HO\ndUtESi4qtAsfX4rFHeoH266On0AwzOFd+l9CYYZDCMNFV+LnycmNlQF7kudQ\nVMWSthNnUP997MGt8wX/x32Hs+C7ZpxrYjE0A45MW90Qzyppbwsc9DqzwHH1\nYytXLc0WKExb+3yR3bEXzXZ/q88pAkfmPwp24CUNS+INgw0OmxRkxfXUbYVb\nzFSekluPkskSQ4AheieniAEWU+kuBRi6HtdEGC6bEzseFKSP8gtbXbVM/W/J\njOxwENcunJRCar9bLr536UIxmCP89Fg612//lbJfXwyHAXLf5q41byZlp9aO\nsfwWdzDZakaTIS+/JV292yP/rAXJTDpSQm8U5Vtb4MN/gIcq4rYQir3t9IP+\np/T7oX6dBm7QN85NxpC2S5MrCHAOjFeme/bjV8YrtpYPS5Zxwzjmwqb+YCaE\nM4X7lI/CLYNQNkps2otGAHr0/zR1ba/g9fRS4H+SvEbzoUWxjLBB3Lg/f7X5\nccbbLnwjY4rpy742uQymaVGsn2UpUj7zCQ2xXoRM2cR3zvAvIi7IYa4JJSnH\nNnGF\r\n=why4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"d56443797f7418014ab8bb78f79e0def8aef5939","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.4","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.1","@adobe/helix-shared":"5.2.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.1","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.8.2","jsdom":"16.1.0","mocha":"7.0.1","sinon":"8.1.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.2","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.3","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.4.0_1581638070690_0.8589068284740646","host":"s3://npm-registry-packages"}},"7.4.1":{"name":"@adobe/helix-cli","version":"7.4.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.4.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2b2c93fe89bfb8cfe087f995326c4618b5b0b2eb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.4.1.tgz","fileCount":74,"integrity":"sha512-kf1xzIoXEDJk86haIEZreW2m+vYebqqr5zpQhSHoqg9JOgHj8W+WkLtnjZ0iXdVRfGpPi+rNeZ1Rc3pWWECRUA==","signatures":[{"sig":"MEUCIQDcwWBMMIhoXUipqzEn9CltpR3MWMBcWDbaCH4Q4R2CWAIgE/CLcG1caUWiQThTPXGz3EUZMxm5sj+PgsnyqLZTNps=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":445341,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRgG6CRA9TVsSAnZWagAAg00P/Ari/Il2drlzKrBjAznF\ntgAnSRWg/tvJeFiIOviLrKe2roEY5QE/W+iTlL6OrxY0+WDdt/tmQCDQjAVC\nmiZIAYPzqImdlMFAdGNDf3ttMpF7kUfMc421IWFoFtt3VENYDyPgyCe8eTQc\nnK+Z2cTTiuOXNwDUVPu4t0YWUkGMHsuPDB9zofDrX3mJWgWFzBf5H5eMH1QA\n3Rk0ExBqY2z9wFgjTp9vwxrz9o/f4lafNqkQeT8orZbhkQA8Hg5yomo6tm6v\nE7SyK1ZkT5+22h9fmGjb5WmIP1draElnBDCb0bBiaaiZHd8OXT1bO0xn/s0e\ng/MrvBw4MRn+4lxflmSAW00j4xpzYw25h41MAEPSdKiIqCxR6XuJzyN9LjWb\nlv0Yqrtl6D/TWKCwzNEUbhmcIOOqeU1QcIqrXVJiBXo7l2nkr4BuzdshBVay\n56bSWBnlqjZS9yiFiIP/pVlgmJu217SY1znRV2/XuJ0Vbn64CwiykK+emtzM\nRzuwpnTWiSAhLZzwZDAFam9ox92FSbZBMkK1GeK6+fqMzCYz9ib9CO1Ry0HV\nVErk258FNLy33mq/wzqWGnNfO0mCCKmoVYtfDlJBJ3Wn5Qhy0GtcxaS0hbxX\nabSscLDPEV5PgNXOLoARZvvs1iFkMOf3Tn0GnFNDMBNb1hpBNGou7aweXwVc\namQ3\r\n=UTM2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"a55c02d1a005559e0fed6265f330cd90e1ddda85","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.4","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.1","@adobe/helix-shared":"5.2.1","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.8.2","jsdom":"16.1.0","mocha":"7.0.1","sinon":"8.1.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.2","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.3","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.4.1_1581646265360_0.4301739808648497","host":"s3://npm-registry-packages"}},"7.4.2":{"name":"@adobe/helix-cli","version":"7.4.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.4.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"72c68f9b1ad532e8451a1547ef4eb8fa7b007745","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.4.2.tgz","fileCount":74,"integrity":"sha512-bry2KokxaiSsKQzXBeSHHETThuBjAzQMAPfVAql5kKxJBxGpHcymRZZzmFvkjOJCeuFWYJC1l0ODqNgQN2iaIw==","signatures":[{"sig":"MEUCIQCtYZrSOqBKnMJBGtKLiZ0qn4fRuAk0tpZwZgmjeqY/kAIgFynFC0Vn0gHnSc4k4mzrD+vwxvA0vi2OSz1d++yXcc8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":445660,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeS2k3CRA9TVsSAnZWagAA1zIQAI0PvZt4wewPrllRMN8b\ni+YHEa2lxVxjYgnmnfnQlC8BUSy64s+OoKoPFhspAr9MSBWNvzXdAkjtSung\n/ey+O/kQ+MCAMl7/vwfASx+dzDQNdl7mK5bgxi5nL1uSPECIAHOIaUuNbgey\nC/6LY3cfYdkj6jVtsCZGB9IFST+ct9GnQA9o+vPQU0XY2vTIwV/VkCKbHcyd\nGNqh+ia4x7jJDXbEia8nQirG/xKd3+J7XL3MeUjaWJc7rOl8NWJxPyOtuhSr\nsqpaNO+tB0tbbEvDsEbggp4n1gT6d+ySB3Yh14FnB4nm3/T28roNrsbr/prS\nEeRIZOZa9cqsDbAY7FaCcLG/1IBwz3rTSNt1HrCvzzz3A5VrsHjlU/7KNFDh\nrHyx9pLtJVSww2ws6BEzOmN60ulTSsjJ6tiJSW//+K7MtHNRWhhT45iDKQ32\nk+HxF+SemGmuvOvX7CuOl/pUGrkydX5qnwin2qn8TfeAtzdVcJA2eSiWEX9H\nPa1Att3w9FbFHjbUDs9JEkorNKntqIVnZacJ9ivsxp5bTiGTsNiP74f4oD3R\nmWkM78O0phC8Ap5lvoiiHhPMIRGEwqYRW2PhQq+qTy5WSBH5IiNvKyyKj5gU\nQ9yHWHK+iw4mmoZ/2PE3e/CarwiA70v3H+zPgIsrq5LgkkNfF0X30+tjzwut\nRpbm\r\n=BUyf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"6f16224421c92415cbf470f42719510f14751134","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.4","@adobe/helix-log":"4.5.0","@adobe/htlengine":"3.3.1","@adobe/helix-shared":"5.2.1","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.4","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"11.8.2","jsdom":"16.1.0","mocha":"7.0.1","sinon":"8.1.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.2","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.3","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.4.2_1582000438447_0.29437632034830297","host":"s3://npm-registry-packages"}},"7.5.0":{"name":"@adobe/helix-cli","version":"7.5.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"34eecfda34008b8d2da86677433b1dc336918986","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.0.tgz","fileCount":74,"integrity":"sha512-mVSfIgrv5vVunSD0MtjgEbpz3cWrzHoGYOpAa4v6gaAzRNpb0AElSl/exCzz/wThAO/5OTD4C4GeROT+jaAzJw==","signatures":[{"sig":"MEUCIQDkHRcv74I8nBJHFbIgNMs/V8nibK8JOSnBen0Z1fhKlwIgQRi+Wik43m4BPK9/mZY9lr28PBqtqAUo9EDFl1NQcrA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":446237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeS3HeCRA9TVsSAnZWagAAJ3cQAJNw1iOQumig+iWW9LB3\n1DCdpQswm6paW9PpcH/BMaENYXt5Lv44NXgvTFvsnWd4+TsiZYracRpWgsRo\n+/5BDDCXkQZdFr4wj9gqnL0rnxcTVT1YhMzhWnkGhFFdQv7zDZkgn77U/0tZ\na2pXjWPRDkVM9S8ut9wuwCBVDgiSsR2PXSguneQNcV0JIAi39t184U8sJ+c6\nImVbWcY+oAnUBzNtz8Gqnvd2gnYRmKKQxG7b07zobrtFnFeKL5k4fqC702e7\nNgLIwUp1hT0V8CipG5/yPuFs+CGTXt2cZf4jNGODcPuz01/BKYZMcXJbGqRf\nad8Zrl7gMS7c3V3dAbshChwki48bl7/pOUJYVimbOeCQ/nHCaJ0cF0zxcfSu\nqd+sRDqED7mY93kb6u8hrVupKx35w7kL39XeQiqXlvzl7GA00wCKNpauoxhA\n9SakROuKO1w5r0bL3JCok8jc11N5Ia4uzZzc4O+azmXXksHGmegFUfoZIfWD\nr1Kr3NC5b/7FOPGU5duGgNgL12PMg5f9A1MxrxYGu2W4iaKW6934AjmoeR0X\nQcKNA2Dnl3CdTIyhydDKjP/lwpoA+aeWGHtshOurRCx9Dn7YDTrsm/CeBjlv\nh1R1sAEIZ3+NTU4XPidMazw3uFYGl8LVKDJbR0UAvB3oDg/LLg3vh3iEinzQ\naV6b\r\n=8zIm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"8118ea317a7e29c82b3244db52f199b5a30fc33d","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^3.4.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.4","@adobe/helix-log":"4.5.0","@adobe/htlengine":"4.0.0","@adobe/helix-shared":"5.2.1","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.4","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.0","jsdom":"16.2.0","mocha":"7.0.1","sinon":"8.1.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.3","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.0_1582002654167_0.41813441714713173","host":"s3://npm-registry-packages"}},"7.5.1":{"name":"@adobe/helix-cli","version":"7.5.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"e1fae7444d23480454c979df2418cc52c3acb5f4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.1.tgz","fileCount":74,"integrity":"sha512-KXpzcO3iM9BA/1oGV688obvSgs4WtyK7Ph2KUSkbJbD9n0o50evS5+WYetT15xJREy/LJ2+tl08fglhMyOeCgg==","signatures":[{"sig":"MEUCIGqZR7HzKTZy1omOr1c2tiZO6MAQjGoVzLKIjOjb6eEWAiEAhxJpbrHCJ761v/zI9DhZSr4RrwoGte5d9zKJa3Z8hrw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":446553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVAT6CRA9TVsSAnZWagAAZsIP/RP0rF7C/KG8jcDnk0VW\n8foTrnIb+nG2Y9EHPjF8hoYVvUuY8nHrjHyktjySe/iUhhhMiDReTmFe5/Np\nGxT7vTtpxDPapX+JejKHeTcGgsNsd5dsfRWRGha+FBM64n8Gy2a51iTE5j2h\n+vIChO4HUP1NKsYiUN8/xGkMjFKxoTuS8hb4QYYpLmrNQ+c/MQ79Nq9ILetq\n1M2C3u0THTPkplRVeVHhKCWj3HIf5ZMMhsrQcCmemPha5CH3xWbC+68sZNAl\nMtCkb9obsVPCJzLc618yyLr16os7hj6f7U4ml+pku0LnrbdUAFnKABSPQbvz\n3cAnH5mAGUm2fLQrn2rPtgT/kJ12PjzpoS/QodyMF5HWMGaOWBl/XhN/1Nzw\nPQurZDa8d1tzhrJoN/6wZuOwYNXo44SsqIWp349PU4eWc6ak9q9aqlKAXa7l\nGzHAmjASqlNvVIztLUao2FkTACb4XYKyvC8K94wiJRKT/KYmUPktxllQNc+B\nIu4eARb61Ffoxrgp5M6k7mqpkALGl+eZ5CRZPhFgU6uaM03pKsi65Bnc2/ee\nIZh0M6iMIn6YeOZFFmvLtZiknQaBj6onGzEfXGHzyIocp31v1xQ+ZIISpa2Q\n/c22QbyNi4/b+zVpNHuu9aJJfIe1s95xYVkJXTqZ41ugvmsEOloqnFOIAMgf\nMKRo\r\n=uzHw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"7b23c70709e3460b63a056097b7bfdc0885251b1","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.0","@adobe/htlengine":"4.0.0","@adobe/helix-shared":"5.2.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.4","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.1","jsdom":"16.2.0","mocha":"7.0.1","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.1_1582564600379_0.7197936292346871","host":"s3://npm-registry-packages"}},"7.5.2":{"name":"@adobe/helix-cli","version":"7.5.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a8fac7c4058d079e760ce6f5baa4f8c25649352d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.2.tgz","fileCount":74,"integrity":"sha512-D25GXleqbLWg2jDNiGMSQXO6vKCFVMZL2ebRBSmST9T68McRCeWv+uVQXnAGRVHEygO/s9t1SO0bOMprG9XEDQ==","signatures":[{"sig":"MEUCICsIaTuvkoxuK3G32+SuukAoHqWUhFqrm1OeQWK5PqksAiEA9tIBzfIAyo7MlEuASGy4LjDo/a9xUgssflJE9cskQQU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":446808,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVHR5CRA9TVsSAnZWagAAhQoP/jNXo2XXy6XVy6RTaqHX\nyeGlXbmxqT/R5CnAm601jatm8/HD/wR7cQyusVNNBDaSf+2tKzxk2REPEMth\nGuqFj1ANJGhgLh6549Z9KWF62kDkgESf0xC77qKmoRzMhjpfh0Vt8GkvM8Aa\nn5ZjVhA6nGw4Jrj1KHYzlDw3niw4FV27FtkKwwJNnyZqW48S6CjUzir3Uaf9\ncHlO6isDaNV9H4jY5wtSozVdf1GBxTBxVsmgguRZYhFA2dgYH8IitMsyLRJ7\nE1M6Q0er4A1SGdWfeVL6zOocgPKgMjJ/C+8uoevZzfxQneFy6GGDqV+zi4ct\neS9F3wo6emEMs5386KRwtRXjbn/9vAdWAH8Z5dD/Fq/F+LtNfRMw3wUt7vpf\nlfJm9Y9sW097hyWcD5RZAQoMaEqvJXfeawXBAOp4GxOYqnecFFG4ATgtI3/z\nNOjdNQynlSHNx49go/6WsPpJZQVZl+VL1x0yvM7Sry8m4eBiy1epzNUR7Etr\nrd1J0DAQsPQ4+uPHvuaP+8FlrswtdzjHgEtPiF68621189Voi2+a8imDVlvM\n8vjbZKaAawVdoq3s6hkUyyOh8CWWpsgQBPNS6mBIZM14NFc1+LtdqrQZKs1o\nhgr0a+e5ZYPu+GUlb2J6PVqEdvLvJJ1Di+IzteQ3a+MymliU33qEafn3Wy7U\nh1GV\r\n=QLFv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"2d67dc57eecdd3caffc7bcf7e893de1ad1afa2f7","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.0.0","@adobe/helix-shared":"5.2.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.4","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.1","jsdom":"16.2.0","mocha":"7.0.1","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.2_1582593144745_0.14368239391801207","host":"s3://npm-registry-packages"}},"7.5.3":{"name":"@adobe/helix-cli","version":"7.5.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"dc7e778dd33a534ffd39f6c3e3444e8885eae2cd","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.3.tgz","fileCount":74,"integrity":"sha512-JqH4CVaMD+vuDVzFOHJor4LutA6IQoUa5mg6/mJHQGsW/zCh5t5ZxR0895+WQb+7iQmwJ8xxH/UZTEvpae4PpQ==","signatures":[{"sig":"MEQCIHdCZrOll7WVjpLkV5FHVVqcoxNc/oSpfZ06e6roVPsXAiAg6kCsbXLu/z9St0JJlcpXdNdA6HcBUy5UIuGfK+qMhw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":447069,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVIK3CRA9TVsSAnZWagAA02kP/1TltumwBKovuNYPGM+g\niOfbrdozW14KljJUWJdnQXB2g6KjctdYfrFwcNtRq3gUDS1kPmytjoLrCuA/\nAWTBAAugq3Scmz8yAmj/3P5uSZ6ZMei+Vl6qImfX2dg++MfMdUS+c12Y+TRI\n/8L5+VckbuD1CrIsebdP/Yk+FOZjyv0tGZDXeqOokOzW96mTRJExkhXete+h\nGR79cbSUsLBd6XmbuAyVdazSw/WW3/Ot1BkBHE/GVoP8VnrDVr6ERZJ90xIg\nQEf/41U9Qo3Z/YQ+T43+TdtJgEyQLDrezDrKdCSvl/fX9ywuSiXrBXcz4KYj\niuvFVDT4gXGncfigiCYW9oRIztHi1+xMVEBHFqBn5XlXx11EXdtv9WCjcULd\nJU4ZT+bI54CXBsQU89LIPzQVS7/uIHGL2JFpNf/3A6MwyfKkMMrEwCFcr4oK\n51KZBci1/pryQ6YUA8S5fOOkfty/FgfshiF5nlqbSasDOg0onSOy4+Qns29R\n8c/XB7/7w0bEFdMVtvVZK6tEsIBmLO27ZwRRBab620HGt1tjB77a3YGi4l04\nXzBJa6Wtnaa1x9GMWkLCE3UUF4oAjlC/4ZYF+JGqmFe1Bedi2cTi8us2T9uG\nM1Gp/k6PZNaug+yeZzR6qPYvI9IxXnb5ctXDTCYWiGX+UCwJfZwkZ1QPugFN\nozKv\r\n=8zYx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"72701b878610aabc9074c6673f0487c6eb46d063","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.0.0","@adobe/helix-shared":"5.2.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.5","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.1","jsdom":"16.2.0","mocha":"7.0.1","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.3_1582596790369_0.2981605346988767","host":"s3://npm-registry-packages"}},"7.5.4":{"name":"@adobe/helix-cli","version":"7.5.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"0ab0b324f8f4278e9f911b7ace780ab12a0b7341","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.4.tgz","fileCount":74,"integrity":"sha512-XP+VqAGbcXH8euhsjl8xvhqjxs74SRruzJGfMRm7Yk2P96Xu4nmch7cSnnv8Uz4cgbT9678amNVQH9mftHwj7g==","signatures":[{"sig":"MEYCIQCW30uvtUMGtBHWBJzgcW+Gj7QoZbCWgUHgibnRwWW+DgIhALG+0ZEoP92GwcTWzasEnLw/nMa+SoNzlyJISN2eKO6c","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":447388,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVItzCRA9TVsSAnZWagAAXSsP+wbmymvNW1dynBbzGwas\n6Z3rkTgsXCmQo+MdujBZvPQWPOwj+bQh10//vdVHuQnhSVevnJA8yPxkCuMp\n9Y8oPzmQs6IWIpLCE9rXxm50houkt1bxLYIywlqWl8WZ3Te9Ufy/P0c2tYSw\nzTMMd6lrfT6fgDVg+HTAMb5KhIM3rwvTeUqzV7hYcM2tgl2NTWem9879Dmk7\nXpgKbXsA7eQWpCVPh1J0xNR90yREGd79jLrAfv9vFVmj5ICWQMRn0SiYlRPd\nee73ebqSNQhSrCuh5Kik++IQe9KBmDIIo+ZYwtR17QxTFIgcBMIXkVFrJaL7\nPMNAFN6/aVEj8OlC+nusGKi5VtQSkt65fZ842/8crzr8c5N3+EwPyFG1oLvU\n+PbU8oNmS+JI3VdktlHKI9PYo/yyvW02GRikhviiOl6vLiWP9C9tTNi3GIVb\n8KM3cXhiGZTOpiP9ta3FncbceE3ufHgLVy6jX81bnEQgwnqUou72A113CjXH\nhpJhircmsMRJRiTyJUdTZpo9B5LyjC41tGIttgkv80ucZM8JAE3d6NYr6FxJ\n+XgeTNwwSAwsfk7uKEm/EubuIbxMT1QeNIFvk2Bi/BYxZjNnZQ90VxcvScHs\nHpo7t2EbdkxLSkJ2gZqAPh4bWcsWYMpet2xeWmb4dgjS/o0J4cELi3pOOfR5\n8BVk\r\n=ghY3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"d66059d26adbb541f84e4e89d6fc400cfc040960","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.0.0","@adobe/helix-shared":"5.2.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.6","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.1","jsdom":"16.2.0","mocha":"7.0.1","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.4_1582599027408_0.34279270415330965","host":"s3://npm-registry-packages"}},"7.5.5":{"name":"@adobe/helix-cli","version":"7.5.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b46c18ef410f6be841fb84fe8eba4d43e06185f3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.5.tgz","fileCount":74,"integrity":"sha512-UMrd3wm9JJVKzZf6eSzwzTD8RL8rk4vO63i0VCaS4ZhvCvgU9UcqxhyTmTCv1B2v0VwyLinDbOJ0th8MEhBXiQ==","signatures":[{"sig":"MEUCIQCHm/FzbbuaX9i3FIOU5dote1LSC/ExrS4+gf3v5w1TIgIgBJL2FGdYSWJOJogbKWlcjl6DhSZqhvztOfPk2ePGD40=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":447643,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVNxRCRA9TVsSAnZWagAA2hEP/3gI0tsHdg9OPSg5TCS0\nXeJ5LGvCSWHF0qG0wHpEHcW7oWRljsVWynR2ESpsQWt3cYlUZExfXUYsbuHI\nfRDkQXBnsr2Thz+kJ1h1Uy4BcqeSz480vs45EdQJg7vwyuR+3ZOZ1pVoji3M\nAmOOPJoxgOpehqE29JPBMMWaTinvQGa+Noaq4MrsLVGbITVNy6un8a4cMWv7\n4rjIBjc0U50l0IwAhknKVq3i/F12Kuj6CTgFDUV0eTPTG3GkmEH//ePwaMB7\nUGykFFxzoPN/xMrZmnWD6tt/XRUkLo41eHbJWoAbrcwEQwEoioDeYsyhUMcA\nJKGrbfA0kqCdx1kf0CDZ4dLg6r5VYoTuzBw3KHZKQrP6n7P4e3HFNPFva2Co\ni29orSsMd+diyuIJltFM4hr25jNLByyrRQGfxK0Nmrc4i9ylw2zoiQNWk7P0\nqC21Rn6eUHrGQt2dlsCs4qAyKWpedLey8y1FbtGsGh5lEqwcPkHdCDpbuXOu\nl2/EbEUOdqC3aRrFeUG7OxAs4YahZ5cGTSzVduAIKOknQIpuNPB0Jgs9NU8W\nPY5toi7T8VvrvdsR+xDjsRNzPv8531l3ZfW5uXINpU4KGKbLl/7OtXq2SbfZ\nyDSRl49YKDFfeQNglbYMKe+hpLmLGOTbNxBLNd26LExMdbgiNrt1O7du6V4a\nHOh5\r\n=e3aS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"102d79b285084ac5aa100f4a3f499bbadc4b48b2","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.0.1","@adobe/helix-shared":"5.2.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.6","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.1","jsdom":"16.2.0","mocha":"7.0.1","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.5_1582619728508_0.7551241596447249","host":"s3://npm-registry-packages"}},"7.5.6":{"name":"@adobe/helix-cli","version":"7.5.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"df9561fa5e46d4e0e67eed92eb0014fcef933489","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.6.tgz","fileCount":74,"integrity":"sha512-xvoueaYYKEiFfd/5wxjOZyOzvFXhaTdulNqGp3X4dL8abM7oecLhdg4AfEybw68GMRfOmOpbISFZDc7SnYkhMA==","signatures":[{"sig":"MEUCIQCeab55ICDQwvNSM2g4Yw+tVnoM/ma7ul8LWwMCLeOeXAIgO13jPX4OrUuuTudvZj7xF4Tub4oU0jsTARlllSL1bAY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":447898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVclICRA9TVsSAnZWagAAkNAP/iwtPvgk17epo+QsrV+U\ndIDw+G1fLYtaNFK1tslFgo5DQD6agNqgxhzqhOmPCAWggNpP3P5MLMQlB5Q+\nDMJ2DccnlXXXWZx9v3D9eZgLZblDRZ+7yZL2mpP4RUt01XnzzDOS4xZOgHPR\nDH4iV5rMpgFY5NShU4+dY/5gLlgdwX1BkTmKu95mmmHRho1ACtzrBZZhYPwX\nIkwziPSq0peVrW6OphyvB6KBf/llkLX5oq9KpFP3nA6lukjlLTJdoiuV9WaE\nFAnoQ+Wi3gyNPk+kkXAePkxm0wNqa0RLuMhTj7LDVAJuDsoLaKfHzyyOPBhP\nyDmCpleCHeoe/rycz7hye5qW4Txuj63udW4o3/kaFQFdNksVkeRECW7G2apv\nvnUr7VKUjg+7Tc9B3lFFCONSVV1XpW90M7E1Snkv8NnEnfC2l80XKc6TowNi\n/CwvZWF72pxCF18eL6Hp5sFSKuyg3YmsEo79m2ZrVFCJdRxIoEACiErsjEqq\nR+7gqgrUSUVq2rBHgMiNPsEEH2viE9tUWe5+xUAvtO4iAtA5mYbmEuEIIS0K\nE1+CM/uRizYl6DCv6NwtWuXVdzUs29o/SQCGW5Jv2kjQAhBbbXUP1RyKQX61\n/lmCCdrWMv5oyzxyBYdhGb9GuFECpZlt8J99O0pswER8XzCWhth2z7eYWweH\nB+Hr\r\n=KeIu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"c62fea1f12a63bd71b378b5883e9ae418b18a79e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.0.2","@adobe/helix-shared":"5.2.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.6","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.1","jsdom":"16.2.0","mocha":"7.0.1","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.6_1582680391357_0.41934823543657673","host":"s3://npm-registry-packages"}},"7.5.7":{"name":"@adobe/helix-cli","version":"7.5.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"30f566889f65bf87061bb5c428e05f30c7f73467","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.7.tgz","fileCount":74,"integrity":"sha512-//PiAsmYCWV1fsn+2wTSgUS1Um47Sa3LihiYGwdxQhVNb3hn5CJ/qS3AoY5peUrpVkyxDQ6g/eadwfJWtKBs2Q==","signatures":[{"sig":"MEQCIHwIqVX79q5AWl91p+ysTv42qJ2/opQSRolRTPzMZsEXAiBeDlPJvZS56LMPQzdGfbniVgKdZrvcWVHEzEbcnG2Vbw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":448153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVgxNCRA9TVsSAnZWagAAkHEP+gIVCpQsCrtziogDqsLF\ntAjZRKyZjfm0khjXwyTjD3eVfCpktGAkyI4ipfkL2hYzNZB/GU6Nh2ZjLhSw\nypVRw3KXSDBZqHsznHgq9XVCop1qQQPaRrfBfbtotjEExnV7gAWaaVb4lEr+\nH4kO85mV1hybMiNOlmVdJc3QtLeey29oaO7q6QaNcthI+P9IKhJmKlBoxwwl\nR01ig5v7Eeq+/0w54Det34XXNW5NfKZHDZtzY1HgrbX3W2YkuvL2hOwF8tKE\nLVCKRmgmGGfMuC8sNO/E41RpWve7VqQD+jdVJhgiHTAquNgsoHymqhq7FM7q\nOVB6h3ZCcycMI7wyu4Jfmx5bEIaMpk2L8tSdW8TPZkS1QdrIoorvzdvwcvRV\nHzG+bI/5tPBQTzhym1OEjE/VBej3Gl6g5v+reySw/dgYnC5KQ7z431cQJje/\n6v3ojDwli/peWojVTnjy2vwgXJqPPpqeNNjc6OJjZoeySNW3n7cRhLocHhBp\nKqGY0ETEsKPA5fuGBY+An3e8ZsKh8FS27xaoncuAie70SUaq/Lbf3Eqe0SfB\nXQk7o+ygAC0qOxEp06xBqtO7E3b3glKArLRGaKDd+Q1dFiitaMHfejfpZdN8\nWgTx2oLXJlAmPJDXZhUwcaK1UQuzba97S6S/ANxEhjwZU/llkH18fqmAHGGJ\nT99b\r\n=FfUL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"2c6462be22d23bc7c724270a360ccb4ea1b68b6f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.0.3","@adobe/helix-shared":"5.2.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.6","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.1","jsdom":"16.2.0","mocha":"7.0.1","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.7_1582697548916_0.08972095225010457","host":"s3://npm-registry-packages"}},"7.5.8":{"name":"@adobe/helix-cli","version":"7.5.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"cd07039bd515a10d7580bbe2ae995042515c853e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.8.tgz","fileCount":74,"integrity":"sha512-22uCVnqVkIdEgnSAGORCusXhb1Mk+iC10kmGpXnemT5gGk1lLildkog5jOsI/nRSuVBd5IKiaMYKBCOpJJ+RbA==","signatures":[{"sig":"MEQCIAXy1RUsQPBX3+9etBFnKwJAKZMvNeNvCUnjqMzOmNKEAiBOOOo6MtcNeHHpLQtdQu26IannGbVZjlzcB5hKgWI2ng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":448466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVhllCRA9TVsSAnZWagAA91wP/ilGiNfyMUIZ3qJCVw9j\noz7tXyN4lvJYm+bzJVmthIj52HxIYqQx/fymlM0LzklvH0Js/KprhUmY9OC4\nh/ISkb8Q5VWbdCmZu7B98IkVB9WZ4FWE248i1RkTNdvAnhrx4SkC97+Bez7z\n/Fnok5ZQAXiOV9BHJtGpjr/uctzgG7MHYGZ4eoDH5QhGqt+2XLYg2zTnKmpU\n2p8wWQ2L1uFqQVuRq6H8CNmP07LCkw1JDDFMGukBFE8pMy8F3q0Kz6aklYK+\nPtqZaYviVkVrL/q/Ymk4DZEyy0BawtEIf93sP4dVS5luIzALqtRW+rN+gxHC\n5cLrdJwZvOIDZBOsz/dRG1jOEjoakLVMzpDHDs4XByjP44U1sNOp6HSWKTTe\nktyiA/gJKMKnmvm6pqtC/1pfLDwblf/KhbLX0wMzTRIzKrSvetj3WN09m20v\nqSl8iDgjLpPUwqZmVmMp4wQQpZ1vp8ugWkn1Aq5Rl75xeJFX9i8Zk/ruOrVT\nhftBEgyhaI5N4q3h8NZ8oYaB6Uw8NvqgdBt58RmlQ7Om0y3I0NThVhUF9Z06\nmwOyfTbL75NK/0bPurJaD5awCkwjCE1UuWKD4sYWENFquVLxw6F0e8s8vr1D\nPPJn7lxdeQLGxBoQgyWJJ0A3l88dvtJFtQRsdhVeH+WRQiNaDIeY/zWbh7+3\nMp6u\r\n=SugX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"65eb566e3b4cc3e0cce13049e322982126622cc9","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.1.0","@adobe/helix-shared":"5.2.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.6","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.1","jsdom":"16.2.0","mocha":"7.0.1","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.8_1582700900423_0.6124353614511993","host":"s3://npm-registry-packages"}},"7.5.9":{"name":"@adobe/helix-cli","version":"7.5.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.9","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1fbc0e67e7969d614b2ff3afd203724e857c6f89","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.9.tgz","fileCount":74,"integrity":"sha512-roxzDbeS11gPD+RUBlz+iNPDYBjNg+O/7PTDCh9OCpnOIPxAT+QUgvwl5EawccbQPwM/n70a3Eh9qvpp2eMrBA==","signatures":[{"sig":"MEUCIQDtMyVkgreyZnMjJlogpwipf7NFrnxrg1vjETFHEOXvYQIgFv5b7/Als8LZR/P40DoVsCrFd8KgXxdN0grxXBHx6m8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":448721,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVigYCRA9TVsSAnZWagAAco8P/1osLG72uTQQqW9VkNSS\nnS+KAw/r5C+lQqwUfRf6ujdVU7MnYNmHb7WG5kIBw0xrQsCmqDTmo3/Qp/OG\nQEV+w8XKzyEn7jTNNwhNJ1PrqXcNR/jV9jCDIGA4Q7U3X6yOojpcftmoTMo8\neNF1FChB/tXUY+PjFOSDV6WzIYb/DIvoAgzMYayNi0oyZIgpK4yXn/l2As0D\nbpg9NcokLWLmjL7b9nTYKXCCNsHkw03ehkzOBVRxxmeMGPVSvElvBA4+N0Kl\nvlMmTQg8KFwB/scuekACFXOc6Txxor5i4cYzmNnu+aDHRKTVZdU3QA9UOURg\nXEh+TOAfQHyLTSW3lsTi9dSYyo4bBJN6COWkf9s0V+GIeQC2cdMk6M2qOS9t\nFknHudEYlrO8trdSBScdJNS1NcvAqmP/dWfFRaQZphNJDBYqm2whzJB8qzXV\nyY04tw76h93DmPPQXP4nsbCTPmqbPqrSkalKNpdQVpfuPWb1mK1IKmhoJIrE\n7qe/hMAMTgP6AGklvsPP5Hb65JTPApswGUwFwcTj2Rp+TXe3KyAYGoAMOWcM\nJt9zylvhZ/yn06EVnJReDXQXtyzFaYmW4spy0vRhLMehtaKVCV+YwiPoMzBk\nM7NTDvOVsAvN7Xvutuc5+x5mcSA7L9V7DkukhdbCrjbyX5o0ld6m+mDV+6wp\n6Kw9\r\n=d+IM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"7b47d39e2a95f2edc9d4eb7fdec8db8ef8377833","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.1.1","@adobe/helix-shared":"5.2.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.6","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.1","jsdom":"16.2.0","mocha":"7.0.1","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.9_1582704663800_0.7557053397813112","host":"s3://npm-registry-packages"}},"7.5.10":{"name":"@adobe/helix-cli","version":"7.5.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.10","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a69e5b4c89816dd6267471c351df037340cbc1c6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.10.tgz","fileCount":74,"integrity":"sha512-9ukTkBVtU3hZ08RUqweN0mzN73Lt9Ou/x5ZDimlBPHPrjTOnBAE4tU/SRn9jRe3zhBF1AZeUD74W6vcyy5CwyA==","signatures":[{"sig":"MEYCIQDftMpEBt0APoovbnBW2H3Cx883mhjFASpTCj+nKHxRrwIhAOmKisym9s4wCNeS3+T/lYyMgsXGyS+BevkVN7IDLAuo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":448979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVlKfCRA9TVsSAnZWagAAp3EP/jzKS2j/k8YovJhw1ehy\nUOGEmYekgYjK2RD2iYsnoDLjRrBvLNkF/glSg2EpcwoSmqSv4Ur4gWEanlNH\nDimEe+nbYq1HYt5JJ44wOEBBbdnmvNpEtfO+1GNN5g7WG2AA0029icgIRZHZ\ngmFgWjYOevEuRkAvqol7K4w+CFuRCVnG0aTz5en5dN/92WFF2CtLIkTeTBTC\nfH1HUmSAYOSpncZOFb3taykDcYdjp4EnX3nwEOjU2FUuaY1Gzhct84V6VFQo\nuiDsfqCDbC7SSXfak0mxJ2SBCoPHQmSRr9H+TpEK4UJh5zWwSBHEYTt1caHZ\nuJtdpYnpnaUFnSZii9ofagruomKvhNBm2r3Fu2iR1upZ1OnxicIZEiXZ24mT\nz2Ya2efvFKGQMpCekk0W13L9xsOBqoIGgVT6f3KFQV6jV8GWmjPkSWiD/o7n\nejzOUAWwNvI7J6nuyYx9GSeZCRu+tV0ng05hNTi/QiSznovVJ3lVu1JzZ/ZO\n9i+y8ZFDY0Xl09gdYW1k97nmmF7dowQLdXkjBzWEtCgeHhlxWaYX/yHiU1JY\ndefJkulIjHKsm+wUzu1cArNPOU/clfN8l+qzeCNvBKlB/EHe/NCqHMB6xaKx\n7cBCYdtc97AmR+s4tI2EykETC3JrdzDVVTZWJFzZMMnx2o/+KF869jjjaUdn\nPQSy\r\n=UljO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"1f61fe97149018e4a4827b73c288f7a20c4c9909","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.2.0","@adobe/helix-shared":"5.2.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.6","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.1","jsdom":"16.2.0","mocha":"7.0.1","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.10_1582715551125_0.11730840781963736","host":"s3://npm-registry-packages"}},"7.5.11":{"name":"@adobe/helix-cli","version":"7.5.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.11","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f168b61832af29942b86af3dc6c0c65a90078c3a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.11.tgz","fileCount":74,"integrity":"sha512-NB1AK89KnVmPLCCu0TSr7O/s6fxwzXH+DqprOCju2k6GVPweZPKqR2dYoOJtKPX6OdMKGbSXyMxElewtt2Ih8Q==","signatures":[{"sig":"MEQCIA1VkXjBJvr9ae+CNAjlsNaHwc4wI73YTO2GxLTuhvfVAiBZ8PerR1GJ13neKo+3RRN6Oy74K9eO0zYeLlYRa9Lj3g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":449237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVn5JCRA9TVsSAnZWagAAmIUP/0Od/GJ0xOIJb4cCAxTI\nYuwQmSDvg7ASYm6vo/QVyXtdR+0hLHuD2k25RzyEnvhIWASsaY/8VGwcm6S+\ng4RNupVTAKc3K/NR+Mjam5xHQiwSNQJVEMrDluB+utKNKDOJ7A0PmkQ4RHdJ\nFRp+TlJHp3s8JPWrwUQqGDC+9Tk/gA2efH0z+3ooDhllupAsqk8VN0Z7PL9H\nijR62rarGm/X46ttz0zZ61O4Gr1ASQ9nHYo11hWi9P8+ju8MOfPiQw+fHXaw\nb4GRTYDZaNsLbRCr2P32GTKC6jmyoWbqdiKNjWV0bY8avdwCfXCeovYhNm0i\nnhPUnricLe/q+PWa6Zagt0Y62h6c585q6r2rkOwPbz3p5KtALQfhYoQyZQfe\nS3sFAm6g47Bk07MhNswyRQ5w2GlLfE9qvFkKrbq1915b8PzrDZ/3Lyba/n87\nsU3gveBW6nqabYHcRJa1mReGZjABuKOc3rphZ6oIe+FFaZa6EWKBue4A1ztv\naj6nXf+PWVVFPA3XL320Be/7MuirKjA+1Xve+G6X3pYpTLt/xax6c4/DglGl\nhky55001GeSYUDkJcBBzDqcv0s0Oot83cONlB9SBRztjM+8si6M7JV5sFDcY\nUlUnuNxdiLCws3R1RAOrPSpPA7gxGQuyoWx54vNgSYWMjcO+YyGFbL8V5yuI\np/+2\r\n=xlRd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"23789b662447d0ddc237d4c344ddfca67674d01a","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"5.2.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.6","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.1","jsdom":"16.2.0","mocha":"7.0.1","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.11_1582726728668_0.7354952779161081","host":"s3://npm-registry-packages"}},"7.5.12":{"name":"@adobe/helix-cli","version":"7.5.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.12","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7dc518495d2555a1740d5cac1deafdea85b49f3c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.12.tgz","fileCount":74,"integrity":"sha512-KXcOAxNn8D6OQyb5PKxVsrLsAUaxnBYnMRc/FlcKXZBK4wuSLK36dlORcE4toEiaQ3n6ocSf/tQC0CMIo5P3lg==","signatures":[{"sig":"MEUCIQD9nAuYPGJz6xduclD9oCJ4nBV49W100DpX4I9EIilnHgIgU7IHX4Hq6mDXRvw8/GtFVZr4qZc3InsF+mkiBy9YwWg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":449492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVqarCRA9TVsSAnZWagAAqU0P/RqPMzd3K12ESIYUGsiq\nqSo7yGC5BT+hIeiB0adpYmsLcSTfS9RYnBxWGCjNGLYGr5XpgRoptJmAkTSg\nE9eZ3BSZ0+yH+oI34wMyOsxs5+1A8U/shJFZ3bDt9f5ozWpqggA+wJ0W0ad0\nGHYTJ0VM0w0+rjYUp4G3bZWyleV9wE9R+XlgfK/4huWRkWavKl9ekLP9F31C\nZoG/D3f5bZduSxcrNhUFtPGSTf6vucPIXPn+KsQYdY0JAk5hbPkdh0sBwUQe\nsRhnpI1pjTt/v7L2l7hltjcVr5Cprn0/dQ4/+cpIaiSmWaNnxC113UawukdV\nNPPAzBRVXJuV42M6mPDBNzwgFhTZkPqM+PwYxG8XTHS13f178aJGeaXDt60U\nsjNvQlfiamtL+6vYkkaesJomsTAGp/r5WI6KCz+y5TatARQ04R5xZAwy5frz\n6n2J9VeuOold+1oObv1wq4K7OhJcS+LSFlkaWpk+z485/Mr0bG7V4dHfil9n\n23YVsq+cD0EwyUz9S/W/w+wfenCvuQrRjS4vsMmMjAnh6YFJX8L2F0ecp/em\ntGXjIqPANrxbT/tuEoOVK3r6PUpz3kdwvz1VbMD1fP8fF2xrIBLYv7MSDLkC\nZAmgGjDjfsCSxjESrBz5lXwjJ5p8szTrWnysbHLTh0wKQWTOb3vntcSNHwXA\nQNOb\r\n=Q3JA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"21588b4e660aced5c10d9327fc0b4f884c8fac68","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"5.3.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"3.1.7","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.1","jsdom":"16.2.0","mocha":"7.0.1","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.12_1582737066423_0.08843574877876414","host":"s3://npm-registry-packages"}},"7.5.13":{"name":"@adobe/helix-cli","version":"7.5.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.13","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a821e35e4000936d31aab38c04f9bdb29c3338bb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.13.tgz","fileCount":74,"integrity":"sha512-WaB70/DECSg6EF1hvUh3CWIYzACHPd88aQ3z7uveMnms7Nl7Zpnxv1GR4hfQT4x2lb0BRE3slkFeHOFQN7HiMg==","signatures":[{"sig":"MEYCIQDi2nF3RBi6GgyP3YoZLwDtF/hInvGCj34Wu46+O8l1xAIhAOMU72MseQNXZ2+EOMlhxBiRcOdsqAPYA2+r2qvb64QT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":449747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXNhVCRA9TVsSAnZWagAAytwP/inhgaw6gJO5rWxwlc5Z\n6NwsXDfuKRUvyShX+d/r7FHNYmUohVzhdqSn8GvlLsdJvYBZn8RsYyPJDy++\n60vsXvXJc6H2miYjwTWw8R/p/HGiii9jMSfVOpp9Xg406HlnC5Z8RbmWetw7\np3CW7W1itjvMWoDC37Qfj/iiCUe83HGnbWNGaYT0Vxx5dcPuXjBXYNsv+094\nFg9rhL/k+jKr4nrychOlC55UB1arDEctPxCFn8b6QCcKOPBzyUdPkIGOcA6J\navAj/kvMTwFGDKYw+0cJbjK7dFVE+L1yvOijIVWweblt4VdU3hcZ0pZwXORO\nEO5SZJUzuHU0bydzRiVSxfo+UXrujHsCxomW9KUSpTWvbadFPnI/efk1idcl\njLoF9B8P2WUIhsl2gbIblY0502WVm9JXwkONTYtNawiU/tbqI9GmqVXci5pu\nG40h75NOnqVtx1dGU67uFivA8elw7LxClUurM2FFM9qz0Zo+sRQiZWWFxIDm\nXTerUnevO3m/JfgN/euIh7a2opmOUhK3sHSAKyy11sgqdnLewFqmkGvDVFOZ\nt57YpLl//Kr+UaVHM7mbTxHUzmM533ge2Q7snQPAwkDu48kg5rkZpq4cKkk9\ncTZi1djCdS/bHB45CigCBHneI1dCm2AbZQPIR+ZPFTcABwFcgIF3sLQeIsmW\nvmb9\r\n=ohjp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"91ef686e90d53988f2827c827498a3b64f387c7e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"6.0.1","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.0.0","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.1","jsdom":"16.2.0","mocha":"7.0.1","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.13_1583142996987_0.4804491852702364","host":"s3://npm-registry-packages"}},"7.5.14":{"name":"@adobe/helix-cli","version":"7.5.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.14","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f873b27afb376f84f4fea6639b188eca140d72cb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.14.tgz","fileCount":74,"integrity":"sha512-HBPNtVO37SHIMyM1VuyV91xDSutqrLi9JkdWv1oh0zCNJbirUQ74s0k8ko0P9Blsc6SpxZ5Qr5MguPVn/a/awQ==","signatures":[{"sig":"MEUCIE/nxXkl4UH+R7AAHOaQ3pvgUGOm5XezYAvGj80Al1QcAiEA8cIoRrYfqVjVqNr5DaENLVAIBO+pjuts7UPWEwRfWCQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":450011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXNr/CRA9TVsSAnZWagAAqrsP/2mAbywK+/4js5tMyqdA\nIdwiArAnFx3Grz/QF5H1/90286vNNMdUpFZpjiGOgI6R0crVtYu7NXVkwI9D\nlCXyxzzT6nmO7JG+LlkCIo3XHa0wJtO5LCDjnRsAuVKf8Q0t4vG8p2tfi79A\nts8Id7nX5D44UgRRLVahVwstGlYrKeHjM1xX+KnFiv8dMYI+xB+zdzqisTab\nrTjC7umo/gXzf8wQQAyr7/bQhAU/Q8CAgt+t+DlnclSYCVmBErM3VSqmPZsZ\nYBPy+X5IiAg3xlUSwET+a14pMGg0TfrNs5m5F3oHwdS4Qn3wCBM9iZLOaH1V\ng+Zp7BnlYLSzolUSxYxKjgexdwMwoXcDY6PxSse59WCxxvOesJ5zDf5wF6Fu\nW2+ztwhtUoaaUqHLnS2ebBuguubYrj5TV+LQTQgGIZx2yJbnKo+b+AA/sBew\nLZEUrwWPfR2m9MBEUodqs0bLs8oR4o848PxyPOF7IdfbnQfIIenIm7oeipJ2\nGnQ+dd0pMymo+QUq+5P2TNOr/C/BIEarWx3BiEYlZxtUpdSoRLthJzzRJThK\na3JXvY4XFCpeY/O/b7XYmAEHRwIbQnNgBcXaLvmrkr9xlV++EgVVhB19AXzx\ni6r6VAlCLwHcK3UBFDiotjyiCc4xCCGWsSpxo0/YDoLYtTf4HEXiiX/siG4l\nYf+6\r\n=KNJm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"6e668be4d20d08983501fed7b415755c22274145","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"6.0.1","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.0.1","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.1","jsdom":"16.2.0","mocha":"7.0.1","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.7","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.14_1583143679066_0.9736886809180738","host":"s3://npm-registry-packages"}},"7.5.15":{"name":"@adobe/helix-cli","version":"7.5.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@7.5.15","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2ae8936a000b1e6e039ec3462793a33254e4ecf6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-7.5.15.tgz","fileCount":74,"integrity":"sha512-HCxjg1hHKkpIdwxyOyOBC/L+BlNvHx2yWGhWB0feblwgaL7a+R/pfWG8yKxWjd/0hE3GHSw1GC5eZueQv7J7+g==","signatures":[{"sig":"MEYCIQDQpJGV6zUwoXRFq3agnFJA2vdTPiykOvyiPfqc9yXZuAIhAJL9eIa33uTS26U8hDQW0YZAPMHjwIs9VhZVG+wOK9A6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":450266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXkjuCRA9TVsSAnZWagAAvewQAJKHA+qq2mmrmfsNn2Lc\nzlcx2uAr+EYF3X0pb/rE+aIf2gOGhZeeQvjPYv0YoXWmHYkErL/3GK3XcsUK\nlzSASY8M5aQJV6ew8iPpp+Yd925idBNmGvRZ2JaIc8vH0OUN881H5t3RGRy5\nhVcyZf5KCpYHQXE8CudxSRyNzPp4GLHSB8SI0owftBWS3AP6cZDeUTlY85K6\nJJ35Z1R3O77rq96nKYFl0tFcz8/Mc9ozms/bhNBD1Iy8ArwLSvNmkxQ6Ygpz\n/7SUJj1dw+QPndmdmFCsP6ISFkJnfJmBBZzd6KB30Api3YPdkH1xG77xA8ea\nBfZz55Ky3/oCsdPtMaSZDUN0XvosDqoAl4XGMdf47eoPGDB+F6m6UUWooh2s\nND1ItMQ/aHhRagimEKARnn53MtsIwdlLH3s8Zo8OrC8C6UtciPqw3VlVPICj\n3tWp2jhuhh/3CND5wKdgEaURosYJrHYdjKntC+YtDHpoc5TZqLtsRdLuncRg\n4ZosCySF5ExL+fd+SlGeM5XZFH4eNdZvOGD1V4Cww79P4qmBL7pnwJIvYjUh\nlAdIT3o9caYQIVTA8Jv0eFswi0aZ+X45uksS6s05BH3Zl7oms5JwPqZnpKcK\nDlz9V57QGv/8g3rtFdfT8dlL7H0+WgtY7x+ieYnh4MbB27rdOfmJeZ523EcK\n5FZb\r\n=lgnY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"3126484ef1c79d559941745e2c01591fc0932fa0","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"6.0.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.0.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.2","jsdom":"16.2.0","mocha":"7.1.0","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_7.5.15_1583237357820_0.5795548892879718","host":"s3://npm-registry-packages"}},"8.0.0":{"name":"@adobe/helix-cli","version":"8.0.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.0.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4fd38ced227b393ca480bde7f8b51faf35ffdba4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.0.0.tgz","fileCount":74,"integrity":"sha512-mMC2W8lvn9xQ/b3VZhoWkZyRSQlhAuMxzNagiw2ATnbE6FSU0cnQLVhDof385iZiAe9f9vwLLGVieQmElSYCyw==","signatures":[{"sig":"MEQCIEUNOVV7wDYSjbHRvb2zNDigXhUskQaf8OYQ43O3OLehAiBPkAF18+vE3Wvl67XQspR8yP8wENaTxdClRYdgkQG0LQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":450777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeX3cjCRA9TVsSAnZWagAAyWQQAIOCl2YEP6AMOX5jKEkJ\nV7Zizbe9UV+DOi2PCkk6L8XuMYAzoCO4vT6pRfOdeI0Mrqs/D9UZmCQU4Mb2\ny+hg5ym1fuDIYQ5Pdzi4fwEiffVTTxjj3Z3rjKuCUqaCwGy9Kg0GcGKZXKyt\nTJvtDxYCTVjgng0eKZwSmSUUISA+AYm6z6E4VlIxSK3nFaV5g06KsemD08nP\nLwrxeEHtKe7Meb+ZfZ1z4d146P/cAh95XGes4REN3OSlZfpheL+Bglp49cmZ\nWw01Z9rR/6JNmzwzrjNk7IrHDJyXFjdIdwSLyjPd2Ay2g4Nn7D7P1al6xcz8\nS0itI/VrAWR1NguZshfphlr4lCgvB63OG+gXVbN6ejUP2Q/p3Cb0+6xI0/EP\nYUzG5jq1clYlsumU5yAjLpHQ/gMpxfJajUlGJyDh18t/vS39TFg4cqHLeybX\n/i9gP7MlI1Amohwjnkx6Ue7q2mzFFiFwguK6Xn28qn2k1uFXgm1Ft5aQkjli\nmZ1ciPJPNvNtWcLxzgqUggjLpDd+e1wLSUhqgi5T9GUSM/Ld+sgvTfRgx91p\n//Kst2ex+xik/+3pdderaiJiVrNv42Zs9Dfco1UyybVvBEmO4fb+sgzn9hau\nnbdlwQV2GL3CQfkoTyUf4PRVh5bqLDZeOBn0VDv0CYocC0xQZjvpCTkUkv3Y\n2ldz\r\n=iPqp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"08c46de0399a40d82157e4560b821954fa4a6ecc","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"6.0.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.0.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.2","jsdom":"16.2.0","mocha":"7.1.0","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.0.0_1583314723327_0.06237455385057289","host":"s3://npm-registry-packages"}},"8.0.1":{"name":"@adobe/helix-cli","version":"8.0.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.0.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"bfcd985621cd46bd22c43079823a4ce44af1ea29","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.0.1.tgz","fileCount":74,"integrity":"sha512-P81N1EmNXbAXnCo1qyGfAUp8O4RhkbF6/rAha26g5OTmLGW7FDzmVZ9j5XzRmJGPF5N2TbSz2YnWwI3sIf+dkg==","signatures":[{"sig":"MEYCIQDkRW34R/5wcGGZk0h5hkOVVjZ4QR5B6qIg32rHZLThIwIhAMm951Smgt6jBcxd5fQ2TYLElm0fcyUJvc/qbexXQNsf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":451038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYh1lCRA9TVsSAnZWagAAb/UP/R6CotqDEhGGqR7lswUZ\nPU0+T67hAXz2pngoR4G8JgR2tmUTC1LBxKlEjLNj5nym4HuARNBKvupkKY7v\nvCTx6+ToTidimKj8dv7820Ano3MRdQ8Vngl/KcUc3nPVbqNfmdFdvMKgKNZm\neZG/1wAlPoPI+Gz+GImqhyIcYy6yE5nznwLshNtPGExBscdiqSd7WXxCf7rJ\nUoxKK+DnB+Ue8GRD9nbZ0YbtI8ezCfj3H9YObDe1LPSZm7MmKgQMxM1O9bmx\nLs2PsVuTQh/lIzKeR7Rgidpz9npIQjPN38+YwyRp4adfw5ThuauH87FdYdlm\nnWlSGbNuhHC4z3x23xRIStyl9kEYk/vV/kqm/8GP3wpuU+aG6dRVOup5fxwz\nkJagFiu3W8Y2pdLhqvL7AP4aLYeiMarahFBgvbDU/GrLlCVf/0fKBjP3mIaW\nnnALwMp2u4QniG9KhSdW7vvJDfgAGCMNtMbgi4htKetvbX8BhrowZO4k9Zrq\ntdvVhRfXhdvyQwRweILl+Zn6CLalkFhtc/WSM3ikTRxiKsQ2XcdVcOR21PMj\ndQYSysdRNLBAUIo01mMPbopOK4MnjwlGgyR2n8lZAgGD0YJqTGw8D0/3s4Ae\ndBpUqLzlD5eTR2gd6CsPhP62O0sC/jRmZ4+ndwFfcHcXp2fx9Mws7o2WfmA6\neHkG\r\n=ZCCK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"80894ee41936f1931eb2bb6b7775eb06217c974a","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"6.0.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.0","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.2","jsdom":"16.2.0","mocha":"7.1.0","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.0.1_1583488355405_0.315701885472188","host":"s3://npm-registry-packages"}},"8.0.2":{"name":"@adobe/helix-cli","version":"8.0.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.0.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"73396b13e59a49b0de1c43f3b65d6271285277d1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.0.2.tgz","fileCount":74,"integrity":"sha512-WL1VWFTfZJyO7BMcCzxcxvmRWKA1+xJA5T2e5vGy7VNwwACpRStT9wwj61WU2ql4GKuuBBmjDjdubu3mRIQ6/A==","signatures":[{"sig":"MEUCIDRUftyfbMZ/yX6eu7nuiatUJc631ucVYlDDlSqaIdn7AiEAyRSR1v4hLTTaUkUoj0M7vulD6u803+Rr3LqlHTICDH8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":451299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYmfMCRA9TVsSAnZWagAAmKYP/iuuuKyvK3A1sh0JQqQr\n4CmQXAQvFlvspc8sGmn7PhIkp4S8HuoXR7oWtUXPj8euo2av+wCUTvZ8Zvm+\nPUnstwJW4653eF8Uz0WQgSeKYWpnA8LSnfga+GdrFr4f++DMteGdZ7YFmlru\nnS6X12gJ5tG8p64OwPItAiMp/9krprbDkio5MRCFCwVvTKul7M35tFFsSgDf\ns/NdGudqL24b7bP0rcp0UjqD/KkDScmNFNW0FvxpwIfKX0IyNfRqeNm+ciQ5\n0v0l9cmZdXco3k5hNX9npUfWfblLHu7oADDanYtG4ZRvb1x9H3RwJJzbqfAe\ny20il4wwfiMkYJwqzHOgpHkVqiva2/UfTscNrhuspKfQCYT4y3mLy6bpgXIc\ntTec5ll4Xgt1pkt7+dP5zeJvAskM+lc+bC/LeCrxyh88OuIKM7cLPjhNLChy\nSdxXevXPcLGFsUYEA7U6zZN1JA320Qxym3WFY+3gR4cW/rLy4sB6S6yoHRG/\ntEWtR7bWc3bUviOMC1Q93zzcSNl8/qp/pGLrvC598wV234+g55aehjBc+7JO\n0UCACavKOC50sUu5XfPRw6iwEW1dHVyfmGXo8PThvZ8kJvRc4noPMAIFXUQO\nzs1Pxve7KGUdhgdUzalWxl/8YJoneSNVzXCmy8+hjK73Qim/VvxTabSksZ++\nJNtv\r\n=dsvy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"8f8b395bc141fad7105193c105ee6fa0390d9013","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"0.78.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"6.0.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.1","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.2","jsdom":"16.2.0","mocha":"7.1.0","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.0.2_1583507403776_0.06833976035095546","host":"s3://npm-registry-packages"}},"8.1.0":{"name":"@adobe/helix-cli","version":"8.1.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.1.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"765b9b3c3e0454038ccfb0bcf2055525871c1476","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.1.0.tgz","fileCount":74,"integrity":"sha512-0o/jQWoGYXAd74htxlvbmRDYZKJcxziTGN3EFSkHr3Cn7y5HShrGbtJNFMhiTTCfgOxdjBGpNFOT7jQ2QbmQmw==","signatures":[{"sig":"MEUCIQDTzBTtCBzpiLiLz2xtew3NuetWRZRVTe5tC/sC1lVphAIgT0vRWZ87curarJFWoj4CYFuekVb9UdZJHS6WmTFcBPQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":451955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeY6KwCRA9TVsSAnZWagAAgQcP/A1lroqtR+mPeI1QPdRm\n5y0y6R8NIAV6+k74ECUpeoFghK9GUE+oceSVNKHFdQ2NWdAfWiBNRU7HsqNY\nzpY9B1abU7QV6COOMPwZ8yNNGuG095sO0IfbUZTO5nFUyOfCunI9hvnTwo9G\n3eBEO65L+afZpzjqy55gj4Lzq5Hg2vp/s+WagutsZ0knp/9CDsTv8uZR4Rgn\nwL4RfNRPWKNiMWvkkff8uBJOQfLfVnt2RhrfPN0gIVTeB8DFBixYljGonpyh\nH9yUnRRarOCwHWVSaga4FhK+jDGm9ZsV6nz1Wm0lcrUInEyM9c9C/DqPHCox\nPliizoLQ6ks3/KBdJXLS4PLhPMQ6iu4ufPqasbMA4SbSyw970OWjoZWvdZnt\n6G47hfjnU9drekI7/wGJU+IhSNz5fCkCJZrGaLuz4W8PoMHPFJd1Ja/Dwysb\nk1EAUuNNKLLhpamRjMRVxmCheMLqmiDwvIiO36z5UJ8sDil/ZLDYpQ5JCxOR\nAYIczI+uySC1effUfx4nuTXZdStESpcvt6V079fhykoRfhWvuYPPfzRtzo15\nRgsKJJDpqusQvcGukPeCUuLrb4kd1z1c5s41t+yUvXO1ZVSV/AmbSwvxnt5+\nXrR0Dq/UcZWTenvGfNm97ijHV+/3iFaELQKVv9XMTXXHRuPY90b+NjTzDJAx\naGeo\r\n=x7OX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"80b7c156ca2c18b5c57c35f09f93964ef74607af","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.1.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"6.0.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.1","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.2","jsdom":"16.2.0","mocha":"7.1.0","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.1.0_1583588015643_0.30416445516116264","host":"s3://npm-registry-packages"}},"8.1.1":{"name":"@adobe/helix-cli","version":"8.1.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.1.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"98f020781f905d5afe21ca1b01b3d8eeb623f602","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.1.1.tgz","fileCount":74,"integrity":"sha512-W+XEJ4G9Z5UGc3fWdkhG8Qjlx5djTlCMS6LxOyc7skpH23P+ISrLB8PCBfGToWQVQMQB+jcl2aD3P21fE+ZoaA==","signatures":[{"sig":"MEUCIQDGBuycCcAnhbyj0GtuMIgii1vUTqyeM/cJkisxpfu1VgIgagR1OFjjnAVWFXGfw3b5+mmPjlJnSScTAYtX9EH6TlE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":452274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeY6j6CRA9TVsSAnZWagAATi0P/RZVgMcP2N8PBGocptjl\ncdFoyDyiTeR0SykPC8SNZWBnUQrgdTTRjNlkpyrnurQ1FKBN5+bU7tyjKIa3\njB+Eqavbptik/RnULKZStuQPEW1yLVBJNzMh/OrQ+bjr5XAAmRduLL3l9YDJ\njygXABFAsq8Zh5F5DsShpdrpTDkeEZh4QJaPWzJXjMmTdNpV/R1qdabOYj8c\n1Uazb6/0eZvcPToPCZVVOOivfsHsi+Xnf3pNzOe/YdyUFCzokFV25i4p+Fez\nIzE0eA2phATrpVMEPoGydGocBT002qbbzSLqErAymS1NCOZLZcbKYMSW5AAE\n/+lp9msvq9QcRhWfc3ujqj/8JHwaysTQcRx0BaPQmJZ3r4iEQKGJecqjQ0Mk\n9NeQqCxbvWJbF34Ki6GXKpl/sn9AXF2AzjMjJ23KmiLaSiIc3Sovkb+tHhvO\nfBMkyn5Rm005nCKbU0159/lGRUJFoEoXpLaoo9zqwQvarzQN0EzIUkqv2Z6x\nNW+m35YF61Z6g3IZEfykF23Q+yhT/kg6WjeTF0tovkanBxUJe20fOkX/sldq\nUVaxWJ4ybUDhNt2VKB2W1uqaMhP0QaAG9PR4ZdM0/h/8y6XAtmf9/cS2FA+D\nbT59m31Ri6qq22IXgylVbSKYEpoU37S+5UExR9UIKn+VQrcsPrUiBIHs9Yse\n+BPv\r\n=gxgc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"2dd60199aa7c4c71771835e602df790136972dd5","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.1.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"6.0.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.2","jsdom":"16.2.0","mocha":"7.1.0","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.1.1_1583589625416_0.69683329443074","host":"s3://npm-registry-packages"}},"8.1.2":{"name":"@adobe/helix-cli","version":"8.1.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.1.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"9ad95012bd6d01c46393efb70613493a4f500c25","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.1.2.tgz","fileCount":74,"integrity":"sha512-jH1nyZKMJ5lR+rePHYhCGv11ZPjK8y8UCF5h4YhxLt/Pi5x/CfhiliQkZWMG3XgMBXoCMNTWVOCufQa/vImiMQ==","signatures":[{"sig":"MEUCIQD6OiXdqYbezU2hJ1C1Dh69MC2lTFqYaludChq1bi2RjAIgMX5FfY946+OEWfyCY6w55q1mVFi4lxPwJOOkhjR5k5I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":452558,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZlZCCRA9TVsSAnZWagAA2i0P/RKXDg6UGdwUK7flgb2T\nm9So8t1BUAkWK/hjb2hLqKtU8mUUd1XMqWbb1coti95l2IO9dTyn/m6Fuyri\nRu1wDTmcJFSdZ3mrY+VdVlyjnungSjy1aZjCeLUDYGsr6yvZA7BXasB9a83z\nIshG8lbPkYsK3kF+6G2QF5YeR37Fow61RqPBV6pVghiKr1b+Dr3hxTWi/9WJ\nEC0DjUKw/Al97a4md0Xp4sNBZ4ASYUKJiCiPBITezGQvePYF2ucVG2EFLR5v\n1u/D7qdXkYEfxLD6qG1EVvAMdQR+fCWokQYAF2bgN+trGhhWfH3nB9yzgCgK\nVgMPsZ1yP9u+7x0Qv19IcqL3669Pbb8ilTKWsElZ4xUeRnNnTwWXzKaWQ7ux\nKNpSRz1QORyCc8HzQzJzaQVWg2Txnkh+wB39rEFlDUdse3EYO1e4cqzPFUBb\nrwyoHnD8zqYCWp56DDtcZpgjhDyVuTEfsKgIHCZgqEP8hizx5mWaIxi6ieEh\npKZcyIWdcIs2R3SDuwPbyw8kE2U9R/2CgmZRMF4zY1zDBI3GTcskTdVz8p+Y\nzfe3VAlf+2vo78qxawUgah3GpyprGxxF6D0H9CDJAzpVVwlSUhSuHXcIZSQE\n8ycGLgR1s0dJjuuew1pquzrpOOQ3skQqAXN2XtyVHqmjNQqEkoJ/JVrYMf1a\nwoEk\r\n=M7h4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"e56203fbd2cad7de01d595396ba79b3023860e73","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.3.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.2.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"6.0.2","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.2","jsdom":"16.2.0","mocha":"7.1.0","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.1.2_1583765058141_0.9521026658415335","host":"s3://npm-registry-packages"}},"8.1.3":{"name":"@adobe/helix-cli","version":"8.1.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.1.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b1ef300816641aaf88ccc130ed1e86384d93b407","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.1.3.tgz","fileCount":74,"integrity":"sha512-ieLoVlYBDBgxotTqJrtJboWPAdVOshJLMg+iD3KD/dPIj2pqw36oi7+2ljZys5Tf4hA2zcXwYnzkylBsCd4tog==","signatures":[{"sig":"MEUCIQD7VlzbE1o6vWLHZtC+0meCFBIscNYii8k8sIzqB19FOAIgPLzfhQSmcY3INyeuUoLr0oKTFAsK9fTSOwPxZdRVpGE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":452810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZmsKCRA9TVsSAnZWagAAT3EP/1y6SVb2gQtLgTGSNsG3\nLWI7+y0WEfjA0lupEofR5h2BmGjOM1vSp52LZShYOgpdEMKrPzKdHWhoaOk0\nMl2k4d9WSp5bdFWgFyxq3UmTlqB1FC/lu0XVSs7SkwTy0C2KVVVYNLVYDWDp\nkAEKrVRDCWT/S7YDwJY3DQ03oVMI+wN6qXjhjFJmpvJ6SYHmXRsrRYQLHoMe\ngVGfLjjX/DwRMI3XDSSvae3YzMT7E8rsUHDl+qkPA1UwukbvqaCW8WQA/6ev\nuvy7NA3/+lzFWLazHwDsKQOHRO3juLkC3koBWa/qfScDDgTRvU1YRYVfh6KQ\nQ7SIq4bcMziIXv6jERYx6jjHDCbzD4ZCcPKukVGIaRGacKux3BuEyuV5MnFf\niIxUzC6m3kbAHZVjDcWnrjSHsIkeD7qQm/Wfue93WFguS+x9K1f98DuIPocL\n1uMb3Aqh8pVjRRKuO1S5dFZ8en3G8JrgE782lbyu/PPI0hSjxNHYE0DBI+xQ\noDMxVAQLihu9ExY5FQMZ+uwP0DrT1J63K7VIUuyTJ9cTia5Jn23y9jZ5vK4K\nMSgsAR28dnCeJukwSXJ6gyK9gqBar0Q61z9sR7aK3bZXJo+0P4QQXzKZhsiU\ntkD6gpBAAuVYClQVcgsaabV3/QV4KvSzgRenSWb3v1d18gTNkvQBHt1aD9oh\nWF0S\r\n=GGUZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"ba3d7ac6a49a33a6e5c509fc243c9157a2f8532f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.3.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.2.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"6.0.3","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.3","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.2","jsdom":"16.2.0","mocha":"7.1.0","sinon":"9.0.0","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.1.3_1583770377552_0.7502709293137655","host":"s3://npm-registry-packages"}},"8.1.4":{"name":"@adobe/helix-cli","version":"8.1.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.1.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8045d05f2824f5b5f2294c29bb1256f889c7ff45","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.1.4.tgz","fileCount":74,"integrity":"sha512-LQnWjRMMzU/Ql22V9ylkW2lfdogb+g2/3i2PLCyl5824igZk+87y6iHDANNln7YWAmt3gHYs/NDpnv8v3J4/qA==","signatures":[{"sig":"MEUCIA8EL9dlsJ6AaYNiQDOUlDUgsV7tpErXhnCSRjFZW2RxAiEAjDslN9DxPT7rvmOP0+pyTUcaE5VGBJFRW3B3DytEdOA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":453094,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecC2RCRA9TVsSAnZWagAAL3QP+wefJVyi8vEPDSKSfJja\nz/Xrxt0ztbKj9PSAVuR3lBUyaprDpfaIlQPpxsytEAN3Si5pSE0JiVseM0ZW\nBJ3sjzf1gRwnXsP0b65hy0W8yFkqj00MJn9pY0XDiUKM8E4ImOq/8xhX/La5\np2XPLDtTAqKubmtGVRnsxKeYBE2eDeiQTkbFSrpmVcp+/vdN8S5EhEQ/mKx7\nHkZDSi4/x9vs+LVcUfO+4c2qWYsR72Ka3rEEgfqfE3kbFdboA0Ou4Jr9idM/\nwH1tJ2ViVZ++KRslDJNPsGFVT/X9o0Q70EnjiG2xU1fTYKsH1k5uuVx2GGn/\nTMNxZcc9ySGpjmVkU2jsNW/54T53YZ8v5HMhw5cvC98otPiC+dCS1J7e6OKm\nQjYt/xotGa/r5W7jsJlGnssZn56EecXSxmCl/dhJ4CkjvMMRs2dXmxc7BBjD\nGegpAiRyju4uN5uu0cBehQD1OZpyB81lrrHKRtYdooLKeZ93vGN0sfgrRZWW\n7fyOfP6nvAKt+BAE4wAGxmW0X/l/6qUjQJr8n+jlj3j8V3D6mh3T+MPgQuYX\nkNAwQahsK8BEFhhpHInun0V46bIIBqu/2VQkAw29gOPjbptKyQ0sWF6tvQpU\nseRc83xHwd/Og3cgzF28QeGxHTLU3zVlSUqioHO0hcMqe5fu/Cv2Z8Ku714p\nLebE\r\n=CC61\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"b7b6434b7b11c10d966e8c926c57c6e7c253c64b","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"6.0.3","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.3","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.2","jsdom":"16.2.1","mocha":"7.1.0","sinon":"9.0.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.1.4_1584410000955_0.986759596410987","host":"s3://npm-registry-packages"}},"8.1.5":{"name":"@adobe/helix-cli","version":"8.1.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.1.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4e255fa6118c16caed4d4be25c851cbf5708214e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.1.5.tgz","fileCount":74,"integrity":"sha512-awSKJgMK+dWdztLGEM5YKKNt4MLZvOf4PuLLjJZzaRp5QZWi+rxBZ8M+yW/Bb4bs6IuI4DIbFfo7WH0xHXfHZw==","signatures":[{"sig":"MEYCIQC9HTL2BXafX1Mih5TzdxGvWWyoDaDEU5Gi1Vw82NDcGwIhAOT2iMuldkCQM9ZhtBQZFs0OqwI4oNkLx1Mb1K6RjPIv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":453352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecDHYCRA9TVsSAnZWagAA+okP/3yzaHKvI1huvaefq/B/\ngGsnEU68qRCNBOwDRL2gxQLjJVOEFzFv2WFv5XTmiNTa5ttRA85RBLtJi4Y6\nKG5XKOrfxp7FFXk3gzaUT0W32SCZ7xC3RExZAGbH0yjyiJqAEzy5+UzrLH1t\n/EA47+zeTC8pVxIj+5Xr9h7T0wGP4pD3WY+FGMGLBEOGVbrGVStcJAqGzLr9\nc05p+sjkzyvkLyBw8jEDZViagjl3IjAL+NHZMbzAN8QGqf3MVl2griQuk6/8\nczKOehtgimGiWvXMrf8Q3197dUH1ahHiCc5ayoN59iEb8OL1mjHXTTxBycc+\nO+PefCW7P5OVhxan5VdpK42GkFOipaubDhuHveHiCqiOT3CcLc5jAKhuafN0\n2RoaVGVhaIqM2eWGGo82vN1ZyW1Ah4jbrwFRdGZL+Tk2rojFQUMstBt32GWq\nh/HM0B5mR+TUReiXfCl7mnqSWe+fKUXIVjgkCVvcKrFmF7tdWKGMWwtPioW1\niJ7dRmf2sgLmr440q9+lEmTzLKNUQm3hFMSv+KWPVq/oaSypgRCdVw40UgG6\nU2zifeMn+rN+4E5o52BYZO6AvyKHTlTYEvDayXKwNeg8G2m+nReu//Ii5yCG\nH9IJZYEl0CfCF8YwD1VcVyati9cVgPTlbUHQTv/4Em4W8QzcIRcHA1nPnJ2n\nUae3\r\n=+vEE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"ad78bbd455b94080b8d7b9fcd9b3655018f2bee0","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"6.0.4","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.3","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.2","jsdom":"16.2.1","mocha":"7.1.0","sinon":"9.0.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.1.5_1584411096000_0.990774831623173","host":"s3://npm-registry-packages"}},"8.1.6":{"name":"@adobe/helix-cli","version":"8.1.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.1.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1ecc44a34c4a1fbd76acf7a2a186579990c69826","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.1.6.tgz","fileCount":74,"integrity":"sha512-B4rHG7/G4HvNdNdGLlJQQuDYTPnqnenzOkAurDSEcJ3RqtO3rKu6lZXD+K1GxBlw3BCiPrSKWs+rJ/tsg3uKOg==","signatures":[{"sig":"MEYCIQD5z44goyJ40+A5HWAAN7xHGP8w325IdV5u99WETbl4owIhAI95ZOzQDG/XG7JH+e5S/N3IYKFqD7MBEcfJQBpciAhH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":453613,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecEDxCRA9TVsSAnZWagAAAEQP/2Tul+hFKvDxUPdPtAHG\nNO7IZmV5M0a61Ev7jUDIX0GFySLxQbImQa0G4gjlZy6aPtz2nvXwnOUVAs32\nhiKcjKKkGryfae1Q9F9Dh4B/apXsd2pxlO34VISMcSAxnnmHJ8fOVguVoTzv\nR19ocztHjv2P/+sGU6GhE3Q9aGxE2D05Pbb7OglforBsVjPFDFEU28grBTC5\npJzk4628ghm9Tg0rqy53GH3YzexoIlHF6YdH27C5b+WSoK0tAfV+vaRFBiIo\nGFxqm9KUc8+trmh+u8js8p7258Bx16XKd3GerD8+XgRsj9YyDvNhhyaD0QrY\nttCNVTsVaBiE8H0ZXbfkYFuhEXU0sLt/ANQCU4cj78iTWNAQMvutaEtaNSbb\nGSFp7N6v/6mMVB3j7j03mW6BrX1kjEID+pCms8a7xdDPN07NjCRaRW3PfAsE\nRIPI9wrgoxKu2dQb+MQ7qnzBb3DaAyCne/ev4C79dlCgisG2+CkDTe5k1LQF\nq9FYINWrDZJgDGFHr9uHMh8k0ZchhgK4oNdcvU9qFERvlEDIAITeqpqD12xU\npKC6Jf87Fgc0wVkFipum+RC1ycpyn+C8TCKJCLJS04Fh4vcBAmMlYsYYxBfr\n1fyQ7LyM4eXWLEOZriy6Y9B8NXOJbRzf0yqHDkWO0HBsLSVg0aPBGTmJigsK\nRnXD\r\n=NXlQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"f1cc13a743d5942886cfc84109e410b9154c56c0","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.0","@adobe/helix-shared":"6.0.4","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.4","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.2","jsdom":"16.2.1","mocha":"7.1.0","sinon":"9.0.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.2","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.2","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.2","@semantic-release/github":"7.0.4","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.3","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.1.6_1584414960724_0.17174823365811687","host":"s3://npm-registry-packages"}},"8.1.7":{"name":"@adobe/helix-cli","version":"8.1.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.1.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b5507776e04541f121b6cbe1bd3d9947b1bb75c0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.1.7.tgz","fileCount":74,"integrity":"sha512-DzgembHv2iBjxddwfAZsWNWvPDntRL/To7uII7a3v0mGa8dyzswq8kAARXiL0BBOKz5kpZ87XzzHCm7bfIdbOQ==","signatures":[{"sig":"MEYCIQCytriK3R9EBItA2pucfdJSAPaXgOBvTvjr1GHyyB5EfwIhAL1V6Go8T5HBXA08ls1mNIdqq5oAizWBY5pox3B6WxCu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":453868,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeM3rCRA9TVsSAnZWagAAzE4P/1jaWH1qjMSC3tlsXred\nYZ3bxnxargKrIl06SCnYr4du0Kmtn+ZvWAlkdV5EtkzWLZEvt8p91HB93Tmc\ne23Uqk7qXR0qgXWEzfYNeNzo+luF64FnXXdL/+jW7nB/MeEZShfE95Idr7qH\nvEHmjjOSGRifiBN7ELLZcN5w0R0P+mkjb4u+YRNwLTawlvJEtSlNBUkaiUX7\nmX4+pQcKsPOyRWUXSkDd5mNaqXl5G99kHk+Z9H0ZbMTzX/qZVloGSDnGXfmn\nS1bP5FqmmJLDFVQgL3w9yGIzpfg+6+oOUChcsdgBj5dIWMPFM/qJhTXmrCFq\nfayvLtwPdAWbQ259Un/7mVBZNUWRqw0/Jbj7mXn8XFu+ZLKwhrMBwa5a+QPZ\nGNW9rHlzC243JFNwkGl9H1R1muFmang1kahwl09vyt6DpeEn+u+d06t8FyrF\nU4R1zROk+784BlMjjza0QckgVc9S3T2QDwF+R0QXueUZKq/XgI3RI1XFiKF9\nGJBRpdqw0+/nigmUk7u2zNbA0RRwxNL90YoGze7Mhs185Ct1yOv9j0d5rcBM\n46OQsHWz6eRYULKHmmHVihi+ecdduzAUpA2J+qRwAnLQ5zewr8uRUOq2y6mS\nUGW1IbWLiDUvv3s71clBskVoRfA6oFux1hZyfbLP9xookETs/ChUWuBPfM43\nIP6m\r\n=fxon\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"39263ae38e01e172b785505e5115497b5bcdc7bf","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"6.0.4","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.4","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.3","jsdom":"16.2.1","mocha":"7.1.1","sinon":"9.0.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.4","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.4","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.4","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.4","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.1.7_1584975339273_0.4578100156310305","host":"s3://npm-registry-packages"}},"8.1.8":{"name":"@adobe/helix-cli","version":"8.1.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.1.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"26090147686256033e2a5e5e44b7cf946e121bdd","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.1.8.tgz","fileCount":74,"integrity":"sha512-DsPmYl4/3UycZibEfFUey7oKfUaKhm1uOUepjvWd7/1N/TUo9Mknj5HU1/CPQsPv/owvHm4Gwg69ChUq8ZTAxw==","signatures":[{"sig":"MEQCIBYepXC+7ebF31zksoAJ7VfxpGI3cwD6Fn0EdXiJZIt2AiAfKvMTa2ZRGy7pbQ5Cf1gS2M2ixeGcTi5k5VVnt4GN4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":454178,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeWmmCRA9TVsSAnZWagAA0FoP/3e3oIraV/s3+WuUjoGX\nAmqfWwnBGzuJ6Y8tCg/ANWu6TLDgdQpUw5JbF4jvYpaZd5SdPWVVlzWyPNVo\nT4NV0C/g0yc9Tk7+w57KWSr1jEbO3oQ9oQ1pcUrwCSH+UpBWm/3fAUf0bhhL\nbWJPDYALm73yrXFHcCsIuzHhysguGeX2+jqz8t7MQsIhLPp5Oxu0eZCkRUhX\nnqVdlFU/L8hREs50y6XuKU0++6Qo4iclAIk4lo8AFYKjZUU6t9JNelnneSLA\nClA02svkLrtrZsuSrzLbpWvYUAf/aG2csvA9YF1nBI+gao3jgYtgWmg96UpP\nYvwxK/HqJk18ZYu53G1efHAxHqByKEVisMeFChiv9CGBc7L0Z6P8Owz/nW0f\nUQ7oguCl5MuRfEMhUKP39jdeAWgmH9nn8VTvlctcZSTr2ASdlTiaWHX7oTn5\nDA9btN7giOnRW5pdVfyaMH11GBaEt6nEkGKwPN9+vE6sIrj2nBUOKsf3cBkn\nuT+GMl2Rzan48jy8LdRCGyNyVFt9poZ4m1LKdyxFS1GhgYE6fAi+Gx8OSSzM\nk37Fw/f0WYE1DO2hdsKBhwD4nDAl+uRKItUvSSOGCAvPibrxNALUn13yaeGf\nFZtu5j3Wwzm077GLJAY1ir2Sha6snLN3dlPc8h8F0n5YwtkGL56a+Y8e5WoG\nPCYo\r\n=sTOI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"fc5237f08884f916d668a58c7004bd1b052ab0bd","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^8.1.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"6.0.5","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.6","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.3","jsdom":"16.2.1","mocha":"7.1.1","sinon":"9.0.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.4","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.4","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.4","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.4","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.1.8_1585015205824_0.34120392103683583","host":"s3://npm-registry-packages"}},"8.1.9":{"name":"@adobe/helix-cli","version":"8.1.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.1.9","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"332572dd51fa483a9bbcca564e76b1ff31a5dce5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.1.9.tgz","fileCount":74,"integrity":"sha512-ngyBsMRDHG4+pBPHvrlJo83MbKp3vpwUmnE4Ft55NuFXpsSJ2cQG+UkO1qr0eGr5H4zq/M183JJmrpWUrwopMw==","signatures":[{"sig":"MEQCIFPJkkrFI/FdPDMsd3SqJ2Au4Mgc8f3hlh1t0ONX1I64AiAL/liHDdlLncB0o1wyLwkUCpiqRRiBtLXxk9NEVYb0CA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":454479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeW7iCRA9TVsSAnZWagAAz7IP/A/SfapUCTQXRq2JUzfB\nmkQS5EwB3J+0fZZ0zjS87IUOHl9mIsKoalqh9Huc/rIm2qtiJyPAtXzO9SB+\n6ffa43cX0oWJHWEsZcEPjM70xt2/5yh1/40LExWcWth48SoYc24zUgJLjKxP\nNPBELTauFXfQWQ4t9ThT1s3+1DZ2uz21EYqdUxJMu/fwUQoBX8siOJhTUhjw\nv27MhOx4CSw4qSIviXJqPoT9xdAtzdvn57H3fG12qYLM5JKjipxRwyxtywWv\nKmvbU6QX1+YOhqs1r19YcZwwfRh0rvgGjvuscF9CGjI4jzjQ2M3MNCBiipWQ\nTi5sEj22rCZQcFmJA2/sMBoNgw5pR8R7wD1Y5SuRzIaE2OiZ2y4AzEJqICGk\np20WIr/IrC+TwBLsAadOwtl1BD3NsoVSOFc7f9EnKjAQPp8RioitnvUhh6ir\n4qWVFKGWg1+SUvhNOElPqF6Az1ehQfhKdnUB2lOLjZXKRzEGbfWrFf081oYd\nD1R8MKsATUyCe7OJiQnFRdXg0N+BEn9BwVNKKo/+cBCS9+KM786IM3PqAj9x\nutorutOILz41uo4qq+8qQYLXXuRciRXCXYCP/4Ike0mVtyI3NhHFtdYa0T1c\nxsRZVWjRP67qj11wykA39u0bndW+Uj8HaSf2QK8UsupI8mIAA+l3Q53ZQFVi\nhyXX\r\n=RcfY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"16874cb048d88fa1f2c4ffd588d0fbd2c9592bb7","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"6.0.5","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.6","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.3","jsdom":"16.2.1","mocha":"7.1.1","sinon":"9.0.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.4","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.4","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.4","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.4","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.1.9_1585016546141_0.18521408316385513","host":"s3://npm-registry-packages"}},"8.1.10":{"name":"@adobe/helix-cli","version":"8.1.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.1.10","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"filmaj","email":"maj.fil@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"fdff19ab90737ae085814eceae6f04c6b7af263d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.1.10.tgz","fileCount":74,"integrity":"sha512-ds+6XHgdFKuZgVnmSPv9wxbzYVhKk/mkUmrXFVaTK2nyyiuUulUa8t1ziT5IHpioONwkOUJdEXN68AQ2bakX0g==","signatures":[{"sig":"MEUCIQCPd2zuJMv8JyLIk81k8+5sF3XhChssvG3T7jNi/OpLqwIga0jNdbJNhRYNfuFagQAxluBg1ew8jKPYLEpUvy+zNwU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":454801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeYNcCRA9TVsSAnZWagAAdP4P/1PzWyYYNOWH9WSHoGPP\n4Jj0CIoIHp9tentYeHfEf+W9LF0IvRe2xHPEXZmnuz+Ahu9OXjNNxUdU0Y7m\n6vJtVeXfpL45sm21gwmtHL5JetfvHhW4Q3rildzH1Lbt14eeulF+uPEpobIE\n9SaOpf+ttJhmgGBrapZboOAOhe3yJIa4fvFR9ZEVC3Yidn2vPPXMMhhuZH8A\nsLwMOeJaq4HIdD6T03XcX5AYOWUgDmXB+WWh3apI8B/bNCRM2dyag05o7euL\nlH9kPLZAaYc1+sn1OjOBjw4AyvkHNiFe+Cn+GUmHdpiZQeUw4H2yf/Y65PFO\npQlm8Uouhojg0SsqBE3cZrgYNwsAIG1XtlXmx7ngngJbphrpalQ351It9svq\nowp/t59D8pMwRnbeGLfrWrXDwpfiu/99k1RrfB5dvsM9GvY5BvBmY/PsFRoK\n+r3oW6OOV305j+DcZ4BKbQsCChh4hnLdUUNFjdmyevnbcvebilCUEB9hBzis\nGW3z9uCEaAOX1IIXwjVkjeFn5YLSX2IQ+wfk6kG6F+EZvyBlTiFIBzEi3n7z\nqiywAB3A7CiLCSyRbKzpzkHOG/ZoUhLVNHbo6bOGnIgF1Z2gXAM8kNrK2RW9\nW0g7azln6VrvwbFC6YNXqODldwn0gn8L+aOwHLiI3PAAr48899I6WI/4EJQr\ns1HZ\r\n=aIWJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"2bc6d160de66ee67bc6b13af29b32efe5f16d351","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"3.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"6.0.5","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.7","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.0","nock":"12.0.3","jsdom":"16.2.1","mocha":"7.1.1","sinon":"9.0.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.0.8","@pollyjs/core":"4.0.4","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.4","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.4","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.4","@semantic-release/changelog":"5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.1.10_1585021788129_0.5798111321372783","host":"s3://npm-registry-packages"}},"8.1.11":{"name":"@adobe/helix-cli","version":"8.1.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.1.11","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"48db928a2ba3ab24f75803e6a9363b6bf8f5f23c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.1.11.tgz","fileCount":74,"integrity":"sha512-hrj1o4/55/Nc4eSRXjp8Hay30fzFHR4kjW21pqixu2HGiaElu4lnlstg2bUrcWgDevlNY1Cmf/2H2iOZ2GCDCw==","signatures":[{"sig":"MEUCIHVBmthVCiqeN1bvg0qvvtghQ7pQi4lSaTgBvxp4ZlSzAiEA15Tf3ZApXbsK0w8+cjO8uoJ2ZSuno+qSNBGwVnBiE7I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":455102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei8VuCRA9TVsSAnZWagAAovIP/Ao2Z4VoizPD4cUxYkr3\nZ6Cbhx+Xzkvt7CQqLLhQFdaZ+50C0dxZavvrRrFougGo+zKv+ZP5jh0iaKSc\nj/xbsPClGyMvKQpHIpyglfLJhuXD7CjSxqYW7IRKy3MrjbN9n0WhC2VoWGgN\nqpKpMDC1abCjv42j90Z7/06EXvU1l0VX37pFxLnTHMOR3OHrog/6t0DawoTr\nGaH+KqyHEhVMO9kF+Ac41dSWC4MYe9kn067fr7QHKQeY1Tik7LX6CcNs9YwI\nMcxV3bCkfj8dOhBbUfxBLxlD0Jcrhfc+aj4EiL6vVHd7STf1WQG6mimtTQiI\nz0SQJ9iZjAPZxSZiyhGm+EPmM0/kmmk6Z1MY4eVm9V+PeINas+KSAlVm1whl\nh9Sl+6eZjf3RSS8Gol1BuWWHMAMr36kjX7HzcNJtVRiVy2eOHfv388u5HRTT\nCOWZPj9o498Bo5iSin4z8HlIfusvbhdOdwMfAUopb0o6YOM+uqxdAuod1k3i\nqLgXhIOcMBi/VciwrjC4afXzoY2pxgf7Dd5/8Rp3U9g1XaQ2vWRCBnwPNbuO\nlGsdoiTnwrQ3wqroHmqAd9aFL9b3V7mmzSlxJ46RaQoq2I7Xdu1/XHnu/rn+\nd4s80WXiSdYp7XdqgjGTHFS4vtrb4j+66iN7GPwed77B8jKkvdibfVN3mKDC\n3/oU\r\n=9062\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"318770004ea81dd88bc825b73fc124343f24efd0","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.19.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"6.0.5","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.7","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.1","sinon":"9.0.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.1.2","@pollyjs/core":"4.0.4","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.4","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.4","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.4","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.1.11_1586218350235_0.7560374621380097","host":"s3://npm-registry-packages"}},"8.1.12":{"name":"@adobe/helix-cli","version":"8.1.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.1.12","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3876523acb655afadc55736dcff34f5f5b13ffe8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.1.12.tgz","fileCount":74,"integrity":"sha512-LZntoWqZftaCLikxFReExXVFsGgSAxF9frPBGSGNY+sOdzHbR5+D6GjiGJE5rjdgpZbuERYs/Kdb91arNvDDMg==","signatures":[{"sig":"MEUCIQDO7EO+1t04Jn09TkgFjs9U0O/lQlkkHri98HlwyKYuewIgYow2GsSdOOf45dgE9SH5UxtzkYrrxd2DIETO3x2oloI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":455399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej8K9CRA9TVsSAnZWagAAJSkP/A7rsJWYZwV3BYFw5U9T\nVK8knso1P24jhqWcH3IdhwdYRSK58HnBItciKkEgKyOTOdRnozRReavzmq2v\nGLH7ZLIJinzRs/ozcu/6Y62ndkKj9O9j/GFYvSoUogII2trCI3vFl9MPXjAH\nFnUDzIyAR70vMFCAmI2cuFQEz6Hk1UdNKnVOvyMC3svr5zmDGEgOm6qhfHGK\nHzWIHOmcCS+35Q5sYjKHCEH1ugACqp6rd2hnQiwpRU8NqiBnj5yyUso2i09b\nR/52GFSw18wSVIWc5NztXM9WI1fKVagM4rP+630JSEo50GS/ET8LU4yPwoh/\nxgBBNYI7X0WrJQCAly3KXsOk0l+RJgl4MPOlMO7sVBxAGKMWffdyAO4EDlab\n0wIqUVF5KmYzVs+NyTwp1T8ITrV5L++HVOYZMp4EglzhcKpUMJ+GW1Cbpppn\ngzqXpWkYL11OD4yQjDm9h5I68kehfPURl65DRENgcFfJt7Gkd3S4E7eITam6\nyIk8gCt7J1ApoLzNpkiu/ta90cZ3CDWlcukTgRY5GNoYvWRP66TenRDAvHjn\nc91oIcqlKE4PGD9+xoirULSkxAglo9hEpw/InI5zWMu93meh986Xcg3cdfrd\nG1RBAgqqutSH8fsepfDmIkBqbf0s90fQZcC1D/51G56p2/ao04iXcld4hmUE\nOfXm\r\n=18ya\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"2d82a1144022f4fd13448828d2bb1d513ecd8654","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"6.0.5","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.7","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.1","sinon":"9.0.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.3","proxyquire":"2.1.3","lint-staged":"10.1.2","@pollyjs/core":"4.0.4","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.4","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.4","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.4","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.1.12_1586479804864_0.4795945186097561","host":"s3://npm-registry-packages"}},"8.1.13":{"name":"@adobe/helix-cli","version":"8.1.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.1.13","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"cfe64111c3c0718a4ca98ce3c39ab59de1178a60","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.1.13.tgz","fileCount":74,"integrity":"sha512-YCLPNWz+Fo2AXDbBdJvdopV57RrfOP6GcOLwkll6pR6vmbdit34hhTKFsR6pp9vldRNwwhSb+F5WCDMSGol5JQ==","signatures":[{"sig":"MEYCIQD0TKML0Hh2h9Icpiqcx7sA6OaMfacrNeT5oQ7YxYYCJwIhANdOvRpZaYzODQqepos0riCgFCH//BhSkNZ0vF1YCm5p","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":455703,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJek/a/CRA9TVsSAnZWagAAK+4P/0Ywtg4LwfidsinhCQXN\nyti1GvT/19td7ELNfbZqKKVCcsSMi/RyF6qzLxRUdlRV6HGNG3OwO4lHSzzR\nTjuCKxAQ+9z+G44sJEVGNnkP6bdygYXGd30pbeljtPWVnlVoUvJiavgmvWEZ\nrTOBphQ/i5fshG9/aUkGIBKAVT1VmZ2DOYi3eIsinmqN5Q0UoFF71ctVYR8b\nSpzf8i/v+nhdRXVRMcWcaAdMVabTFVBRiP0B66GpLKzbCS/pMPX8HrPqhDTk\nzHrRdZNlmLnH+ehbJAX1bAKesp6MbCWibxiU4/RGXOYbc4pmvSjUYsOpXJB3\npE2mLh8NceTUqzMBDRN0fy1NKVz0SqXcAbh3hdryhV+7LvpH2lzT+kIqdwA/\nTwFfr9qWO5L0ogjdRkxNCwgOBXn2YBgPiBVAfCy+g71A8JGTsGRnfZ00d4Fq\nv+M7fGRL3sX2Rb/qryAm8L0pEvFGvQLT/L4HGcxO8xEe6zzKMdGXs0b8xg6P\nr/o0C3lse4PGM+CcfWpenhn6nJODnWaQd/U7HxIQJu8lgylSbvo21HOKLpQT\nOLMkm8QhR+VFUrZUW0l9GrjinslEenECPWFWvjOlBNXjjFjHuLEILjkJzu/g\nMst13bPooB/mSO640STtiEP6bmXbdrgk3V+SkLPY0k38URk8KXJo5SVtkPUK\n8+Bu\r\n=T+Bm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"e30b423e1717cc93f037e0656cea148feb62f224","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^5.3.1","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"6.0.5","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.7","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.1","sinon":"9.0.1","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"^4.0.4","proxyquire":"2.1.3","lint-staged":"10.1.2","@pollyjs/core":"4.0.4","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.4","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.4","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.4","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.1.13_1586755262806_0.9662508980840376","host":"s3://npm-registry-packages"}},"8.2.0":{"name":"@adobe/helix-cli","version":"8.2.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@8.2.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"da7f937d3bd133aa63b54c03433f1daf650442ee","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-8.2.0.tgz","fileCount":74,"integrity":"sha512-J8i+XrzHYWm0VqKzdUtyol3K2/NpU9bnx1kGfAkf/KnczH6VK9X1V1JaE8X0aGR8gevG+S1HI+yE4yd7W/Cnnw==","signatures":[{"sig":"MEQCIGP2VX6k9TpSx0b0udLigS/aogUTnfVswa0svHoaeQAVAiA3cCv9LPZOzfjO34jGnwhwOeSti/3F8wH7pRdz+CowGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459650,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelTodCRA9TVsSAnZWagAAabUP/AjBC2i3MD+J0G/aizne\n/gwyuuQGRYtGmwfKqLSwdENOq9CWvr6iJVpNOZXbu8PzrFXv0p+7zcsBgdJ7\nItmP/fr2+p+g0sFO8Tt9Alg6zwpijNZj5FaiF8HQ/MHJQ/1YejEAL9NoiYhi\niL9vLkz58BXNC9KGkysYp5TciLRrPnzGpneyTAucNLsAvddz9Akf7k7ASKxZ\nems9KVzhCnm+4K5VYwym5MmEWd4U8ScjVbAaljg/TCXiX6+vGG/uR8v95kI0\nZvW/IQacJWv00pR3KcvKui2jsBLu9FyaysYm2Tyc3icLq31HaD8Rek4T5+o0\nUZ0SQsj3lzBpQWAXn4xXzIbyPhES63mGIE7+ynSFvu5hVCgtatccE4SOaXNZ\nycaq8If1Ul5QAFDk8tiVtpSPKZbZsdIn129+mSmfOLLp+N1kJI/hzOAO9BjD\nIs5YxOdQVurCVB2g2l4WeJSnF4F+iMyj5K+qABMmJjkt6bWCQBAkH6Rd5YOS\nb+QgnWXnvw6CHa+QxxTi9iyyTAzVYpmhwhypY4IsSMCFvdlnNEEuJw7efeLZ\no/gQHZSgQSmH9YP6KF2DSX5HccueV9BaPBh3xE0Lx37qB2xTzbcsrrrd6F2m\nEzlZm+arN15XVtALK1tZNfs4Am+bNzxz/TiI4OpQxRCKPyJwO9hem+/oTcqg\n6ga+\r\n=iszf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"f56cdd202fe1b1e20c7e8212f0105306fb0f2170","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"6.0.5","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.7","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.4","proxyquire":"2.1.3","lint-staged":"10.1.3","@pollyjs/core":"4.0.4","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.4","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.4","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.4","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_8.2.0_1586838044784_0.5115160831275971","host":"s3://npm-registry-packages"}},"9.0.0":{"name":"@adobe/helix-cli","version":"9.0.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@9.0.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"fd604416f571fc3e5de601d4bd152416cde2e78d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-9.0.0.tgz","fileCount":74,"integrity":"sha512-bPGhcR9jlb0mFiQaFisZPFwzZDbKLj575A9ggSs5YET+KBytbckPEKf9jTHvn4LdcB5mjT7ty6lRva2Za8zcoQ==","signatures":[{"sig":"MEQCIANbvN1gj1zuaIOhNnaTF/+LLGEBziroUGOPnO0K0VSFAiAZjjgSI0CGsr3SLJCtjTVhcU703Lq/QOdLF6i77jl+Cw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":460002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel75JCRA9TVsSAnZWagAA1VYP/RN24TfpEWZMSlGw5YJx\nD7pXwi8qtZiTRnkro/1TG2W8+CI6jshcga3rk04cc7adlXBgqiHuDq758XVc\ndcLSuvuEbMEka3c66dWIidkhML6zqQ0vFQwocg8Owl8ECQ0jluJWji0bDn7H\n7mlKfZtsYH0y2Lq/6QU93o5foPn3atcsd79QoQlYrwYl/6K72f6ZdZbkbJbt\nDd8YP6/CkkJi5asH3cT7P7dN2FVOBcj/KLmRRI1NTKFLfHi82gzDJL6sIKOq\ndz6HimiQ4cJ0n0Ugagmf8glmgtvOWydgePEJCuZ1MDnLhhGt4nGcrm3yAzLZ\njkTM+IB9zgnT/bWqFpo/EyNRo2N28dMhcXVIBuMdMdWTYWOHPMBELCl94gw1\nhw36JTU3XkNCCuTIC4bKfkFgHtLe3n+VSWEbhqWri2XnsWRqVIimISSwtFYW\nW41WU+ya4Az3m+p/UPuMYcfAhhPsmLgPQUcywYNkEpRJpyEkC+omZBhVewBT\nWkFQvKgu9hP62zEQap/LbqGZ0cGCgRE3QaKqikWhQXeW73sH08oUP2VfU3rz\nhWw0CZhPErW/VgD1Wo3+y1oGv5TYYmHZ50MFFAXnvGwZ2FfAm/r9OJgwtps1\nb9ZPcwAOkvw/Jpp5PdFGzFnZgLp8ETJ6pfLFZxmZe8lDmY1YrphB72S4BEOr\nfJs6\r\n=wvWU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"8f33a4e11ac1e736b946ffc9331aa191f6a66c6b","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"6.0.5","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.9","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.4","proxyquire":"2.1.3","lint-staged":"10.1.3","@pollyjs/core":"4.0.4","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.4","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.4","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.4","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_9.0.0_1587002953085_0.4461234727463963","host":"s3://npm-registry-packages"}},"9.0.1":{"name":"@adobe/helix-cli","version":"9.0.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@9.0.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"49fb5ff181e515a4ad0960486df3cdbdc425dbc1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-9.0.1.tgz","fileCount":74,"integrity":"sha512-vofvRmRK3gwyHseCysZOuxRM5Eto7XKjdIQ9rFW+o9marXbLVZjdaX1tVAZtW0ohEtAKQH1NUmtAjH/jFyqFEw==","signatures":[{"sig":"MEUCIGskQwYGTM+WEFEDgavjwgCGqVQjpzQoemI8SwnKIam4AiEA5Z7U3MmQUU7Y3yeGtiaZPFqz5VxjINq+vp39r6itIOQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":460433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel82mCRA9TVsSAnZWagAAqvMP/3Gs7z89qSpDKqG2YgaD\n6z4YHcUKaVsAz/opMAZ1Z0PWWGQ37g8uyF575Ng3sKwt9JsYKeEGd+VmG9TQ\nZwSV7qOrCx0Q2SMI75dEa3JON/fXR8znBKRhgUmiOfjGmwtrAKjxYYHELG/m\nZmtqQ9+S3WTStBfVU7URi2B7C+V109wILFUHE0lzIqHAWCKTwZzyM6mEYU2V\nRFdUtXi9lzOD6JG8DqCP8jImi05/qSiJNe/oNPIeJ5lEcQWG8+vifqz86Msk\ne4OXOK1ibOT5xxz/nm/N/MtHF2eZA4MrIMWlZ6GwiIGyTMi9Plccr0v74QUP\n8yunmnriVbjB/btFUdpPTqsbC+6RIXY5kffVQ5adKDW/iBH0fRK8tomBeQsa\nHK76/BMk6t1uaaEiR9ha1SKMNMYRbYILODENVGYJ1U1OCzDOftUTMl7IJIVj\nH3EB7N0JADtY+K1fIF9ZrvMhuc+o9qoNU1JGj+uuKj9QX5zJRm4Yxj4CvRnp\nlTbYy+bMqTJ+bmMcjy/Y2bO2oygeZMSRWxAMSJ6OH1iuWph8cLQU6WmUpWoJ\np0Qrt/PsVxyqR1/QSpWPf+Ugzg1wgoK5YwREEgKgChoLUh+3C/EkIwqPDahj\naABMb00PKViyz5XcacnPFnE3nfdoTKNuUHOh3YpS0umNq6IIJdxsv+N8Hm3/\nYYTQ\r\n=iebn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"b5605d653b9bf61d7162b3038a872fc0f13b8f4b","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"7.0.1","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.9","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.4","proxyquire":"2.1.3","lint-staged":"10.1.3","@pollyjs/core":"4.0.4","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.4","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.0","@pollyjs/adapter-fetch":"4.0.4","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.4","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_9.0.1_1587006885985_0.29809446469520195","host":"s3://npm-registry-packages"}},"9.1.0":{"name":"@adobe/helix-cli","version":"9.1.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@9.1.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"59de88e7cd898a0057efc960a61146dada349d7a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-9.1.0.tgz","fileCount":74,"integrity":"sha512-541np3CeebXd1hWJo5VWp9AovornYnOgbGmG29OVHV2BxDmE06BdarxN7SUNR/Ma2g6RERucaazbJl7TP0bJ8g==","signatures":[{"sig":"MEUCIQDnNeDVktrY51IOxemSuxmyItbnPjexQb5p4wkSExhmsQIgSFytDAGI6z5ld7pgrsrQhkK0XkOEP6nKhrAf4RzxL7o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":463940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenQYvCRA9TVsSAnZWagAAZ9EQAJn6pxyIhW9PW0lvVql8\nwWSbwZxWges2+Qtm3P2n462CoOqAdkBwDoFItt/9G5+krUpWLpjgw90Y1Huv\n+Ce+gPkLXF5/FBYykxb3fwJW+1DZ22Ny5OgmIRrumbGLsFGXwMQr/KUrzGkB\nAWsvCY2i1oVT/mMX5dfJs3VzQjrljym88icboqxaurT3PRiHcKjCvLwps0Dn\nHdP6bubqwdFkNmUkj2cF8NIV7+kCCb/EnxlI/2kyzrd8e5xuywhOfS5jIayK\nWAVkI6v1ivs1iBh+MOf0SdmhGmPR9LHfmkyvkp+0qE1HDRVy5uNjf0VtIx3r\n3KL5hXwYLET7ksq3YarTHDwZBdGpvp7Gc3mRfhMbP3qWM1CmtqR9mOJSHLC0\n/2T/8g5V94GWs9brtG+puXgsWLe9BHUeKrRHBU4m7+MKotcbS4zzJwUWtlEv\neVkGCWRA1Sc3sl0R1UCCLQEOjPCHzGR9JB6xzPIiETJwUaMWiNCukT83cmLr\ngs9XrC+gOORX/ymLn3xHNDHUUooEioMUXSC1H6mqoq3JcOrFtIc1Dh6GFsJ+\nBdV5k2IvaQRMgG9JWCTSGbnEnwMKWk6oQLgitU36ymtVsK9vQxB3Z4JPtj/t\ntCeBsrAshxsYxalnTkukUKHoMcZuXRrjE/wSiOCCWpJUXlt64jq+pULFj3Yw\nwJrT\r\n=xG0t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"1d219cb8d5c5c38967b12deda988322c6ca1cb1e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.13.7","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^3.1.1","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"7.0.1","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.9","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.4","proxyquire":"2.1.3","lint-staged":"10.1.3","@pollyjs/core":"4.0.4","unist-util-map":"2.0.1","semantic-release":"17.0.4","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.4","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.0.4","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.4","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_9.1.0_1587349039395_0.6670214544957167","host":"s3://npm-registry-packages"}},"9.1.1":{"name":"@adobe/helix-cli","version":"9.1.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@9.1.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d2a3084fbce0fe1d41c1eb6ce463849a27ac8cd7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-9.1.1.tgz","fileCount":74,"integrity":"sha512-/bfaTPx/Td9fvFSiLfAVd0r43r9Bln14pwytQg57HoUYg404MuVF5YKHdjFFBvQ7Q1jT1+5UkbhbF8/ENkAK/Q==","signatures":[{"sig":"MEYCIQDyg/ZeV+LQXsz3o2jkJ8rZ/YoUBNaoBoYDmQ4b547HWgIhAN2Fbt3SaEY+J+XS8GmCGfg2n5pWajfy5DkKB7G8ZxGV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":464344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenaHNCRA9TVsSAnZWagAAo1MP/jFpX48t3A1XrH3fjCfH\nqpJRlAM1kTLp82OltlZiT1cpYGLyagVkI4j70iogt3gv7aGfwW34XJ3Ls0hj\nc0e7OcbKAi/Loabea4t5CMJeUO3BMs7OC6b+5xGP+mZvCssNshLm86VRL4w9\n0fDZotX6TohZS0hf1ivfKUKI2ZySJdakX4sjZTI5WoCEuY3+DFxoMVZFbklS\nzkvqTeBaIZCzYixfxWBvv/OzXFweTSXCMRkkdXS1VltRqNnIP8J+Daa7lVU1\niF4QB2Zgo9cIcpX3SbN2kn2GIhcYX83NK9REt3XAqWhAGP7UwwWulFRaadE5\npTCPc8WyThPpaMj99Y1+JxrXFiQ4Oq+rXzWfpGMHsty+Pdk0mIVMy5Wn7XS1\nwFtFA9xefqAPO8/sTQ40R2mZ8n68F/LFZKH/od2kIeWEDx81WpVYobKWTVyA\n9fduCKmKboQdPM4hmwEv2pcMdk7pneyObMryMpWACpLT+JJtlxm7n8BDu4u8\n/VBNULhNWUMz2pInG7PhxbZVBsTM2eITHA5mFiwTdF4Auc5zj7sLpX9R5cX4\nlYzs1A2mtI1aZQS77GExOrAJtURSDpx8hdzjgld8c4EQyQgelqFBlBL0IgsW\nHzcaH6kVzu0ZZPkaRIAK4lAYLQ5L5YTKmtgjdUiCB2QK0TxNNr7OZ4URl5sj\nwieN\r\n=Oe+k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"f3224e82dc245dde8e620971e39c7e97ebbadd85","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"7.0.1","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.10","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.4","proxyquire":"2.1.3","lint-staged":"10.1.6","@pollyjs/core":"4.0.4","unist-util-map":"2.0.1","semantic-release":"17.0.6","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.4","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.0.4","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.4","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_9.1.1_1587388877240_0.5112507692886619","host":"s3://npm-registry-packages"}},"9.1.2":{"name":"@adobe/helix-cli","version":"9.1.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@9.1.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"9568d064c15f791ce85dad861835f40cc3ee98f5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-9.1.2.tgz","fileCount":74,"integrity":"sha512-D89Lv3PDb00xD14qmy0RNto4DZXL4NQcRFF99UwU5B2tNxOd3kn/t1PnHo/juuztTsXp8rXWJJETa1QjIJ1t/A==","signatures":[{"sig":"MEYCIQC0ATY2OViO1JHveBWgq5cYvudFLt8RFFSt3bIKuNXZSAIhAIAihfiDVl+mLzYz0WvjryJDwv6jQ6+nD8zQPkJN/rwN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":465230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJepqQhCRA9TVsSAnZWagAAAgkP/RjkmIScoCqLiCDagf7T\neE0dSYxUd+xMe+8jGebimL7WlgYf8SbMgekr0JA5NJJTZ10pQw5HEr+LlFno\nQTRvPBv87I4/Trvd8dK/jlKaf/At+HYVz6EStQ8QnvcF8pEW2k7q1PPKFR7z\nlUv92ALi70xJBQ3EHakwRGi+z2i2aKn/c0eh6Sjbs/3hL3/5t1DPyqR32nD8\nusX/IrxMxntXOAzBAIvZl5hUWyJvUiTgMBM0KKeHiKWh3RH2njX0+byMl918\nwGPUUzS98RzZXxlbCHaiS/7yuWir9TYIVbTorF8PevScMhLMXyOTMkcj5+w4\n4h84n5r4F3CiX63YXMHcs6Csw23axCYQNzE/0Fqx0aZeCf+BoWE8zi0NJg//\nSzBh1ZWi+I5o7eJ9k+Ii/Wzrl0t3OEAbxBSkJ+o1D1QX9VkxosTCmLFNO4pJ\nnpgNSXRFZE0V6LBtaYwcQib4xHW8vt399qPNLd6c0fP94SE1BK+zisHTX6gq\nfJVHMhJWkyM648lDT7UJi1jxWdNv/Zs+QvO+fof2zG1x5KBXAj55XFu7fAoB\n/er31JTsVrs1RuEjikNLY8Pjawe70d8Z1Ppb+mP38py0PjHamff6kJGTeUl6\ntBvqI7S+itD8D6L5hP/8Rpn4mQKf+9Oadi+45vyikaqxIgNxKW46Xgim6jV6\n6UyM\r\n=32hb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"64e94298712f345c3da78c07a7938b03db19c81a","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"7.2.0","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.12","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.4","proxyquire":"2.1.3","lint-staged":"10.1.6","@pollyjs/core":"4.0.4","unist-util-map":"2.0.1","semantic-release":"17.0.6","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.0.4","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.0.4","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.0.4","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_9.1.2_1587979297220_0.6940915380324493","host":"s3://npm-registry-packages"}},"9.1.3":{"name":"@adobe/helix-cli","version":"9.1.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@9.1.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"cfd589b74cb599b63b33f492eaf2d6ba4a9fef18","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-9.1.3.tgz","fileCount":74,"integrity":"sha512-zudYSXq9A5VV7URsFcuqQA26OLhEEIzwQgVttBPvfAAqVpmspcRSydUfVIn60hbETJOllpJTME7iyGNktDFA/Q==","signatures":[{"sig":"MEQCIC6FepNkqopQKB5H69OCbP4pLgXYw1XVgka4j6T4HdJ5AiAuWbpw7+3IHtp2RgbzUnknazaRCsCRxcI+hz2BNaP+gQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":465488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJepur5CRA9TVsSAnZWagAAqF8P/RxdQFUMS0vPCBBHlBDK\nUDS6qv++/AxhBpG1T2uis/B8mxFrtJD4tmkpbVAVOBAYdljnm+l1jUZTrkai\nyHg0m3P9BbodKUpXtrbRCjI9XO9/4rNKx4R0J0JepuSVi9t5r6/GB0pzovGn\nmZ+BxhaIdQXCJ34bwkE8LD2EQZ4uUxGBCgzmQNyRJYHMkXilOxQSNkAYp63v\njYhrsb1Sk9f3Z+JWeUdB5yv6TDTL5XBxvTD3G5x/UkXXh+zfuM+hswUX7qBB\n/AN6nco5JksTM4jjY8nzu5j+dNFjOEwKetc3UcyrxiGiIAgtTbUrVehczrz6\n1XsvlXgWJVsSLGVs50vtF0m7TQ1+dV6vITmig1v3LNOtVKnQBn1Q0WodhWZP\n/FuPLvSn/0XtLrmVkUv9KW2w+S0F8ZyyAJBydJ3NirS2iqgoafxuYL6K443h\n2YKgEVY7TbzLdoO5mVnbOtgW5PuD3RD2uYKIclqQRZbYVTfYmekldM/eUBpO\nzlBufQAA68Iqkq3W4GJx1KqEBcXcqXI0lgcsPrUAz3hE2NEvScqF0WnBawwx\nrFFIRBQkQB/bUXSaSRPJTgAeokJ5UlxmDe7ybPOcQMpQFLeYSvmHFmH7sMmf\n0gdXq96oCC4am2zgNykY0vbOSOIF3Hyakpn4uEdgxpKWm3unw3pOM7iwkmWd\naWu7\r\n=aJTM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"5d7a04081a0a7aec767c41d79cd5773c95a31d8a","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.2","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"7.2.1","junit-report-builder":"1.3.3","@adobe/helix-simulator":"4.1.12","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.2","sinon":"9.0.2","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.4","proxyquire":"2.1.3","lint-staged":"10.1.7","@pollyjs/core":"4.1.0","unist-util-map":"2.0.1","semantic-release":"17.0.7","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.1.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.1.0","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_9.1.3_1587997432891_0.5898418279995687","host":"s3://npm-registry-packages"}},"9.1.4":{"name":"@adobe/helix-cli","version":"9.1.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@9.1.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"47fa9c099cf5f22e596be19554883f9ed0c0ff57","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-9.1.4.tgz","fileCount":74,"integrity":"sha512-k7NPTblHK0OUdk8SMCvRfjfKjg/vGaK3DBHzeUHt47/GYSXD6KD5QY040JOgTYo1DBmBCN7Ekl+iBVblbWYJ9Q==","signatures":[{"sig":"MEQCIBCg38D1UCC58hy8gK2A0bvDpI2bqVrve3eqYFYsYhCHAiAuNHDxPGm+m8o8ugLWXIMLAMBzvsLRFv6EypF7tjuq3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":465750,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJep6yPCRA9TVsSAnZWagAAKIkQAJGl5eOgVtZxzPEbtoOP\nE11PosT5gz5GpNznryS2m+o1yXkWXBlLCCjpWeFPYjg7jCmqnBMWp2SQPzTN\nGkn4mqzybVVcEmDdG/hZKrUKimIPyogyyjrH9ILLX8OcrOU/AN7KeOdegii1\n6LIC3hSA0Fv+RjcpjXzBYxnSnr7I6/zo5SduUj+Hj2Dat6qdn1x0chmbXNdI\ndyhB3zMCeJuWZCoKmhjCAyi6t1r1sUuWuFL0pvd3lAJaEcGJfFNZ+G30ab5J\nP+FsyCZ1GO/1KyFzOodvgS/+BF8R/+3Ff9cP2l85SWVtkJ8RhbVJYmNEBJoH\nBWMgfgoa4SJ0v9qQjxGYsfvYq54JRbaKQXmN0FWabiIhOF1ILhT2PF15fSLg\nkdfYcSePNClKTvbHXt5Ti3kPjUpkxnyQNy8nnj0/tynsZFcFexXKbaZ6aUie\nD/q4i9af9EO5I33v4UgPQ/qs2xII1mmsv8Oni0yrb+gNLKh4SmMoVexCnOor\nYx8IGGApgF//Ni+2kaMlnQjo4y5ZQSMOKJrGpv9v0BioptbkQJYNfBq/S+B+\na7B6qjQM4VASEY7RkSnEFjJCKntUUOmplPUAXqlryDHaVQHripWloJkD1T7e\n3qXJsGEZCuQJRqSvnCVY5cjpUUM0FZj5GX3DJMey/fcRkMaQErJvIguSyoRt\nblaV\r\n=0rEn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"bf3c7d5f5a8e742c291aef522901e99f304f4bf7","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^7.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.3.2","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.3.1","@adobe/helix-shared":"7.2.1","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.13","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.2","sinon":"9.0.2","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.0.4","proxyquire":"2.1.3","lint-staged":"10.1.7","@pollyjs/core":"4.1.0","unist-util-map":"2.0.1","semantic-release":"17.0.7","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.1.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.1.0","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.1.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_9.1.4_1588046991108_0.4194946147451861","host":"s3://npm-registry-packages"}},"9.1.5":{"name":"@adobe/helix-cli","version":"9.1.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@9.1.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ff9f0913c0dacef13036ef25885fdbd18696f055","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-9.1.5.tgz","fileCount":74,"integrity":"sha512-NrSKiYSIm4aWUYvf1F7uOr+/rneX3vHhMC/M7L1SATWk8HwL6WdRj9wWJ7/gIzO9aCQCfY+nYqM6SVj4a/PHTQ==","signatures":[{"sig":"MEYCIQCvdqJUDiY2EvHqPQOdqC45FIsIjUZCaz9vb6eefcvKAgIhAJ2kGff4HF3Dx2ov1frKPJmIBpLs+XwnsoN+ENriLO/H","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":466010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJes3yZCRA9TVsSAnZWagAAFZ0P/i3uTGHwCqLnYljs8wDt\npm5+c5oQtehGMeYXeXn31ePELuq8FJ7PVsbCWTH89Pga/3NY/ZqaRuu9B8Nq\nRmE6+u+0JmFkaaH5/WJgt1nrntrAXdZqXQJTI0AkBzqx/n8KOZIWD4M6bx+g\nLXi0BRHOQrCWMxrtuvIYwX2fG8oW1I+EMdhAkiOvHW2M1b3blHK4OcOXoqx6\nW0CFz0LNncE0sQRFyd0w7BYUS3JTdleS11vXwB+ZwgCHx7NhI2PQuZYmjVF/\nwzEa3M5i5cXmOKzEbAP11oN3/41Okm7tL4WJ1tPDJbrRsV0wKx6tAQoJWf8+\n6mcBoOWI9P/egmWg2A95MNYHDUjs6n3ED74JDDhQOAhgFLBxbbhIIQWF0dL4\n3XDOvvS0qgsfAsBNA/rIS7j75gUdwUmFti90DGjkLrSVCgQfWWYPMziISe9H\nHtjyfyvOMvHKKk/+SBIc/r8V7yVDnazHyPWdEWacfLfq0ztNISltOoh1Fuyp\nR1xnobCGzcQXQ0bEQhYP6i0Q9BBqnup4h+8ljj8Ia6GBSZf9aYWeNUvdUc7k\nZtUI1AVwu3c3pZm7d3Ybl9wyjYKV5/ykX2c7oaa4+yxs+7euj6J0sOPzm8Y5\nXC7MTJY0OfECWr21HcAcwSFPZtWeSFp/ZOh3B0QeL+0rID3fTIFrEH8Xowo/\ny0v5\r\n=fgSi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"8391738ede955c08989992e375148ec2035b4aa0","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.4.0","@adobe/helix-shared":"7.2.1","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.13","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.2","sinon":"9.0.2","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.1.0","proxyquire":"2.1.3","lint-staged":"10.2.2","@pollyjs/core":"4.2.1","unist-util-map":"2.0.1","semantic-release":"17.0.7","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.2.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.2.1","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.2.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_9.1.5_1588821144856_0.4707520942693024","host":"s3://npm-registry-packages"}},"9.1.6":{"name":"@adobe/helix-cli","version":"9.1.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@9.1.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/project-helix#readme","bugs":{"url":"https://github.com/adobe/project-helix/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"c187787aa05293d72d9db2de74ce877a1df99417","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-9.1.6.tgz","fileCount":74,"integrity":"sha512-R7ZIak64BnKgXaisF+nG2VrIBDH1fcZ59ksC0LaLdHK7hCscIFg8FC2DBWWDqk4fBI3TNiVS2tHnLKJrzuqpQQ==","signatures":[{"sig":"MEQCIG7s+6Wq3CQyTKnqJuN+oE0wAoSMTXgQWCkYkmBx60eaAiB/l9Y1u4USyDDzyS/VrIu+WMQRXAejBpDIAg+fibNRgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":466320,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJes/1NCRA9TVsSAnZWagAAUHsQAIO0ISyd2nrLVx/MMhcO\n+JQ5Z6SBo5F3+exrmNNfZIJLeHHf9A1UjU4pTBPjJIoWdAJgB6GH5Vup9AAb\nsWiRyj1f3BXuhnLfzJ6P+9tyKmr6S7nvR6leozd+9Oamy5tyjAgDpvq2TJh1\nKy9ZC16HaKcFzFKtlPhMGirSOqxjyj1oj6oIWo06w+mqPhZrDZRRhMEoF7iR\nKcRGIAmQ+ujCi92gicFo0uzpya8N/o2K0y+UtlcD2+IdgrlI9X/EAh819PFY\nYPvuabwiRwNy2FUpw99ufKFU6KxS2xzjvMMLctHk92nkgf441om+6qRQEMkx\n1KjVwGSRxC4UT2s6hM8QoPKaBL90dWBREb00N/jpkwwoc63c5SIjt5gvyPAb\nMk5wZ53iRks/gMiulPoH/1U1qCcYk4MtExNmJTw2KJkDdmADptEsepVFqBQU\nCipigL3ZBEL4VDytbfWsoYX8X+mk5d2S5gnt708MDqmBMfcifDfhNmK9PH6m\nV7jvpurFzQ8IHMgiX3FvYpXkRMuF4pfQrgm0vkgqK3iIRxeiqwvE9YfaUzqV\nZi65wHUSpIgqPzI+7Twu4dViarXBmpMeFYn3YIOlBjckFpA7nqkv7J/LKfYH\nSaazc0UwULOLn3DHmWHmDZ81tCC9CKpkeSjYR50Zrj6y3HJcyKnx4QfUpy8A\n+lW6\r\n=i+xN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"e906749a30dfc11325f868dc2769cf3e77c2876b","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.4.0","@adobe/helix-shared":"7.3.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.14","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.2","sinon":"9.0.2","yauzl":"2.10.0","eslint":"6.8.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.1.0","proxyquire":"2.1.3","lint-staged":"10.2.2","@pollyjs/core":"4.2.1","unist-util-map":"2.0.1","semantic-release":"17.0.7","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.2.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.2.1","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.2.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_9.1.6_1588854093319_0.724957487184033","host":"s3://npm-registry-packages"}},"9.1.7":{"name":"@adobe/helix-cli","version":"9.1.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@9.1.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"da77598426563105e4b841b03676d9dcf87a39db","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-9.1.7.tgz","fileCount":74,"integrity":"sha512-Y2uIx9vvZwe2R++VANVlZhxDrGtIgAZ6+vjCVwUy4E8MJsVjwvWVQqyte4/LYEp+ZkEorNi4/jXeohgVweuC9Q==","signatures":[{"sig":"MEYCIQDqU4xrBVNft5Oebb1QLIsyiWLYy2ZVo2Hlr7YjwwkPnQIhAKy32nx52TdtyfZ0WXGSIuGsuqowmKhebBWr0jMt0/iX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":466574,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevTT3CRA9TVsSAnZWagAAH7oP/3r95KZ9ztyUVHsrmr+g\nBJQD5UY8JpqKvoGK2Men6RAHZ+aW8p+C/QEQbmIDm7cw3nHTX9U0NMDal+Ps\nkxKLI7Q3FspQan+lheA73pk5g657LE3dEXbWj/10q26xreHrUZGDyA1+2K3E\n4qL1feiU73i7eyOgZGlj3QNcrcyNSGmHIagS9Z8devjh/M2m7uLlI+d1j6p3\n2bNCda3qNEr6a2cqcVyIpPdgQdC3RAy+oANS8+Uzd5VF+ibPQOmao9/+as4Z\nNvslZ3ML4WmEK6wh8Bjuh8fSPvsRlX236iUY5ziyhenvdwCFvHi9QdMlBQ7v\ntuEL2CqQzQtO0OiiWuK/EDWSmIxrpSi14oi6oR+uF95eQtTri2mc5kwsMp+5\nNE9kNmR4LRzHrcZRzREB9lYoVfJAdJcFojytyGiCybbSPgKONAWmJlrP1t2o\nvXFm50a54Fra6Dgh7qQfnRXFr/RCfKNcF0TK0BY0e5fXpnJuI0hgiT0vlpGr\nrrgT82rh6lufCxWA1ufNamy3/UDQvgnljwsNeWZylXLfTGMsmB7KDmwrLSGB\nqZohKO+xQN37JecfVQ/FLIJFTSrsu0zd8SG9q1+NSfzM6rHPGMV0OEh6y05A\nWHQHYt9NvkpS6VzHD5+c5iQVYZuzJVcc6/pyZ9S/1WtFuee0nd/HlNxfLals\nyyPW\r\n=yEgF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"ba2897a85489a5b3da225572ae3eb97bce2e047f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.4.0","@adobe/helix-shared":"7.3.2","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.14","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.2","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.0.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.2","@pollyjs/core":"4.2.1","unist-util-map":"2.0.1","semantic-release":"17.0.7","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.2.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.2.1","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.2.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_9.1.7_1589458166809_0.45067314618692866","host":"s3://npm-registry-packages"}},"9.1.8":{"name":"@adobe/helix-cli","version":"9.1.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@9.1.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4b6e9a1fa34307d4661f87a28a06aa23822e3c20","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-9.1.8.tgz","fileCount":74,"integrity":"sha512-D0hbxDTtVNCBRo6Dxu3l22Ujm3y8/jyFZRbdyskMeZcrp/oSEpaAU6yTk9bjmMHRTUeZCD2AMqJrtiv+iqjhmw==","signatures":[{"sig":"MEUCICk8jGoKGeuWSgo46oT0oXpxph8CfcqE7ibnBZcRDsusAiEAlk+uNrBiHFJpjqOasQGEKtKCfzHSq8Mpw63IXcuEq28=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":466836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevUNBCRA9TVsSAnZWagAAPb8QAJRwP3ncN+RLujhzr8TA\nOuoZANGdfDV7uQekpq1Z9X5eASMkjNusckAzgImAqW5045lKo0Th8k3raMb8\n7VdrjrUh/1jyTI2zOP2mE+IuqH1NuBnBTbE9anGIioS7wPcRPfdCS1ztD7qu\n5r+Mlh9N+TAZHLpRXJ21Nw6fvzYQUPQ9EJE9oPZJ7bpW7v/L65IwGIEeyIcN\nWMY/5jhC8T6gQrRDZFPtWpzdG8ts9RFYettLUSxgTqGJVNajF7LlExflxin+\ncyJHBYWg1OWa0OP5b8Z7K+B0UabPRSNRsNGnM8Tp+37Fn712R0gwKb4fqaxZ\nP7+Mj9eHXDqsaA9y81x1UdJFnSb+mnRO8BUfDOPPcU5krVAJhxfy3vEsxASR\nZJv5UnBQmdmX4AkHCaO3APHMWNuWfCndAKEIwdXxANe51hWDUSZ8/DLIIIJV\n5boOi9h5sLCrAHzh1XiZfxPUseE27Y3ERxKCfZ1zhfujSoLPyIYoRxXQmzgm\nUlGX0fuJ+K6DbbHtMZmWZeY4/3A36K7ZLb8nIjyauece6dEMaQw7qhApG0HS\na+jZthNmf36ZXslXa8v6BPndudnBEZcQaG9ZsVQwXIAH1eUJrKN4Sqnve/JJ\n+ZuPcM792nttkgutdxhtmLaFD1m//x7iD/lz1HvGl1Il9+vIRHK0TiDf6tF4\nhzp2\r\n=Dd3v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"791f3b8939f22ae49b386c5b762f5d4ac8b4973f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.4.0","@adobe/helix-shared":"7.3.2","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.15","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.2","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.0.0","ghooks":"2.0.4","codecov":"3.6.5","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.2","@pollyjs/core":"4.2.1","unist-util-map":"2.0.1","semantic-release":"17.0.7","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.2.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.2.1","@semantic-release/github":"7.0.5","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.2.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_9.1.8_1589461824366_0.08833240633329331","host":"s3://npm-registry-packages"}},"9.1.9":{"name":"@adobe/helix-cli","version":"9.1.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@9.1.9","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"83dcc9aa943deaa7638b24fe5269d901d9ed35c6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-9.1.9.tgz","fileCount":74,"integrity":"sha512-yrwyrXVRvM4396qHanz2cZ4smpVKVxtEsK48uPD/xRWI3CcQZXi1J5c/Ki1lMaVfve32xsIoEWj1YM9azFnVsg==","signatures":[{"sig":"MEUCIQDLnar2YGciX3jvNVf0mnSeRRcrBpNzatr8Kw9yjUwXlgIgBB8KSNuUJrPbKeEnW0yp2VGutPtU6ay7kfDcjRo78vQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":467091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJew06MCRA9TVsSAnZWagAAgVYP/jkaD8z02ecv99PoAP0Z\nvBriUrRXK7J84dsgmWes6wP15+oUdRT/BhPvHaBjSdOYfA57uppZG1zDyxoB\nX2QYEIGqJKIjSg0ig4KkDLifxu2mTqZFj9HGet9VUYcQ4A1l658/da5Oq0P/\nR5QpolVhEhk0P68daHOO+ZOZYGVCQnQlbhgovKdSToZ1GQFNbA4br/8uD78E\nEnWueoOJinwg1Zfeah011wHFmb4ShxgEJUW17W4jfuZIBv92YUQc0Kwj5du8\nokjuQeyebgA/L0basDcajVwtOabMEm0gyaRf7ADQryOh8E7XhvTcmiXRuVay\nZIZLLkgubUmi8lpJv6xkH5sj72pOAPV4J4meOMXuYxWJHrcHSnTtG9Y99tfu\nd5USSA5wsA/XTfJYrMEer8l0sOJ8//PrET+YtnJfrxrMhxhyHR4nEre2bZZ3\nUURYQh7DBxKtzApPS5y5v8l2E7FVxdaDTSvD4NWUL91ImGgOul9hpk98qsgH\np9aExKDF/H++bp8Nt/8rHUhIlxo+Dpb7Ay6+h4buVH0aK2G8bx6VQzxD+VRv\nEv2Z1zi90mtjNLRcl80iRs6ievGVKaN9rh7Kl3PAU9CyzkisgVP2qs4cxwlT\n/14g+h94OgZ+kke9cmdIbI3KAfZii0wSaRu85OxcZrFjJRbmDRurIR7kyu6q\nwFMb\r\n=1hi1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"31ba3c308e886a9633f6cca8cd6756173ff1788e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.4.1","@adobe/helix-shared":"7.3.2","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.15","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.1.2","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.0.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.4","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.7","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.6","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_9.1.9_1589857932286_0.7403888406890724","host":"s3://npm-registry-packages"}},"10.0.0":{"name":"@adobe/helix-cli","version":"10.0.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.0.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ef0a1d349dbe233a9eb3b9a37bc1877bcb437b55","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.0.0.tgz","fileCount":76,"integrity":"sha512-N0AKaBJF7Mo1iVbyndj8QVjjnMa5xifQbYb1KcmrQoWl17pmV7tfGRgkK7OJA5VOgCfDMND61MUYA1obThtBsQ==","signatures":[{"sig":"MEYCIQCASuplrEgh2AuP7KPtA9rMxUJz5urRCktFx5GOsVqQqwIhAK16feAbcz/ujcJD1AVdWiTNwDu1tmwFZJ420uh7TeOp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":472650,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezRBjCRA9TVsSAnZWagAACo0P/j0EcJxjLdHX1EVFrmFE\nyqmMWKyQIceEterVILhLfdy9vwyVOt06BJ1m0mD9XE+O6DKWIR4s+4ZMlJUf\nubEqGCDlZr6YDlGhs0mFBirlK9/NyQSsBG4BFXhwI7m/pXsAp6CUjyQuZ+sz\nA5lWrDFI2STMcq/d7kl0AceAthX0VX4+daob9xhxSAxzvvT9fQAlqwbF73rN\nKlNxmBO2foU8XbijEnp0dePF5C2KTbJgoTGGMiamquaks2u6KJJDtK7jZuFB\npk2ijlcik2bkOu7pPfyXHMDXQlAYBNtjG0gbS2fTCpfXkJLH3JNdlM41QJVo\nZOgQZfG2NUeeTOXNr0ugtbEQs7Ptcchgw6X5IjHjdkLuLizcDnngP+0Z9Xm1\nxX3Ltta1XjGCmO1dHx1fI0vmFAIk2qCvXMO/Rqr/G1pswWDWh4xBKgtxtldq\nlRVggTl0yjiiRurjQbmHjMvy0HNLH9K4k2UIuoE0mqnXRtNFUa+Ch3oouVmc\njahsE6NkbJjS4p1MO6l62UeQoCi6Nrsajin8IAdHs4o++aWLaDDnDU2xU+GJ\n+Pr0oIBilBptPdNGn5Zg8cjMWW/cm/TYH7eLysU2RvbOHteElm564OwxazNM\nSKa8wWyD8AhmOqeN/am/39XcdCEx5nVszdIl3pRaEZSWYfPiX5b+tIrjc3ur\nojE6\r\n=I/ia\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"a5a8d516a69c37bba227d1d834cc9c7e2b19cc70","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.4.1","@adobe/helix-shared":"7.3.2","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.15","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.1.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.6","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.8","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.0.0_1590497379208_0.7050340625308331","host":"s3://npm-registry-packages"}},"10.0.1":{"name":"@adobe/helix-cli","version":"10.0.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.0.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"875f940ed50a87c7e435a0274f3c1fa8bf8125d5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.0.1.tgz","fileCount":76,"integrity":"sha512-ibxuhsYXyjo3uyuA8pGrbsCtTUFCu9Wb/iZGN4BOG/+iI6QAWL0jpm21CbPrclJOjTcM184yHVfqLykn4QinYQ==","signatures":[{"sig":"MEUCIFOvB8Krc8dTYmm1gzWnRkAMoRFz47xD0rF1U2mz73qxAiEAjPQca9l4kiKVcewM4y0PRoBbD493i9i2lHIFcyyU8kU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":472969,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezl17CRA9TVsSAnZWagAAKv0P/0OemAew15egOzyd1RMe\nINiS9NRRv4QHHU0ivddqseu1bdh0w8NvUX86XnzYjQEImL4meDOGDDaw0Cdw\nxUa3frZOQGx2JQZJ5UsFd2QW/9eEdDr9xSQlad4QPNi0JWGLmiAZC/dCIj0c\nFCLfkw3ruprWHQNM8GJ7/fvOUi6VfBFvh03Rgr3sFvykBCaEjRbVjFiSdt5/\nysyTTC8WXeT/K7w4C89UAL7EpiSDade5ehL6fshLnWZvkhTls68aVp4w//W+\nMrzZ/XR825sYly4cefkSz21Vbt9l0YAIPKw4qtXbzYo7yOcg9MOqBLYtbEZ9\njTT2drI/7OM5kk0ttxfZdgYBG1bAjEYUz72oXDXJdKp8q848Q4s7zsecJJtN\nYj5f3ThY54QoyriqrtR9JV/BXdLgN8e4zdDO123fSby0Yx3o99S/0Dmif+RQ\nUPlwrodGX5Uoo9NLGNVSpfGPJqngFACiFR/3Gmfx9sR6U0crQsrScThbt7yo\nbKzR2z7m707g3qMv9w+eboaULcTOZtQqzSvTb05DLRIdOD1x9RzoRE+PE4fA\n4ULekKw+FAcNZIvIOmbeYqfraNaRSHeCccDgx4gEM5MW3V9Pfvy1aLDBJsfe\nR+tjFEKwtyt6Fmt1/FR5OLJmw8gZXHTHlYCCN8YUY8LuYzwrXRsa34aM0Xpa\nV+xU\r\n=L/Xp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"42bfee49c696f49f9a366fd7e45f7eca4bbcc61d","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.4.1","@adobe/helix-shared":"7.3.2","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.15","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.0.1","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.1.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.6","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.8","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.0.1_1590582650707_0.9096478939032158","host":"s3://npm-registry-packages"}},"10.1.0":{"name":"@adobe/helix-cli","version":"10.1.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.1.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1c2cebcdc8a948f5336f69307f78f9441f37bbaf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.1.0.tgz","fileCount":76,"integrity":"sha512-86Ipd876LyCufbcC+CYZ+idyEJBE7OXwJG88GkODndpIgM9fTABKj4hELOLNF1B6HY+tBfrQi8ijbU0o/dh4aQ==","signatures":[{"sig":"MEUCICQeVQA0STlkz6MVPS8DOtKiM0TFtto7tBuSTTU/pUxlAiEA7AYYaPQMXQrgcQDhS6sr2r0CsznPzaHEcMWKGiYOmcE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":474743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe14WACRA9TVsSAnZWagAAdeQP/RdjOJO5eyCYq2cW87bL\nJYkaMBAX7wm1Ek65/Ug0ZSOyXUbETYUzTfyAtmPk0JXQy9FiAIuWuJHn4SNT\nOq8OhI0XzC8Li+E+7rBU8nQtM74aga7HOf7Ibipm/uqFYDhxjpa9BsZpFa3j\nMmOi4EOiDj5mk1ZIqnnF3Gs27fdFNmRA9VzSEGsmM6SFB9x8JG2AprHahYc2\ns7xwRLxPj/LJtfKkCR5crDULD78DN2YdXZi9Z77Q9iWl2bm+oEsBWM3+0Bv5\nrJUQD9yaYxmjOAgP3FQNpjPWhf0+MxTo6IwYzc2PEqul3MevztxLb92QjMPy\nDeGptiY54/AmEmT5Tn/ur9xDyiRcBzSruU2l0zsZc7zc8yLcNDv9EP6uJL0o\nOMABhRwIR6RcE8/MLvmULEGNVptwZrVa2dJpN1VSx9PZxK4O/5Z/iY4seMLp\nsUNCGzfBqkmvgNTXJqllhJmRVnFkNQx5+i/NJbD0Inc3X2W6a5hP7qNxP7LK\nzor2YKnGmJMm2VhYfFGpv47QWStr/cHxdF49qj1zHut67PhRMKOYEaCd0n1w\nZDdTjSdJ3rFXERtTZXjBeWn4BQm5nBLyVR/guVfLfnyhfHpr1tnPlluigeAy\nbDaXlTp1WTyk/Vy3qp2rUmmvud1qQilxxKJhBEgdpBj7+9cif3PmAGVaiAjc\nxIid\r\n=YSty\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"cf45cacc570a269fbd125b0679fd09deb6ea3790","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.20.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"^4.41.5","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.4.1","@adobe/helix-shared":"7.4.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.15","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.1.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.7","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.8","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.1.0_1591182720257_0.48790253970684505","host":"s3://npm-registry-packages"}},"10.1.1":{"name":"@adobe/helix-cli","version":"10.1.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.1.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"557ef774f63f28386f380ba4b5412cdfd9b0dacf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.1.1.tgz","fileCount":76,"integrity":"sha512-qINKKwGIJru5LutYkGwozmikTRmHq3iZNd3npHDZte20UTzMTvAIWdLON9Cfh/X+TMZIrV8c1TU8Oz4ADD6zNA==","signatures":[{"sig":"MEYCIQDQlO+V+0fyX1qK244lfCPdTuDqnn19Gxg9DvwNfs9c3QIhAOCZAIFG8R/sGkpLHPDUA7p3blpPdFG05XoQZsw0NXXW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":475241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2JQnCRA9TVsSAnZWagAASzoP/1KFdBRBWfQl7La0MQsN\n1mMupgHdTS5v4VPMvRT5Fietcdtsx/QGNl+IkPEBOv5uXsYUqLn7yvKTNPau\nj5NFeqmgAPwwC1VK3liBfl28mEXWeb2pr3OgmvtgeqarY/0xqcKycIOD/gC0\n3o/K2O2eaQufF1yhxN9EotEMBsJ5gA68I3R8N0eCal9Bcdw/rH2KCpixImdu\nTGKyBcRVzDQruVUGzaLd4DvdgmpWZQNLzBlEvL9Ul8pWxjWC1fEWul+VD9+U\nOXctNLeOylCH+NLJRhsEUOyLL29RPAQ4iWePEhYpn/zUM0I98LZyV9fAwX2R\nD8sEeIFows+S970qlgqNWuRe4WfSKgfoygagYy9QDRBDZ6ZcNlgRkQl5uhVx\nqgF/vcLk8kMBCfmKY8Sl2j+tvK9VOCiGv6TvGBNlG1LrbH9YSqYRpwrL973q\nCW4tEjA8uQg+8kVmVtSXxneEkbaU0S42HI6uU/Rb6/lddE1/Lk5xnpX2VpqO\nEUpD6xdT73PKsdATCTLTuOaO+XRqTHs+CLmSlBB3HkyVxUdYjsewht9rxtEa\n86cohUHTRqUYlMAjzCNSiFppkxhEo+flukWDH3QPcXepjnBrtA0nmXxY/niG\nfVZir+uQWtJI/d+vZ+h3CfmPyFlqKI3QZyuRbQM/Ud9okEyAT98+pWWp4aNt\nQZRo\r\n=u92r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"d1359332e2adb2d029ce39c5a51b29563a6b1bfc","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.4.1","@adobe/helix-shared":"7.4.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.16","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.1.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.7","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.8","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.1.1_1591252007206_0.483411673854411","host":"s3://npm-registry-packages"}},"10.2.0":{"name":"@adobe/helix-cli","version":"10.2.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.2.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f470e3a6c0bcc801cb41ef0fd95c933264815cb0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.2.0.tgz","fileCount":76,"integrity":"sha512-pPqkfxytEKTaArgAeqVfMLPF1TeLjxR1SpOwd0RbcYG7KBN9Uzd64Gls32ouDTHqcFLpeNGzv3VLDUef2OCJvQ==","signatures":[{"sig":"MEYCIQDL03qZTaG/IP4imBqfZMF/4woLzyPNtYFIgkmnqXwzhAIhAN9B/dcayRcrRCOYvL17muPIgnOPPuL1vKkrwTojKjhL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":476445,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3e8vCRA9TVsSAnZWagAAFlEP/24I3B8taMeelIgUq/0W\npkaC//D94opoArxtKMcVVFRrpRCmNhZ4AkoFkmZOL6XKBeslKG1TPwtZLaJH\noIbOAc+xOS6gX7Pw82YZM82cIcrb7YJ26oSwd9N7G9O5R45LtGEg6gsilruJ\n1Eqf10bhzCkDiCfE+vFtwadxRtAUuJaEKHNMiGmi8KOOcTEp6OcS0oHpw6U+\nQEO6Asou4vhcV+E27ofHY9PEEvMB+hcBMzQJOrzZxswUFsfTOSq7uaMWzE71\nbHDsVdIQH+ZCN8tMMv4pfQ1v7ShOhbq/odrubHQCz11j0HN/t6wiqnJfxuMz\nlEyvG00C0Z6pHMFMXAMpmYYUByX/21qQpAY+uhBhVdrw9KT7UEUcdDi+hm72\nSd166YQKiIPqMGd+mOh5n0UY/CK5H2RU7nbMkUlNBum00MDguJGUyP3/M0dW\nRpKc5J4u6rbUqebKU1ltMHRzKqona2pTRw6BogWnMy12XHini+pzYsLIrfcv\nLmMTa2mcy3MB376JleXCHaQbyQ96/zSXKfXnpQHLh10NLpFJZz4KiafYaPHK\n44q38QxlTF1JPtrMr1GcsAdbBqrUfuKsBJTISSf3bSKVlvi+P/XVhhUSYTwF\ntAdon4rNUyAzs6onVgz2wHr6i/SPVwIrjRNbVvgEwtHmLnEbCeuizbkxYsd/\n+Zl/\r\n=uQQy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"8e5c719fe0e63bc6a0100d698b770ab20e65aa47","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.4.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.16","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.1.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.7","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.8","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.2.0_1591602990292_0.16187047755078598","host":"s3://npm-registry-packages"}},"10.2.1":{"name":"@adobe/helix-cli","version":"10.2.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.2.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ff66d0532f1d862a40b76606fcc7b94aa1663610","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.2.1.tgz","fileCount":76,"integrity":"sha512-Imm5oktX16Go2yCpcNv9nJM1Wupn4yF9SzhNSchjI970ZWXteik+bTIw2Cno9lYlpBXZfgob+2FjaLFNeil8xQ==","signatures":[{"sig":"MEUCIQCQ8V8M/ork3DhyYFcSGZHzjW8FA3avLVG5olgpTJAGgwIgf8cYl9hqSg2/Ytwx7BTEKExoqb5bMfJaeLIGmkp68z8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":476758,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3paACRA9TVsSAnZWagAAS2kQAKQ9FsG8fMP6UQyAqBPq\n3vT6W5KLUCU7HJMgKt1B3UEBgyhviaG+E3HLYpnx5n7ndh5dT+u7FEKb2nkq\nER5zGvi+Fm8/UIkX8JQLIjgtToVv6tJMjUw1MD1QETHKaRBA7Ep1DfUccPTT\nveiN4B0ODUmb3lp4zZAknBgm2FzPVNyateHBiyh0uvPb8fUHmiiAzsRBgo+h\n+xXyM6I6CT12sHEZuHCqORmsorr2KdKHFEfJmZDhcNA3gZq40uBZPxh6J1Cv\nbrOeItDSRknb7VcJEWkloig69XufIHZVyrUTfn4QjcYo6zKBfQinz8Ag6naU\nJQkOyRd3/UCKrpgfVvJ5gLApUaNljg5v40EcVXX/FnWJmDBl8WEujg9tiUmO\n2pRc3RKeBl4Eth9UGdHfgdjk7UAt4ATM4asX5e2J0avJiS/KC1vSOfkxv+LF\nyrzEYEDU2AUT2qQgIH/heyzjEZFNf/r0gfVODVsmCq1ISsltZiybvrggCKze\np4iQlQz/bTh8SK01GNjxaqpA1NM7/HYj4IrZEybvbyCBaY6PT+gwX5K4SZ1U\niivXq2ZTY/KjG48W+odLE68zRjSDFg/hE1yg1lt97JUYnttQqsmszaniyIv2\nnr3nLm7S5JwfygVB6l4Hpo1AcaAE5+vVGYYxynhIa+qHBUBfsb9VtOjXG0tr\nAsDM\r\n=b8Xi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"74afaade23b66043a1fae79225f30f7cc1e1d5d6","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.5.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.17","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.1.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.7","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.8","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.20.2","mocha-junit-reporter":"1.23.3","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.0","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.2.1_1591645823332_0.5604576672794357","host":"s3://npm-registry-packages"}},"10.2.2":{"name":"@adobe/helix-cli","version":"10.2.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.2.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2bf5bc68cf440222fb785e3bdf309fc40142a358","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.2.2.tgz","fileCount":76,"integrity":"sha512-EJG1CWdMqe8GPXIt/DHEJ/21iXVV4ouJGsxYMDXx7yfcmRwMUsGD3JMB9tVCXrXfTbSssv9bPpXqBnQUJmOREA==","signatures":[{"sig":"MEUCIQDJr9ak6GNe7vXx3vY+gco6Nk3Yut3DlNRXP/Yvz6t+JgIgBbkG1Sbl6m6/sDWt5WL25iEsOLxyXbuk8QaMKYXZUYE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":477082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4vzTCRA9TVsSAnZWagAAIc8QAIPiWdQ514fais7qMcyG\nlj+I45zErru9Mzc+/jfuF6okzTk3K9FjeYChUpi/QkHwTh58EvGDIENR/axH\n6Wl7izcsKJO1LzBV4ZkBuvquCAhfIYMy90S1hJIyPxh67Je529txTfrRYBrP\ngLXokT1gGIq9njT4fAB7sRAnlvOogpIP77YVlAnUchB0omQZUBC2zoY0D9mf\nq4RECpHlLRR6TixIP2Rv3JptxSK7V8lqoFsgGJOyhWkto4yo7Rzssh7onXk0\n2L0rYVZNhvgWpxLzJEf3hrUd3rRM3WSyFgrhv6x/5kc+e+oj4jVvDRDY405b\ncTfZcPz7T6Gpze8BejFIlKmf7zeUsUosRCS+yf0TN+F2LaFL856BDLcU69eu\nNAoaY2qKDQM7a2ZBABoIstAPjM5u9az42Gu0gHuUWSh04hti7HawUe43u2Dl\nBT5CkcdoZvY96+kC/m8urUEl6/8MBEANNe9eawdvNgw977XAfaBGesAe/tKr\nTNih8Gk9T8HZ+c7n+a/5hwWZzjuL/CknfwC2cR2/8EPvzKACzUTbhQvOrtZI\nbEFtadUkyYralrc7u9ib220NmlEw4s2rrGqSV01kfUEGItfhW4n+KBDGZB6F\n8Pfa336KdUbVpdQ1sfqOCDWiARC3HgMOeUm++relCn7sYqtNQ0R+jEqRY9xD\n/Mq5\r\n=IpM+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"87791ef18c5504b35ab3b15bf91903793f39fb0e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.5.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.17","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.2.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.9","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.8","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.1","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.2.2_1591934162845_0.3897372019261156","host":"s3://npm-registry-packages"}},"10.2.3":{"name":"@adobe/helix-cli","version":"10.2.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.2.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"9b3cb2af8d406530f75073be166afc37b38ff7a3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.2.3.tgz","fileCount":76,"integrity":"sha512-hxcQOQhSvgzmcPiSTmUs0FdHLtiLjTia4XdlPyyo+vSIB3xbtC3qm3d0XNG7gIo7KPWFNy4Vd74aUPbdnMIOew==","signatures":[{"sig":"MEUCIENRFZft0VvQeEDygfkzwYR0+TZ0BwfQcwbfTi2rwoGuAiEAxxMe+EndRnDuIEepETo/IM/XO4sJTO86rVGG6c4zAKA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":477335,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5y3PCRA9TVsSAnZWagAA3i0P/RdXay0doq8nCqESNKI0\nI7upLmVg8BVgkEUyKvoIMGl7zg7qHcD8dKE0psVIyUY2AmCh2bZkeopFIUmO\n8JsgY6tMAMcWDg7TDYu2oJLBrDnStOEGapXnpuWuvFUAjMW/gaEmGFHeu88Y\nvJKkN5yX3dJQFSgtKENoMayrFl2rlfNt+HFNfhBD/RDS7BNg2L6oQEtwr7Ba\nRoAjsEMdEJrykynObMiRTlMqUVje2LhhP6ARqM60yMwYgktqao6U5pOdFeZE\nW99pMR6YbyhM5unhm3gEvCdsXABTiDb+5Afjt+I34V8JwR1M3AjyLKpP0d4z\nwgSs7gB8oQ+V91myB0N0B5++HdzFVcSL0z1U5BZHuaS/yHFXHU93f598pCl+\nD0S4KdTyP4/WbR5QXTbl/6UBCzePw4dFSWBj5QRHzbPew87lDmNARwib3ADU\nXX4uXUftEU25ipG2onSYBtsgfPQ4KamGKhieNd374Z9okOKx2blYHT4Rrc7f\nDiVxsNmW3VtqPb5bgcL/XGEOc+wq9id9y5AE2wGHy3nOgW0pce0VsSHO6rfA\n5g2htBvRW71BPNO8QZ/0nY/9EhLj2BeI4PPfuXL3jNlBbx7woNaGtAme5Tvq\n6RPDe7ILTI5I4tskVsg+CMObqF2FHgd9uFAnjcgNgjemSEj70q5ZFF1ZuzUg\nptx2\r\n=/iRh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"bd2ca937a343fc6f16c6e722469781995e9b0ba5","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.6.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.17","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.2.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.9","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.8","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.1","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.2.3_1592208846919_0.7910838090233971","host":"s3://npm-registry-packages"}},"10.2.4":{"name":"@adobe/helix-cli","version":"10.2.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.2.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"64c5502ae86ec3d7ba0a7fd4ad55554f9ab5593e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.2.4.tgz","fileCount":76,"integrity":"sha512-eSDJSPKDZbtzNkZoHwH55s1+LSHQD5jYkSk6N7ap08slA2EAr2rs04YIBW2kC+BTujisblnG2Lo5+2dMdRPzWQ==","signatures":[{"sig":"MEQCIGpD+1vqEed/OMKoBD8IQRf2IPMBzqYP/nxj60Gy2/l9AiAw+vt/2rjCP2ggnIS/sS+dgJUfcErga5efztH0WfuSFQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":477658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5zqbCRA9TVsSAnZWagAAohIP/iGjAkfJd7LXPPZYmasq\nCqtEEyxiY0tWezPq2Vwq1Kcy8yta93hZR51I8MN4fJxTpbQNJXmFIXLIdbad\nSuKB4iJLcxyw7+G8H+vC+dT6004815s6qyAFYNy+tuxo2azpPBPcS1t8oOfF\nk43cUoiPVv1MHAdh9nz7UykJYmm6Ejdbnas4xW9zhqXMqL9dJvVV+HVL45Lm\ngB+ECuP/O3X9pOU1XmDq5XpCK45VnrUHV8GqXbbFAPV2dHmWENY6gAhbdYy3\nzobPuG7qJLPj1YPKI3ef+h/oBX4rqR5AzWj5Fk/jLwxhev7elVy52tKxtIDh\njI+1F6OtUaDwaRBe7t9rTFo+4CaHUUBG3xc4KqbqY14E7jWd3kj0jj/KaLvi\nfOb2QhIPUlmZVHQmgOdLroqPWTaUfHTK7Zk1NIf/fAmAg8yDMqxjW9FLIUhS\nKXpRP/1u6Qbu4Xv2Jd3aE7lVLqO/Cu4p3y4u6IL3GM0s1uxg+hFzFNn1r11h\nwn2XUB8bcqFUiGXRovKgJ935DBTm3w8uUm+JK8vqKB0hgFdXtionVwSpu4jD\nnxFsSCpZlkjyL5Wn8A3alzvACyutE5jusPSx3Nd/Jciejx5IyWbvVicDRa0I\n560joqFqAGgkvOx5p458/3aO3iiXWZaVQ7BybKCJ2pQg4qWSDKSOvbuB0mSz\n+DPi\r\n=LNc7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"74e075b1b2b3ca5a30ced1bf852f50ed87baa1ae","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.0.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.6.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.18","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.2.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.9","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.8","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.1","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.2.4_1592212123052_0.5034252010462661","host":"s3://npm-registry-packages"}},"10.2.5":{"name":"@adobe/helix-cli","version":"10.2.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.2.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3912cc6fc0601308840a60f5e55a590baad2cd74","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.2.5.tgz","fileCount":76,"integrity":"sha512-WaZ2O3JWgFJRddPTIImUqMx6P7AaSVUti/Cri4CyhbrWT7l0pGLgEFHOMsz6WlPQJoPGwKaf3hocI+ZCg0AoHw==","signatures":[{"sig":"MEUCIQDcaPbBlduZzwlmAn49rKLZ7mPXJtC0vmRFs2aeirQRpAIgTruIP40kroXRwhac2zTSpRPac9PlJ4YgndqTRNQ/zow=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":477888,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe54/rCRA9TVsSAnZWagAAApYP/ibMKMmHNzu5vyOGrAdo\np+NvS0TqLwylLpHIzmt4y/s9N/oZH+iaM8JWQNkFyEkMdBQkVOBVaUNWPsHA\nVSPDNGuc6DTgi5OxSXR6fdc50mIz0Aqaxd9ehOrKVedH/rjnwp3ii6LG4ka5\nowYccSeRUur220dkD11w2Lcs+RZwdVRf0NwUbrMWxgdmvgTUdQ0Ns9Z0SQQG\nURY49sjn1J8XWOOr44l/pEkLkw9e6QYYE21CknFMGRQpa+swcTaW+SIcF0H1\n75qaZW+5WK7Y1o1QABNlwSHcGD92G8gwpKa9MXK4JFVIaAhIOsnbFgW8/Tu7\n3OaU0aR04XJoz3Ta/EJMMUn1B8IK3X0gbj2kQ9lGcGqOCHehjo5elCdj8wTa\nXHsJGsKHQExB8YvCo8OMtMVBfywfyDwZGGI5fr4vnYw/wTSB+aHnLutzetn4\nxy3HAVgTsTyGAxuUXgoAasVLYp7Gm6qx2l5dogcl6/Xgj2FRjWgz/yO9UPxx\nXtiKmhXdQMx5JpiR9zqp1w1P6Wnm98S+yUJubzzQBBlHom4lUkfS5jPGHtBw\n13qPAM0kwN6EJqSn3RC+ysS/9xTwVmOPYngHBY/hg9m2EonVjA8zNKSIzIjn\nhtuv5M7TwqU+Ym+IkczHlt50RLHb0bzusqXn4Nnkk5LxeM2tmfc6uhm1QHgL\n4Aqx\r\n=VwGm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"d56984e6b75f7c23e99dada449398d5944d29f8c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.6.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.1.18","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.2.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.10","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.8","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.1","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.1","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.2.5_1592233963079_0.2965296891386737","host":"s3://npm-registry-packages"}},"10.2.6":{"name":"@adobe/helix-cli","version":"10.2.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.2.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a5a139a31f23928a811249d4c1ec8ec7456bbee6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.2.6.tgz","fileCount":76,"integrity":"sha512-4w5C2STMs+osCQXaJmTICIqSNICneirMvHVuiDLpfdSOZXGbIreezDewUvC3k8XD8L/KBhrmmGf+evuZYPMimg==","signatures":[{"sig":"MEQCICK561S39nHt3PA0Wp4yTyEIsqKuVsKojJYgenmQcacYAiBw5ckRBK6++bt/80L0NFKnJJ1C3Q4gxdwRCJx8PrATgg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":478089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6HazCRA9TVsSAnZWagAAlyEP/j4RXxI13ZkOj0RcU31p\nPmKvaOEAIZsuu34uAJWZA6G106A3TL+bW6FaCeHYzUvSyHZgNxspq3mnEhwC\nHtbaMuSXYGX0Li7cpMrzRaNF5koai9nNnsjGtyCdbRvx2tZIwIkiX/Lk+umI\n2/9C/7H4eTrMD8AutwviM0FBck+J5/39rq6VKudX71dNrKstDTHms3cqVbsW\n//kObAriDISD9reI/T6TEbpXR091eCfkfNSm1KykC54W3w0zzZoJw/QnPv22\nRsCK4j3GuC1G3fK+PyrnidhkzEGwNCTMtCFY1vEDVk3xmRu2gZgWynw9v8Un\nAr3Lw7/tDtnyxlKNJKPgjeBFv9fmH/ZeZTG/cqbfZi4WozVfG0MERYcZv89S\n1jotezLEX3HAlNFBHrC2WieKBmsAoOfW7A8UZT6FXoxJadY+fM9q9XhCupYQ\n5sCqMi3wTClwLNOfy3xb0Q9GPU7A9z4hq/1KKA2nPnUzxrRjhPMwlI+eqg7Q\n1CswF1uErytFM1u5mQP1kYpwiebGOZil3g+TiGaejXmKDSEEyrKHzcq9ibM1\n22LB+/agrvC8rXIh1U/sQTfaUEDyH+BMyYFheRYeS/bG/BLzB837fj7nAOLo\njOib7HO0XDQqH6GH6aAEX2TDatwXupxn0sen6whSrJJ7Ewu5msHiYQ0d2Ev3\nluyg\r\n=Hum0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"371c45fb706aa931629faaa10174bb04c2c34b22","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.6.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.2.1","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.2.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.10","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.8","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.2.6_1592293042585_0.20590750072865482","host":"s3://npm-registry-packages"}},"10.2.7":{"name":"@adobe/helix-cli","version":"10.2.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.2.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a9b011a0bc7393666a473ea66e8a10839e05b75a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.2.7.tgz","fileCount":76,"integrity":"sha512-nj8BwzY95/VFdAMs4u+3amDeO9/Tn3HA61b4uosUodNZTYm9tUtFe3Hxtuk+zn7f1K3POxd/a79b+Kcj1FIRXg==","signatures":[{"sig":"MEUCIQDkazCH4zOShu6X8Mcv6CLscdm/+cjKDzrjkk3RdF2kXwIgSPug9BT675oNDstLxN6+FjQI59LNbQKB9/BmgvA9qDE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":479016,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6cjnCRA9TVsSAnZWagAAimAQAJNwdyL7dz2s1R6DKVB6\niRDHdcdBh9rhrQpRvHszDNHTj+XUYuaMCdgxwLVqgyG0H/gePFa8a9jcs50Y\nng0jQaTxikYKDOHRh4pAoY1jfn0QpBtoVkQ06c8T9b00/QC+D1MVTeuelEX0\nW7OnhNZ43R0tUSML0nzINNa5RYl9HPPJN8lJMFXqkZ5fPWhEhDMjUV5HhaSe\nqdJVZHia1Mik5inNILcQ1u9odUVtSdD7PnnSLZLoVfrTHmSYj64svKQBiS1M\nzkZVJx6LYHhl7vHmQ0tDNJjfkDKQjjbemM5X2iTY+D2EZmjAm8Y0lKw1NZPZ\nw98yWvSsK8iVVS+/qW82K8VBskN8BKU5/upPjhGYCIsIsNxG/j+cVRUr2G9t\nwKcxPzOsA7FchOeMZbVfQeCovB563ksFokBzGPglaWqpNXtRctKfKee32Y8/\nIilQPo79uI/TQ/TyCbacLZOLcRqllRV3sh9o+oLxevGSzHHlxnGxFrc6OC6D\nYPcR7Xztl/6vQSmDDSF1TIG2DTBwuTdbjK+fVLKPNOxtTxuvPA48etnYQAB4\nly7GRl9Cc+yMlW0vda7FKSlAVajggbL3P9IGbceSpO6GwMdPxVe/ehb2eQy5\nPGyXmkR0dHvNsAuDqWXCDDnr9E2klAtGwnpKRrZkqBIt6+gWqPGXLuBkkJ/w\n04Sc\r\n=+GlB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"d556ac9da70d5c7f5c1f34104d41febfcc953224","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.4.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.6.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.2.1","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.2.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.10","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.8","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.2.7_1592379622567_0.49899033495615575","host":"s3://npm-registry-packages"}},"10.2.8":{"name":"@adobe/helix-cli","version":"10.2.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.2.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"34de5a6193ad6be1c0784773ad15384a00e186a2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.2.8.tgz","fileCount":76,"integrity":"sha512-lxxBcJb+1AsMA8vUvupBczc1Fo6i9hrc31+KIV6ZSdMR/+3jpqqHIRkVUw8cccQ0Fe+CGoR6cijS61siGG6rCw==","signatures":[{"sig":"MEUCIGUIdGDos9iNei1t8UpvYbSnh0QiWRYar0kEEgJLdOIiAiEA+FBa3RbtLuN3KVc9eBBdzRK79bFOiC8HRE7mFZCPc3s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":479250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8KaRCRA9TVsSAnZWagAAhN0QAIBJZlqd9IN/tIUU1psM\nnytBU9jLLrCiONXoWKbP0iREPsogMw8jEOGOJ7/DPiuTb236Ec4QnT+as3At\nCGF/4lenF+GJobQlkuyPg++gL9KTHkYKIFGW0dJ2zm7ZXWJ2K9ugP4ky9XBZ\nXOfpUd2KIZ2bJNhPMTA3eVpdp3ayzg2gku7+2msuLIxC8RCjbTMhK7fsWO22\nuOXZlqwPpANqqOspKYPdZ+UD9EPUPQlws/OkWFJE5+Q4K66abtMzgJhCqJK3\n4KMO7u9N1vOAo5pZvC5XRYIoXBaJKLvGSc5azta9TfE9Ej0vz0gm0tKefm56\nfkYatYgm/9hOeQJ3pYmlRUAedM7ecTVXa1uWt9ipG3CIJ4RCAhsU3N9o7rfW\nNrrrDw8xlPWixAg5NAqIe8KiUlBtYnLVpN0Tkk+twr59IDsxDP5JdEog0/QV\n05xidol/BUrSuD/YTLcEaKoHwmdzyxzVTeJPregvJzmccOyw9Uwa/ky7R1S0\nKqUKUFGGKRpl7YypZUPPbKV+3jWhnsQ0E8rsGM3eprdAa8fedAta5U6pd6ik\ncuD1BD5zEpf8cGaTSOWr25Xm3/HpTSFR7lVzDQHuB7fFQ5WXKkxy5S5zHRdY\nV1Iifq7ofk/2pgHNXUFRNR5F+Q4Edq04gi+5hM/NUSRFT49FmjBlR5vDYU5N\nUsw+\r\n=KdXI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"90bc44148ec6964ca59076d759b4ca9717e9a865","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.5.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.6.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.2.1","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.2.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.8","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.2.8_1592829585229_0.5160697002242107","host":"s3://npm-registry-packages"}},"10.3.0":{"name":"@adobe/helix-cli","version":"10.3.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.3.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"db898372fdda9a8a498778eabb939cdd5bc8fd83","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.3.0.tgz","fileCount":76,"integrity":"sha512-6ywI3W2+hnF9v4zgBT940Nkrkko9pij+Cibjy1xgFwIZ+q9YT4n9G8AyOTNRERCIJXFXS2Dw0kz+cOOk0yLbSQ==","signatures":[{"sig":"MEUCIQDc6WNTdGiZxzymwV3S9aoipvDBiveTlTaa/DQn8S8sSQIgRJzWYlomMpG7iKl7iBNg1nuZ2sRMklvy/66yNlnkm0k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":480420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8U+ACRA9TVsSAnZWagAA780P/Ax/dSbzcMDFADi8ZwHg\nGfjjiKvBbXuxSKv4ACqIHww+RTwc0IZxOmZ/AfuopoGTPl3PniDCeJsqNB5Q\njdcHJbHlDD8cGRCRo/7HdsHHY8w7XsUljXjT8xjoJPvyG4xQ8/eIOPsy1ReZ\n3w6AS0Wk2c4S9RMCzAY+8HNHkdMEScYgO5nUbxv1tLKlnTvOzNaI33iJcrQP\nLGDBpQntr/m1mqa6reneZ7bPPB5NwuUqHYjYZ23KqjqiUTmAbDaUJ+eyUTKT\nyE8De8Z18OXv1vmM+h2v8WKm/dAg99rfDNNtGUJQnCBAUmuVWk0dYUe6jydi\nF3naqGzV9p5JvIJX8yLR3NR0djpeAYZ3kv8BwySIcrSEP8tWjlSnlIGHkccl\nmMuFiuhKpg96a8puVtnPDM0fezklTsvIjoFOV631Hhl4cGxgrDRTzTByzWHG\ni9TRkdZkZmIBKHxyNM0+u1mZKEUwk5mkEcGcl2apaQJyMSPxQlhiNTYdMEUB\niQ2X92UNotCpEPf6YuSbNS25cu2Xiil7eo1ILaGnj7g0ycSWN0OClVG+WOvb\nouwBezEeU0H39EYVbQ8XZmXG/DAVWBXpu+eifhHLMRpAQmDl1i1BuAxqa7IM\nJM7aFAbGbYS2coTKybsqnRv9KItyABXsPdqENwaAAWOvCCPRXo7dB8f37mGg\ndxfA\r\n=pFkb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"7cc0a6405ef0ff189acd435a14146a679875daa8","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.5.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.6.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.0","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.2.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.0.8","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.3.0_1592872832101_0.6701262293523287","host":"s3://npm-registry-packages"}},"10.3.1":{"name":"@adobe/helix-cli","version":"10.3.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.3.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"acbfb2a4a6540ca99d4c25c297b2f30205c3fe05","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.3.1.tgz","fileCount":76,"integrity":"sha512-7GJEgpmlERZWlmZOpcllPZhaT8z/htxIBZJB4nAoqaWGr9aX9uD/zOAaqF52bRHnGEtZ/sxeNFnXzdNdt61hdw==","signatures":[{"sig":"MEYCIQCbgWSjgzCWN+qGM43bt4E+4L9S1PL9LJ+Uww/OfXzblAIhANMUZ0PKg6fvUfbxNS9dd5P9xpYPDHpupbbb4lA1KN3O","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":480772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8cchCRA9TVsSAnZWagAAdfEP/RlEbiHrMDwJeyA+m6OT\nr30R4aemXb3YTfbIMngcEVz7zF+uT6tfHfubfLelEh+Ntn9balgQAuT4tHnn\nX+gQkNCBsBb/jbkOHFRXzPbABEkEwBRlhw1k0hyq5z1OEooXxzvBVlivijv/\nbdWuij+Jl+LHABvvwkhuZt9PLmYBIJX0navkdlDpcZmQQ8void2/Z1rEwjXI\nftnIRA/7ItVRBwxFsddDftqnNYTcIPA9sxxzI9CPbdGSw3uvi5uVUR2Rpsg2\ns2ZUXpkhkKHFDGvfnMT5BWVv4c/72fmCUR121qlaDuKUccW6d3m3w5E/dbPS\nbga67TXOWTkETXLUtr8t6TfpVJqO+gg6dVuoGsI/dnNJYxZNP4F3KLpB4WNE\nq7a3fSWY8ZLpwqNMnD86UTb2y/6PDmLn4w3ymc2vUHdyRmYiVmLnbKC7rthd\n92nlSZjL0jzEjeB0NBk1FBDsSvklW4bN7eLDtF+WuomSZNodzgR8WVcAocFS\nzXxPLFDZvlrygj4eojBeZuNB75YV9tEqHh57gwBJxSh6W5UWZv9PVaPBGK+D\nTGJO4eSEtrx1O92uYNfFor+jFguWlKz6p5yVqJ1fSaBvZM7QRCcUOgCenoWv\nQmIwzLOClXVBkcefLz7G7jrOPTCnDqRctDvxkIEXBH6apSUAV9ikM+96ropI\nYDa5\r\n=QP9O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"625179f638815c29ee223cee1ba6cd4f798d22ff","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.5.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.6.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.0","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"7.2.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"4.3.0","unist-util-map":"2.0.1","semantic-release":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"4.3.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"4.3.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"4.3.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.3.1_1592903457141_0.015813208576295867","host":"s3://npm-registry-packages"}},"10.3.2":{"name":"@adobe/helix-cli","version":"10.3.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.3.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1d986dab9e5b4f0e1b12d6a07f1a29d4b2a47991","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.3.2.tgz","fileCount":76,"integrity":"sha512-bt5FlUOxveO8GHYzXPpG5YM7D7bs4sNt6Mdfvb2VJSwUXYhBBPb55bwJPJysMvyhANozZ9DpuM7YQGwYUOQc2A==","signatures":[{"sig":"MEUCIEaRyW0V7RDK7PfElqvlZfX8qQsFa5zKQAvuKx5alnvlAiEA4mQDVr9u2AS1F95u0ESDPTl72wIqhdrAj5yL+2QoAOA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":481033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8xmtCRA9TVsSAnZWagAAHGIQAJByIA1sscrfXM6UB8gM\nEOS/ppv1M7ZGJaTuApUobTIX+kCvmVtjmJM2jpSgt8YJD0weEj9daHx6rrK+\nehQided4SVL8AX3KE8fVp0spyenvOzMXrAt8qHTI103rpgv77lS+YOHgaUbS\nMIYMkYRXu9pDnxUAmfO58AAnrIwmIBO4kWZxqxuUrOmGgI0kQr60OfX7GKN/\nakgOuvAJtQxaKqjvP95T0Gmp90q/RkecY2I1Taq9fI6fL+IhLTZmDN9oQ8pv\nil30fazE511sIpT0C8dk62bjvFSihQH4fVRGmVO/7D8vBfg6R3i2SInd0TyJ\nNIY3fnJ30kjBoFOxgEyYAo+kvixcDyy6IVNaC69v3YR+9Sd4qNrLJDNe5t8T\nsWiVYBH5c+Cw6pMwUDuI6b8zwT58wY5/9clMFwdVzZA3hnUADnFR2gIssmTC\n2Piuzvqr8rqcbxIEEChlYCTCA7gV6k2hFXTHGnDM8Cbmb2Iv0lks4KviuzKR\nh5hJsoKgEp/W7S2eouX6+avXCBvmF+uv66qqyKZRZHidFeIqaxS6RGvHcTcH\nHXynblPLbnh7c7nlT/+U6GdXWJD4nAf0v9T1U1TcFRFqc5ywCDbkVL72OjiY\n57onwRVdQOZNtwiib6fJgj/NtrqsrXSpL8ooCFPQu2p2x6pOBQh7aMeFuOR6\n3w+T\r\n=IRpm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"565ab39a49a2a47891a8508e11e336dcc4b25354","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.5.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.7.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.0","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.3.2_1592990124569_0.8947062843644935","host":"s3://npm-registry-packages"}},"10.3.3":{"name":"@adobe/helix-cli","version":"10.3.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.3.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1b18a18c6563165ad31a0968062d9acfd5a46daa","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.3.3.tgz","fileCount":76,"integrity":"sha512-V4tmGebbjvJOxFXYtIwndb48WXLcWs1+yxbsCIumzlT2HHVRutih7luebTzQGx4/2/OKO2lH/je/mlirU5B/wQ==","signatures":[{"sig":"MEUCIAdyj4UffEh4lqIGVTrBb47I30bpopKloKHcFjux9w5wAiEAn2oAdcAnqonDEcUXgcJTDsnddLv+8CZhwpWy1dfgUG8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":481297,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8yMyCRA9TVsSAnZWagAAXVkQAJRlm2t4QM570v7hvUe+\n78o32map2Gh9/FABYviISDz6drlqbKNTk+BQLB3WHW6bNb299/JS8nvHiu60\n9tB9jPIzjSMmyi8YwZAaCssVP3Ik98QPwqeUYu3jY9y4kK3F6K+DLh9eCL3n\n0nsXp2Jf9EANpzKDKHq7KSXAskF2TXB070nFSO8pjhUHevaNy36KPp9XSscu\njHZy77b85ezA8oc+bXsVpi6zY3ypAtoQC04S8ML1qKDZIazd/UUWH/MyX1eQ\nWgrLIB5tkNQJjMGRXIo04yrFzWar5LUYN8CHPcK8W7rCKMmRuMIgHLSP4wia\nGmzO4Ff87qkxrqS920x2HdVDqe/xk59siMrFbdZxaGjt5Ar9CFIa7LiHL94M\nkMJ1M9m4ofk/692Rl4JpTcB3HG/pFfEcRDoOxeTTQ7PUve+bDqjqb7947t/h\nv01IZ1ezXjmgi7owc/nStGqTjbgPtDi5SU38SaGU/cqObZv0aPtE5Tzp3jyJ\nWR+dIYtO1a8K8nd2krPacpaDVp5CRmgPwVbSdVParUFtJ0n4Xx0CTuicedIp\ntt5O0gsVDROi3RecUmk8Nela4QclNwKgUicETfoNPRVqo342N+Aa9dCqLSDb\ncE+VqMxUzhbpb+iLSD3FMed3EzUH96Spj0ep4lfSuwSekay9/8X4Sri99aK/\n1rbK\r\n=ggeu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"9dd34c87187a88399ee996a46e0324564ac8f723","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.5.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.7.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.1","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.3.3_1592992561595_0.043159084920174395","host":"s3://npm-registry-packages"}},"10.3.4":{"name":"@adobe/helix-cli","version":"10.3.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.3.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4ee09c5573cb735042695675db2a302b2a81b0f6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.3.4.tgz","fileCount":76,"integrity":"sha512-gXbN7Qmy2ZtMQfdwAJMlyWKFQj1GuUmAk4lyDKQiwu83+Kt5cHNxY6HET7KMao6Hb8RqGaSegcOlF+BKz1izEw==","signatures":[{"sig":"MEYCIQCELfsq8beVXXa0WYnip0yy9Dow7c+Gpxx/GcXxRF1m9gIhAKWBQ+1JaMW3fleu6NO1cO7v1B2BdCWVJePH/7eCLL7y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":481552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9HhwCRA9TVsSAnZWagAAPl8P/0aSiBFvfkiVD837uHm6\n9bQN9TdUqYSWyTJWEjSdyorAAy83+Pqb0FP6dnLdtmApp+qUiJ2GYUelyLvF\nsRUPUxrWKZl1QHCWr+tXlkbGt8/5IdCmTeQM5eR1WEkPJp8ErlFta9xTkw2B\n9L/xPcr7z7ej08baYietOqiu9DcgFnePu/h+mvVTEiEtsrvzqNrj/in7fqYZ\n3dp0amrUtsc9S6UxzgLm4Kiq3hjf4oHdDV7JDS1SOIvkFtOX2RbHysnWqZ6m\n6KwM7YDabQftnsBSBdQQq8AG4IfMMOr5HF0k+nnObpPquWvg4MrXdCixoH9z\nCnaByET0jAfIYIWvq3qrYizI+LDS4y0gr0m8gGxlg+VTg8+3vFtxNalsrZ4L\nCGKo2yO961tGNB/5BTKeP18sGA+8ewJz4eGJLRfg++M2GclnZSJ6Ss8UKSzj\n+e/Lx/tAL9StwkFaqq4ripjeC/JNYCXac1Ys9lsVSZojYcVt/CW6axDK/R+m\nKVoAWutettthMyVfNwp/2s2dGANzStgLTONUh1Yc2lM3lYecN5bbSjwKqlyM\nhuBkjiGU6ClAlYkLaYQCU9lFOTMdz9avHpaEU+Z4nh6rC2uKpa8XQZ347+WT\nT9VIruhpzRSnMB65coZgJx0bvS8s/FSEdzTtuvxPChaGTpKFFq2Icose55Mp\nyv14\r\n=ugED\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"288e68e2ea6144b7db93974142c0be846181c584","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.5.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.7.1","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.3.4_1593079919888_0.39742685319170845","host":"s3://npm-registry-packages"}},"10.3.5":{"name":"@adobe/helix-cli","version":"10.3.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.3.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"22c321a771df263c7b37e046b43c56120daddc68","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.3.5.tgz","fileCount":76,"integrity":"sha512-5fpF/ELo7DM4siaoFr94U+pMyk854xvNCuHlgVYxz7YLmtGw2kizF5JHifHc2zWHOAbuC22AGYNvnXwr+T1sVw==","signatures":[{"sig":"MEQCIHo8HexMCqpZ7rYlNGW/+MZYzrKOuU3y02pqZDDzEvuHAiB6ROtRMvTBDC+P2DF/dzOs/C0bxnXvXFE9DPnicTxWlg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":481813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9b4TCRA9TVsSAnZWagAA0TsP/iC72To9MwSY8gTCzXJX\n9GKPDXjzjDwd5doqhSRSuHaSvBEGlhP4HoTL9nmjhbfn6h+b8vNhlb/ZPPKT\nYPihGczhUX+oU62GRqU1Xz5udgZKTmemXX8DEbAZDj7MhvPPxw6ngc+z3HcQ\nwAgWadmAjNPVDqrbLUpxrr9kgBg+BBlZ/6FBosj9TKrzdqHOuNXhbS83/xDT\n1HFItSNUvfuQqzXmEHid1kIULpeHwtZlqkg85/OBot2YpDSWHnpZY7ZS1NNs\nXjQTrK9APe18QO1yex6exPecIIQwcz4sHM+wWYgHzxjZwioPfCeyWXIH4lhE\nbvwV1ihGY3LXITUYZcx9Re3/K5nq1ugQSFLwKJJFoQCLGO0l2jLzyzT9AwCM\ndrftmSZxRuwC0dhqODhReYXhCKYZeCfx3AcdLpeZqNhNy4b81HmFyY1ZKo1g\noceXgHCiQw8eE8Ksqn58UCxUfFsOqWxc+XrOZbXGuB4fnoj0ZjxZQKZ9MqmY\nIZQZkVUuB5lfzt8IN5RNq3E7IPbXCoQ680VOclkvxkiAG6LYk37KE70v1Nqm\nI/joaL7fG7eeHgfOYqTPJJH/zBpKRh6DFXTbMBMMM+TnPXvOvPhQ/IPcccWP\nzB3KX7VfcXQ/gngchgOgTz8mbelCFF4pc/44Zj4OqLS1bFlW9fxZH/iJD9ph\n2YY1\r\n=uuzq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"3387a87301fdf777c1898060b76167ead1baf788","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.5.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.8.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.2","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.3.5_1593163283119_0.34054510535878446","host":"s3://npm-registry-packages"}},"10.3.6":{"name":"@adobe/helix-cli","version":"10.3.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.3.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"049c94b1e045b2e7c63b9e75b3095af93b65d398","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.3.6.tgz","fileCount":76,"integrity":"sha512-vBcUxqCrnl2ZatW7xR2W9YN/1QRoLWCEDxH0VHI9c1iWezXSI5VVyFLYHlP7qMENH1Eytsuy8XEDy7UVxJGjLg==","signatures":[{"sig":"MEQCIArM5Sx3LZDYZgMpz5/u2SYT/kznGZAJLlWzP8DtXi8LAiB7axW3pIpQjryWYHhTfBJSBFTwbLJVD5L8909m/YLG+w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":482077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9dfeCRA9TVsSAnZWagAAT1UP/RTpOh8F2vWF+2KuUg5g\n3gfesXZWqNjO2CQiEkxlqOSlCy5yL1LocvfOsjYQdmyCyfUJKcwlak3nhD2C\nNZaV2Su8z6pr8hB47bnnNo+06RIX6LhqLYNbH5U3Vrp72QwWZegwtR9ttdqq\nY/xb1PAycPx3AqomBl4Gd3IRwdReiaRgLMGCvvy4KFFRbsAXXGDQPa9mlug4\nJc8HJq6edKSHWEbcj6QZR4rb7KCW0GoOi3ZhhUwX3ilw5mWUDpKfjXYLlhT4\nTFFx8s0BAUhGsP6nmNNHpnpl2zIDDJwh5w/Pusz7CG0uykBJgdI725pa9sHH\n1aQR8UXwRzxOQRqi/hl66YIYg+LUUDqHjyCEzYaIDaDXXYIiCmkDdU0gSaZt\nWlrUqFg4t6gNCNsE+xPnilJzVOkcZR2lp3zcD7y91o9kzI1Wl+BIiQI4aHSL\nWESeMGEHevM4Fj8z5sQGwZ8I59oUGWspzW07z/r+Kh8ykEgTlDR7upkb9pE8\nwIwOR2aupuSRlIa3S3hV+rIjLDDFn3HA+CFPjay8I6qaELgnjatgSTLEUaE9\npeXe1KP4FB37lqPvTkFwVcOyFa2rCcoqBd7hobODHrWBG0MIOB9xgANtV9r/\nnOaa1A3RA5HQuuG8eJAD2T578Xb/sJIRzvdcPcVSIv4oZiTeg3Qlzhb3xXx0\nS9yY\r\n=cxvb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"c6548afe1db5ccabf9f764543443a02530169049","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.5.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.8.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.3","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.3.6_1593169886237_0.67021192253084","host":"s3://npm-registry-packages"}},"10.3.7":{"name":"@adobe/helix-cli","version":"10.3.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.3.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6ba3e5efa601b611ffdbec2afb26edf659f8d032","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.3.7.tgz","fileCount":76,"integrity":"sha512-GGZwvNLdBRQ/tr3aHHoEP59Hw/6x+sB17vZAB2teZOAA/6uaGzl1euS0GMZiEx3iSuwBWCP3PhWzpgbhKwK34Q==","signatures":[{"sig":"MEQCIBgVzTDt3N7f2+StFjFmD8GMWDhLGyba4d0/LHa8AHM5AiAKu1iEMXStPzISPk96FMFAgmnV0ehMK+/B8HdPwfVX2A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":482338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9fQsCRA9TVsSAnZWagAAb+IQAJba1TKg43MhWfhsjHpe\nTgcI0FpZVm2zIpIwyQwCW2DJj8lOCmRjIzXs5Gve/u8kj8hRq20zygb4gFJm\ncyimHupS/XTb24KvH7vjoWYrw3FuM/DZ0Htez3nucYfpKfZpscEfEVb4UFWz\n4FEcQtUBGg40yUOEXWbcJbgu+h/fJiuhv6D0rMdXZUn8FBIUD7cLzDBbnNl2\ngCDhUKY1netYkQ2r+iqSfbiL8Aji9ZfoeNsXhX1MiNKf4OtWIIqB0Ng+l0zb\n6J+43W0FBQPQxAi3rnqn1ByoQiorVtaTe7DEp44cXEJmoH6NzOYV8oV5qvE4\nbWzNaUoHHsQvh0lnB4cuczeMmw9bPSwh1JJjQGqh5LF8KH/xA+gI/tXQHMKE\nNxKdFCNr6dvTBFN+gYFQIa7PHtvaDpoGRVROjOFA+lrqrghIdKYxFvrdTP+s\n6E1xeUK3AE1X5QFRg5u77iPYdMaX8foAqY5OHinmEvbo0sVCB5WOeJHLJqbk\nhtQcagwPBgLVwds0ExZkXt6/+cLEm1m3ddWf1OzPqtSNiQkF6eXtGF3eFbOq\nWdEhk5ZyFW4JDpTvOMKypw7d4O9s/0NQFUznwXOxDwZxwdliKSUfzk1miCPr\nHuesid6wBmUuixkee1JY8+vOETx5rFKcRypVZJNWvqdiZ+vxhFF78omnzGBS\nQfdo\r\n=IBBV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"ec2369f9b83dd82415bb11e2c46ecf7719caaceb","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.5.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.8.1","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.3","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.3.7_1593177131801_0.14886998384623285","host":"s3://npm-registry-packages"}},"10.3.8":{"name":"@adobe/helix-cli","version":"10.3.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.3.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7acc02b0f4d87be76d5087565305385740f7c6f7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.3.8.tgz","fileCount":76,"integrity":"sha512-BlzKVL+OeUBe2e6RwnfYiTJ/E3zFOrFRbk1gIVJ//9zjrZGwj+fuMcAjPVUgxHBYyYxLB54lKI12O8J5tRc/Nw==","signatures":[{"sig":"MEUCIG+pv1WLMyT0kh2y6QCFMxYm5s6qKtPm15A0xIisevjfAiEA07cPG1y5JfhjgUToBUL2d1tfmiaPIu1Ar7dgpsVNmKM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":482602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9gLxCRA9TVsSAnZWagAAq60P/1lc06joJs0z6LBTWNvV\nj7unGSZjybPlGm7wdeGW9daoOG1vV3cPGz6l6LapHHVeFeNg+2vYt+/F6b4/\nHAJHg9zgxvr1HJcoEY41rR158eqb1NuB2cugDvg3hAc17lPXLfZt+XeNmk6A\n8kGn/NuDFiteLOEniqg/jOui13MwkRu2Q16tPaSR7dYyBMNMne49OWTquc1J\n9kt7zVfIWd98M3lmOn+jzWDM6fs4SVEg0DxB4FNkzoIS1NF9yLYK/K6qbjF0\n4Jy8m7gjDAnWlvjG2l70PRGojyPXVBaf0c/zYGVLwd3q5mlCJMjVLh/16REQ\nI791J5goElRmvCLalOyoiAUAAQSpsGKYsX7I3v8ZCC2yy/E5EP/Wk6gj57Gy\n9tXJAQRipcLrF9j9TgksuGcJ+/FxrIFqcB030xnssGSDoGAhPk8aF2NIPmRE\n4lVN8Hv7EJmMcW5BFGkfdcFQUg64ra3Zm/B2NTPF91tm7mi5CQ9FrU+3l47K\nbixMYsZ/+ihg90yQBnlFr9biyDccS78RIxSy8RrJzEPHxQaF33igfTb4Mok4\ntifQ4GGOUcmFPBS51OFXzGLvk6onYSIL4gQcI3FYRsp1BPUXia88Hlanjc62\nVxfUBBKRNm754ZzrRWcXknVf8Sil2oh7J3rCjleoKvfGPgwLdlqc28gSqmgg\nZR7j\r\n=eMgv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"733ce458182a8ca40ba8eb3ac7f86d60febee71e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.5.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.0","@adobe/helix-shared":"7.8.1","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.4","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.3.8_1593180912901_0.42161031300269514","host":"s3://npm-registry-packages"}},"10.3.9":{"name":"@adobe/helix-cli","version":"10.3.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.3.9","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"07e43e2f6d1b22d948a74a4e934a9c9516d760c1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.3.9.tgz","fileCount":76,"integrity":"sha512-Zxohb9rMxLHtY5M6W7Hs3Kultb+aKw25RKjWK9PgbMdP31GEqThtY9UnxaSyBZl6Pw0sYZzlQHLYVZxhjjehTg==","signatures":[{"sig":"MEUCIQC1XBdM8BtmTuhB0t28IZ4Ez4a2jePkNkLliibE6hkvSwIgAe0pT8TAljVxSSinyOEmju9aG1mHDnABVsLKsg5hY88=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":482860,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9sc7CRA9TVsSAnZWagAA0gkP/ihZLCVQLxrGXbl0mi9t\nPoGMshgPdLnrVTJ3/ORBtpIlcCMfDB/3SOHhHzJei/ZS89bZArD6m7P5NIQG\np8qPlHhjL6w6sB2Ilxkqs6fO7lmUIQnHfxmEvf9C9aJpcvM3QkSwDe6atyLu\nIlOMPmSzj5MRyxv4DkoyDPx66Nm0os9gpXhf/JzJw5XEeGFnO2BfCxnfWASa\nQirelLDKlxOHxCzW17rfG23BtW4BGGCOg/0SpfjWweiR3Hb/pWBv0CjmO+RR\nwDg7MIjZpPcndPZTFF8xjDv7Sb5nddI2bTP9lvllbVlj0dU5ReBrSrASqr8Q\nN6oxETOd6S4MBM/bmUuzMGehG66eVVa7ojrH9+naY64ixld7hcEUiu1592UL\nfmd3na9fR3eirQqmN68eFolZ1hvY6VM/rCxHg40vH7/wrDBjATXY6IGIsPOC\ne8vHpFBkY1SRKjj9eDJ3Sn1UcCX6gQD2GP73sHWNTShIyaopDerzXSzUhXJP\nWJ4jt01EZapSenl/aobibzjXYbMN979oP5dMSVV2YTXa0s1K9OMf131d1Ouf\nf/a+PiEc5BMb4KbDCpk15ajDu7Xsst3Y4WmrKZkV8ostwcMsKtp76/jtxgA3\nVGgurnIAejrE+FxSyGhm1RW+OLFJwcnI1rfZP5MH2RWZoTpO1zWzOgZXlAba\nqrj4\r\n=zZam\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"3bd0d9d5a8712544855fd8990037f0ac68c788ff","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.5.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.1","@adobe/helix-shared":"7.8.1","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.4","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.3.9_1593231162454_0.3307433574739267","host":"s3://npm-registry-packages"}},"10.3.10":{"name":"@adobe/helix-cli","version":"10.3.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.3.10","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"32361f0279d0ee5b7d3973eae33b06841e62548f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.3.10.tgz","fileCount":76,"integrity":"sha512-CSll8dxEQUJ3fHtAUfS6wEsWd+TorBm3XCUt403vXZX3CIEpo601XqEMzQ4njsPAqI+//u01WgAkdGOJuhNeaQ==","signatures":[{"sig":"MEUCIBt5Y7PkmzutTYn7x3QpgxkpNPeDZOPf7ePsxB0rWXw1AiEA3E6hnEnYC2SerZ1NV+YlYNefSBu+JTlx7mT633dgynA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe93CACRA9TVsSAnZWagAAdx0P/jJAIFh9FcDxoQYsGr3f\nh24KWe4eRtJHa/wNsJb9/8QGs0/O2uWCKaRpvFmBaxRzRevY+SKCc0soHJhT\nBC5ITXGyZENJ246AoClVbh4NLqNqJcfwMQB7wE2SOZ+AbjJxUPHgR7YBoYl5\ny4YMC0BzpVnW6thJpyK4pslzLVsTBeT86GQVKUvRQZGs15qM4MVC8+jZE93Z\nbA5VtV1OejhKMA7J4NGx8QPW42EbzKLVdkkzba4rQ1AMkUJ7bYlV74UWdk47\nnKHuOKnkfxkwQ5thXRrtezHMXnkId0BuLvINknxxjU26NaOo+pbotlyKA2CD\noxNuB8+IkwCx9XqWWQNHdt5tKQmil8uWGQfcemH5QvlTxJ1PkxzQvMxUwxf/\ng+omciXs2AkyUxNZ+pGn71forps3lS/zxmJxPKVczeHGYpCz377w1xRW6lv4\nXgyQPGh5xq0PpCQzx1aYV8PPQtij0ocqz03nxTAH1THR5oF3UJqrZWg7tZsp\n23gfD8EHng0sUctEcR2Wj5o1lkAVmBvNUxhzC6KmUCFWv+aB6NRalq1kl18c\nUbjS4mvPTsznCeCpJ3eq0b20AcDM2oewcYgjURlZGwYZnRHFgGsYzHZm2qg/\nogblFkUhr7KS4mBt6QF/MQArbeMYJ3QvX8qA1OlH1SBtaZZGv/e5g+BiT5nO\nQsOz\r\n=Rt0w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"1b7f0d4a798e7bf65240aad401cc97c55897ecbc","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.5.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.1","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.5","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"12.0.3","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.0","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.21.2","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.3.10_1593274495329_0.8386326962164092","host":"s3://npm-registry-packages"}},"10.3.11":{"name":"@adobe/helix-cli","version":"10.3.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.3.11","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"0b6b61d47be5c8ede104a0bae98a9a0b7e42697f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.3.11.tgz","fileCount":76,"integrity":"sha512-aMiskwCew2e1qKVrqZT6vXTE5bhl/p+6cNEWQdzFrTsKIET8kLmMg1gpD6nGyu8jI4eNva79Q6aA7pLgOrZTdg==","signatures":[{"sig":"MEUCIQCiXNIEzLC4HOTykNtmXOgNB/+gLwS3fB2TAOLwCkA4PgIgX2W9xQ4rMmOy5cS67CpaNZRKoGFT2iIPwwU8tigiIO8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483379,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+tM0CRA9TVsSAnZWagAAjaoP/0E6EEYEx9T+Mc3cyECk\nRfAidWTrqTSnPYV71cN0aoUKIUzw2AJv24haoEQxOq7je1C8GeNQ0yriPb5q\nywjbeLmLFApie1V2FP7mW7JzI+vOuEgvAtehfZB0PUPWfAC8ebS6f003mxtN\nuS+QaMm46TlHo6+MUi8OPPnMHYQozIYQiOX9y0G0750bxrDWimFB0TBOUCtc\naQdc9HSn3YmjIoMvSTzcULC3E/9aU876W6QKwC4BJea0mDoIXJFg/V7toVdY\n3kesB8Y1CuqnNTDIcmkTDauPZUGM5RJo3KwA0s9kCLrrYBQjvds6d2u2/Uyj\nmZQ02o2kYBQZrmz8OF/g1x0/meX6JTtroJJxQk1IuhPkUSIHvYA5z6OcKJYr\nQMj2EhLx7yXVdsLBEHpf6throGjKoswhETKKl2eaSSUGMoW96Wqc7QCkgIT6\nToQfH1akfDXOHVQWrEgJefExa8ChJWQwU32Gfi5Z+t5LbrEum5PZpKRDKmGr\nb1dwK6liz+VLt4M64nkzayfSWgg3A2ACaS3TBtq1fJvcXlS2/0nFBUTMQwwg\nphUY653zKkwdPNS//Rz0u0jseKiPCchNs4x36EMeXLDDpAxe6qUSQtlgL1IQ\ntvYEJNRf86PMv2A+FWmS0y8c7JRS1BaNY+oIMdM45zmeTkX+v5PCwHrghQeR\noOFc\r\n=xwvq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"82cdcef9f11c396b6a0abdd29ace97a6e7bb6456","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.5.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.2","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.5","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.0","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.3.11_1593496372308_0.6946946048458065","host":"s3://npm-registry-packages"}},"10.3.12":{"name":"@adobe/helix-cli","version":"10.3.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.3.12","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"83cdfca8396b04fba262c3a489d1ebbb6e90376c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.3.12.tgz","fileCount":76,"integrity":"sha512-xveXqR8fW664j4mqc3QefcthqCv3tE+RKspD+1ErdLPInwxguYc9PBgDdzbfmqJCiYhRUXEvMfApzj0wo1Qb8Q==","signatures":[{"sig":"MEUCIEXUd/lNHHIREX2Qx2Yg+qKOXKYswFFpLj+h8Rbp9LkPAiEA/N9KsZ8Mu4FiGEkKKpr4Tw8k2w26hB5Sa7f84WJuyCg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483696,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+0XpCRA9TVsSAnZWagAAC3AP/1f8LUbwwsAYEeaQIBPn\nwO1Twzq/TAPFtLqcg7zKiORWQLBoGQHTN80ZDRR2RssToxJscCLXSQOyqvKs\nAzy8d0DB4ziE4hlcQE5VuEF2DVcEUjqtVEAt1lkq6ugff0DpYXXQ9D4N5MeY\n5uLqfh8Ual2JYWxLXKdK1YxefUMpwdqvNESmiZOJOq+4XCqMJVkO06uuE9TS\nbH8gAPMnY1tc5b+eqI5Q8quvFvZPILYqYBVyS3PEk9Y3ScaVExAB4n7vOPdv\n5/RmXKakw7OgLNdCNdaLX+zKE9BiJgxezirOU0dxXxIpsaI4QPI92RvWUNbu\neyynP4RLJHqJtHYEVNZPLjycqz2CEmp5lzm4BZjHdociQ0Fec2IR6Nm2p7N2\n8iHV8MWM3OzIcaUQcKwsLRp8s05o8WxDlUvcra+RFN/FMHPl3qPeLoDFXQ6Y\nSUYPdWYB/mLF4mdIclVNq49K+7QO+G1qnVprFw5bxoL5DquKulsk/7wAa7Wr\n1A6jdXCRqkf3ZFnD8dulPcNnhR7l9Tkv68rcRhm2ROIbSYXp50T7tQtUcYKS\nL8EaXuLm0dv3EpjvCduszqG+weTEjC8UacZ0U8gDblB9DMQKiBvRR3jPEd/P\nmq1UgHEIGO5Z77WGSTCiBoE5quONl36PUperlQGNIRFlhEYYPbJh3g7OrS7H\nspny\r\n=47F0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"4f6d469e082bf3265e506e937c7c01b6ed7bd79b","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","request":"^2.88.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.6.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.2","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.5","request-promise-native":"1.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.0","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.3.12_1593525737192_0.24407801965242326","host":"s3://npm-registry-packages"}},"10.4.0":{"name":"@adobe/helix-cli","version":"10.4.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.4.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"37b8396aa5ab07d67180f44368bfccd4b1a10632","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.4.0.tgz","fileCount":76,"integrity":"sha512-ZVjeU49qjsEew/+C9E51y0dxJsuH6UKgAXP7bGcE/EKXSi3/rFgeI57/oqdwgG5IziWPAZorXE+aj3X7y522Uw==","signatures":[{"sig":"MEQCICOezJhuRLxzFcHiIrY3xqXE0RgNPVWgMTP71/n8zzzqAiA43AWNqHatsvB+hrTXXw8yhmKR1d5CRSpVr6+pPOPPkw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":485253,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/b0JCRA9TVsSAnZWagAAmgsP/3C81B5QH9weVqHnT2vL\n568JZuXTHq/N6jbTA7BPyDOJffe60ac0JCnDjW/4p/wK3B5gj20b1LzJCDkU\nabURwq663dGmDDq9LWuZynxuNRWXUHE8ewoed2o3zgVU1JbqLO5Gk7F6UyVS\nB04PhVCcq6b7nC2HWt8gEbvoyV26ZNmBVkFiJf0VpLQKrSNjpFo0FA3O1NOo\n8ZQa3olud0Fhkyu7Ys/Jnbn8NYjzG0MAjGkUnt/3QmDUgk0NTEqfsPMdhdOT\n7eRL6qRPaTcW1ADMTHKP8DSrVd3mYx6ndivruS7bj69+udDJUW5A6fHNtVT0\nowi1qDQSsxarQFMh+c8vBqbDS27Lp+44stgOZE4nxDm6ct34M5dAhLxRGC/T\nA8UyPWbQZXW+F6MNJ8Bcey+AGZl6NFIbpj9WM2aHKOkYG7uYOavXYT9Yue4P\ngCsijHI2cpBc4xjV7aAlXkHY5Q3cwGuvX4e29v3FthWKhwmWhu3vucTLgKSR\n2AJRtIiSph+UWJCHxmd4XmCVONbVRWZO6gyJ1OQxxUL5OZtjJBTlYl10wwic\n9lJpDa6EQ0U/J1yQdJH1rb/qdmuxAf/Mq7TkWJsaYtsyyLY5aZjORYs5wsRq\nDC/yAUZ+zqtogyaVn7kUWLAF1foqh6wFiAfr4QjStcnH+3tgu483AzqZRcKk\nmdC0\r\n=hxH7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"0915b9775a8043e7befb4b7b204e1eb5855eb0be","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.3.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.6.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.2","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.5","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.4.0_1593687305197_0.7855669139208692","host":"s3://npm-registry-packages"}},"10.4.1":{"name":"@adobe/helix-cli","version":"10.4.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.4.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"842a0103565958daa935f1c61e0ccac14ee0bc8f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.4.1.tgz","fileCount":76,"integrity":"sha512-q3o8ns/C8xyzMrVxO05ZJvTSrM7ev4+oX8XK5MXunNv/ISsVMWfk29nfOF4uFghcEmqAH0IOnQUZAUY3LSyyYQ==","signatures":[{"sig":"MEUCIQDCj1666bsKui3qbluef8kdzU25mzEOLNKkgqFRiWryewIgEHB3u+EdnOW0gWGLuO67AIQWMENTugUI/MS0RhWcVbQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":485501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/hjUCRA9TVsSAnZWagAAbQ0P/jlnfn/BGWk4FV8ooPUG\n6B01KLOv16vqCQt2x19OT+VMhMtpf9pK2Dv8R+LM7VDSlFg/SkQyoYsntdEL\n5osDnbHxjlNg8BLqFNjAoDznNax9hdJH8/kk9flkP36hQnesKoKeQDNhT2pz\nDhE0LjJV08b0M5yLtaCp3a1JwsvomgWGuyNXc1mALS7Q2ZM9mqWnms/z6lMa\nKI6XNcTahxcJSLbJHP/FAFG+Pdm1etHiFnzIgTKyAzRgRlMhjXGGI3hKXRVm\nZcfirou6uch26xqioBFT7Ftoj43r7JvX5s/QPbUknFEjbbxKI+bEyg2dBCa/\nMN925JCd7e+3sxxJ9z6+vNYh1LbJoAwnHURTaqEjonExPVYVhe51TN/cftKh\njCf2I83NFlkCyKLWTFsotNRFUDcmA4bVLc6mg2q0eiX0sSsKxM+Mkh28M+J5\n6j87iMdwxXg7wEq8Bn+8WAz9DR3IUNJzS/zrcUrqCNEFWJUXFIKmABgAvzrb\nuR67Z8ZWggh99xsSjojIHULYJVU/+Ek9bt+D6AAaltygVPudvmtalLYHCrqb\ny67sjXSpsRkaOna3vFImp+bf+zrM1YrM7gG30T28VJaMukIUr6TYMt5c9FEQ\nqeDyWF0/tOUImeWq/fMWC1r1Z6Gw2I5bA3HfFoQH+RzENXXtKVhM9GKrMHqv\nSNNm\r\n=vyef\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"ac69a9bdcd69d5c6edd38ba10cc9c357997be754","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.6.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.2","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.5","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.4.1_1593710803954_0.7397605803872291","host":"s3://npm-registry-packages"}},"10.4.2":{"name":"@adobe/helix-cli","version":"10.4.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@10.4.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"865f9c2ef07497515468551e5e1a8816987cdd0b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-10.4.2.tgz","fileCount":76,"integrity":"sha512-u6cn0X+tlpyy6lyP+aNk/pdaBKnxsO5yT3EDmNV8Zd4k5iMW9qwkkI3Er4j82QtUnxSnst5qqOTTmOAGDmK7kQ==","signatures":[{"sig":"MEYCIQCl/41dq/lkYeQXqeL0fBAb4OopA7P4YXPZL2SeN0tSTAIhAKLpgCh/MWhGcguHI/qEMKFAXDkuRzRzPYocgPjXdP4H","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":485815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/rzOCRA9TVsSAnZWagAAjVsP/1OEeJ8SRdRVogv+Ovlb\nFi26LqIls0alBfFAuMgQPPwk6sclw34GthNYe9M3KBA4Z/mfWr0bUM+Ma0B5\n1nEr6+w+NiMvaTHZpBqiR2MlXAny7ahl6c0UZGwl49v/AoltwgYxcFKBQA9P\nV1mGINMKGek+mylmZd3Noaq6iPbVi70gnYbHE7kSBDD1pEoQaQ8wZWdhdxZ7\nFKSfV9hfCRXnvZreRTpMoCyDgvUYgO0i+FQwMM7Hw6OAV2vynFPEZYp/l48t\ngqMdqTuQspLrh32bBojSur2pN+n3JSpZcfaC6letaR6RNspNlF+V1FzfJsKJ\nDSURjA5eOUL09MFx8um98F0/y7Teqa7pAjgDlC1BC38pY9XY3G7L+ShGFAkA\nh3Gof/NWNnaUKQ20HaB/QFPjFvk/ZDWQgwgMnYT6f9S10G5Ph3funzUk8DKd\np+Ydfm60qBS1v6pwVETwC90cAhBI3Fi6P8yq+XjPY1ZzdEXASsQQJupqy6Rs\niSEBRL+6F5w6V5boebBb6Hb62b0zHAmNopCV/hX586cX9FGY/F0UbaTi3DXa\n0Puip/ulMBpTTU265An6nPeZjgGvLxqKRU1uCrixwlSaJ4gNs54F5A8tpqlj\nrFyKQhFYwE4n5CPlsrwy6x/lAxAV3Q+0nYlgrqGVC5h/h59iUPSLvPTp+/L0\nKzLm\r\n=KK0u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"b69daf15e4efb47f926decf0b5511c201f2beba0","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.2","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.5","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_10.4.2_1593752782016_0.2767441556219705","host":"s3://npm-registry-packages"}},"11.0.0":{"name":"@adobe/helix-cli","version":"11.0.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@11.0.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4934c86c3b0f3c1bd3dc1bdddf8bd53dcd420f94","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-11.0.0.tgz","fileCount":76,"integrity":"sha512-sqZanc4h+8d6gUlRZdD4NbzVAGQiqn9RCz5R8/poqhUM0b4srlG27TTdwoXX5QL0dq2CA2bGEShRoXy7JB+JCg==","signatures":[{"sig":"MEYCIQDpUkZ1jo+7PBE/4zrDeLH367e05TwEAN7+2JbQzZ9VTAIhALbt9CQO47vSoVeU12Sky0im/iCnnM9/roTL21pgRuo4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":486238,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/wgVCRA9TVsSAnZWagAAzx0QAIqGrvVcWqyNJPT/HRA7\nCA0oiRNz4aJ5YH0nIXfhURQhy8gisqnawBN6mdkLMggS06dpjbEOKT7dd9TQ\nQ8oEwbhK3MecLi+J9wWcS1FwVY2tzISU0Iyjy82C2NWAI8IVkn5J+Z+r9e+h\n/wkxZe1O5IZ9PIgiTu9jE5YF/m87+VM9lrkcqY4d7KhnIJOAKoRRPoj2Kgqs\nxNLvgO/WdF/P/SlfEMlhZvOdW+f1z27qF4ErFXcKBGmUGEOZKyYv9KJ1hjJ8\npcFFSiph3QQt7whsswWVpzqB1C1QdxgG7Y1cuWDF31F6Uo+9pFkDDjK3BQ2Y\ny9WIW/UAROOvDiVxilGgMvEIIyxPb5kEJoBLEXOJ6MDfnc/0Y3ZXZYcz33uo\nnzlldt3jJSgvi4eBIWsdrflGU5wym4CHgYLJ9R9BYiFIWBC98cYH6dW8tUXs\nM63BnAQvnx4u3qz7gmqavHi4nURyznyTGE9JLGpvASclfJXfXCyQbTexu2eZ\nkresPJNAWzwAa2NcG2FoPU6ryAMEXZ2sbmuxB2BMzXdodG0UMLbqFzcAA9he\neULJpFSsEGytrJUqHxvbAjzXEYPfke3v9Mdw4a5S1gC/lUYYkOATjtIZI+Qs\nHZZKxFCh0BmiGICfIHAjSqH93X2/u6Dnn9lE1MzlNNfYtnxy/2V/ifdB3sfM\n8Ycr\r\n=NyVJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"c02cef10d8e3f16b1039a6510eff703a85946ee6","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.5.2","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.5","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.3.1","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_11.0.0_1593772053025_0.1839045343886645","host":"s3://npm-registry-packages"}},"11.0.1":{"name":"@adobe/helix-cli","version":"11.0.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@11.0.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"c15404f1c4d9465b98fb551acaeaeacf63f99f96","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-11.0.1.tgz","fileCount":76,"integrity":"sha512-hrRZo5lEIKxN+Wzfwh8jA8o29xwKtOUCz6HKgMzzpVb9UzRj27pik+UV0vYc0PWu/D6NAi8Oqs4KamDzyEFNzA==","signatures":[{"sig":"MEUCIQCjKyh78FIWoLPPby3WTdox2/u5qa5OXX64lj4r8p4XZwIgcbxmV5SBRd5ihbOzltnHDpbl/GI0B+k/xPPjvuOtESQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":486496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBDRdCRA9TVsSAnZWagAAovwP/2aTY2bcY4hgCew87hXS\n1JuKjxCHXDCCjD48xQ4hEdpJLnbcctTo3/S3ixyTDoRrmWyZmjRPfgfdzkV5\nAIibjy5WHjmkiG5xnlsBeImcxU6lwPZsEBAN5sYwmm1XNLptg3huW4V5ti2w\nTLTU1sUbUMffD/UU2z2V/zSfBGKjNyIX9IPcyPMx0AVf2oJwkKqmYctdwU3I\n1Nq+2KG90SzNE9SaULVML1Y7LJq2pTSZjcuZLhmW28EkG34gUe0hyLZm42TQ\noKA9q0myRj4eXCKKRgTfNKKze6FmC0jhSWcDgNJVRWktZa0T+57xB+9Rqflr\nWtxi0fr13AQuozZJazzSblwA5UzzMVUX7iHsNa9QuxNMjQ0yWaR6Enhci7xr\n+52P0FKdYtk8pItixH8OqGoygL7zOC1s+wvPuCyoQ8iixn1h2C8wzeZK6Tj6\nAEAmXqc2hAEZX08MF0fxJC2nbAzif7NFKlJKZS2R3L18nmSMaoIS71DatpBS\n32r5CNg0x9gE6is0jrMYwKaNvT8+M5fPM8pL9zDFvY9f1ZpYXXJUNx5C4XLL\ntJ5d+lAou0o6rPRK/JZ+BvMABhyVAEf3xOKAdaJNuA9JN0zM+oqQQc908nPs\nwmOgslUqbnCtqYQNU2KSaQcIbrvvEPL/9S7XYbZ+4ECnORRb7PHDCk0OLZwj\npJmD\r\n=74mE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"af6226b196c240188d6089362d24df398f2c6b40","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.3.5","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.4.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.3.2","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_11.0.1_1594111068410_0.5458870181814068","host":"s3://npm-registry-packages"}},"11.0.2":{"name":"@adobe/helix-cli","version":"11.0.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@11.0.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4422ba18ac6848f2c3476fea98cf8b107e69b905","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-11.0.2.tgz","fileCount":76,"integrity":"sha512-/uvxaw07qYNqf6IAIBpT56TBuYkg7MqkyOUYvXwID5P8C4HOzhaIV/ne+i22U80seYQrUoArR32ClBZw0Xo61g==","signatures":[{"sig":"MEYCIQC3eKbQjfoSxEOFsY/gzA8IPE5/6LrOVXgJ4VCFxvJ8HQIhAIjwAJBdSgm4RTrHKavrSoxpx6rW2uiKNQwhhrJBawgc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":486818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBufECRA9TVsSAnZWagAA67AP/jyia6KD8WgoJkFDkkl+\nH+LovS/ma8mLyB5XO7WyuZLOTfWWBYSfv8QmcHEh1DfzC4tlNbVTIMkjoPCt\nMMIwhnrG/gWFBbObH06B8NKoXZumMle/2ssrznKz2cbbX/azqnysZX1E6tly\ncRrIacEIjSYQ9GvyWzSEQ5eHuJIjIpzIDbHrOXRru0LNEumEm+FwZFw3DQq2\na8sHaCqafC5YKK6QgafTeWTBCpafcBF/R80+G7UsfKTZ2ISoniKQWIGyyZjG\n8YC9kqrmbajLvuKfouYGigit2aUyJG9TXUUxmGFNXwW7CBsAJIz7MsRCvCDK\nKd1otp1o54j6PikNiR/2d+2y0qBkVKT64dp1SWgwQIZNgV6jMebSNyNZCXZQ\nKBHgeReuSN2xDY/icmAgHHTRv9M4+Kx4AF9/dB27gmdnYilCx/D8Z4VuUQ5C\neVJUioGugikWWNmSFcl2GaiPHjqxqSWsJp/xgqqlhnmbWfDcvqsOpbNl93uN\ngErChTgc7il51lKQg+/T9dR9wWBky43PJcDIDwltCJGZRQ7N9IWBFk6DRLBZ\nZB7kGUYZtq7Zskse6ecQc5uwPGptoQ0Pww7ot+FOahOpB30g1vEx/GXfoLlO\njtyII+wJTQZj4sop66LZ2i2xYsC6ezaTxpPmL+NarzSLIhrbhclTazbWPuTc\neaeW\r\n=IiQE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"0da39f01497491ab63ad1609d9c5a0fca77b9d77","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.4.0","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.4.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_11.0.2_1594288067448_0.007033377322662737","host":"s3://npm-registry-packages"}},"11.0.3":{"name":"@adobe/helix-cli","version":"11.0.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@11.0.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"40677e249c0aef18402d9f9bdb15b8a23a09ead5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-11.0.3.tgz","fileCount":76,"integrity":"sha512-JNpml10Mg/LNWxhTJwPA27Hwe8Ej5v8bgPpDIAN2F1ubfUlyOrvH51EC37ikx2TU+Cjae1yd3XaAAsbpj8c+8A==","signatures":[{"sig":"MEQCICEFnau6PLSsXESwh83InVxIrO86JAdmzuYfIcxWGbNjAiA0JmI3Bm3+hRPg8emRUyg6+ak5g8l8v46DO3MCJUcn5w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":487140,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfCA69CRA9TVsSAnZWagAAtKMQAKHVbqtd/SnCz10wsGpY\n/voz6v2vIweDBNPekR1oDKE15eDyLodfTXJBo9zrrPgjzRHKCiCb58MC0KE0\nKXSDet15eqIz6ugjxnvIUnHI/GQHLWmO4/SA1zHQV3YbS+jCSvg1ypdu0VG5\n32eD6OjjNth7u9meWCZ1P4RqzsD2eQ64Y30C4IsnXewtnF+OiweUzvm6A+4M\n59jhsFMuuWSZ7FxJOhdrRxR7MoqYqlxkix9Nt3XV06XV8a9lAVpMMQ8btmw9\n5y9MDd6BXIGC8Ywzr9yZM8ljGzWRAPrH9rnS7X94J7FDx8siLZvy6Wy3XWQ6\n7g5ErtWfNWo+cc6a0l5tpWym99HrPv54t2OjSxvpGNjhdwgio83TUmhMOC2W\nzqL3x0XmSp++/bAflq0ErwjfXBpkULXOerXYPvsFpSpK3CkTbzZDWzKLN9tF\n86Le1l3l1V8OhlClwmxFdfC0me4KPxrUWE3SfZJmhHqWgkvocDFAhZJ2iUTP\n/7JZd6P9xjK22ejEXMhktRTb3nQUMVUyPX+J2sfWjWPOv1Qj3wi6TdBcJo/0\nyWivlexeCoxF0i+CsLyXbqAq5Voue+aesgDGja/aKJdDYz1PkOo41Ol2aVIO\ni3dvshhmiDk2PAb0tRnZoy+tPygmOKrQvOR3V4x2hG3eOv1WysDps2aWmRcO\nMIOJ\r\n=COaT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"e70b96f059c095b8d3874902219876dc099ba311","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"4.4.1","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.4.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_11.0.3_1594363580309_0.3686902515226702","host":"s3://npm-registry-packages"}},"12.0.0":{"name":"@adobe/helix-cli","version":"12.0.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"67e9c215226dcf0111b9b51a4303e14a84773272","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.0.tgz","fileCount":76,"integrity":"sha512-zFh/WRoVs6zmTDSzxYaC09/yQPfw38lGzUlktSKPru0rKEzo3g1qOhf42XpmiUEh/kGLIwt+zxQgUVbNIEkllQ==","signatures":[{"sig":"MEUCIQC76t7ONxJ0i6UVOrOAKCyidpcDcTk8OLMITj4vR2GHWwIgEDIR13f0CO/3+/Xg3nW64j/UHfwmRPGReDTd4jWvjQw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":487594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfCFixCRA9TVsSAnZWagAAUXIP/jOH34Xj7Et4FG4zRlen\nApQG3TX/GEgZlRKMo/OKFgTeVdqaF90LjfooARKqPGP6zm06oksuw++Y6svc\njfS/0SnjANhKD1OW/7BkDWXiwzrKYA+8qUDliftmP4K/MxBxbx574XKd3rH0\nRiObvE/Tgk9/VOzZTAzduFJRd1Prt7U3Hz8qybCx6ymWcEPifFLcg+AbzcQ0\noeKAq0jeaznGGIVXV5V4m52OthUvQOJsh2w23M7czCouuTtRqMf4VjLp2MV7\nQqVh8oq3YyyaUudPe9m0DDktSmycS77jj0Qt+lERBA2MYVfhfYMiTqNKgBgM\nvX+XTimSedBNtFEKXyGH60b2ku7V80ZE9gbdXAwjCVnYRrz4YpTqYVpvB5k2\n1fwYjdTSHxLLzaKykB/db6TI3UFxlyV5KeEbI6C0AzGDWVIQ7v+F3Q39p9M4\nAe0lKEdqUG6wbC558vnL5pM2I//2VydVnP8KE3aIV1b0eIKqEUt8zkI0byEP\nJzW6E6oUJseXNN12eXknbss7CxHR2Pa/P8JI8Av5RvThhK3ULZj0xRrG4bx6\nR4BVQEcCc8qQCIXTcvEvAlYq1BwAtyo/8LlAUqQsc9tTVugIuMaZSaXv/vSR\nwLVTzAvIACx8uOCUW1pwfyLjDgdgZhS9lgkRnaCx9qMcdnq6fn7EUlJP8Lob\nEY70\r\n=c7kl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"730162cb6250d10fb5620dae2b7593787cf88bfb","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.0","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"5.0.0","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.2.2","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.4.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.0_1594382512710_0.9167510432358594","host":"s3://npm-registry-packages"}},"12.0.1":{"name":"@adobe/helix-cli","version":"12.0.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2f14278cd24bb9f688c07b3e011cb09b08794864","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.1.tgz","fileCount":76,"integrity":"sha512-bIpCflhax8SrmEbrWMBuE47WcKRIGkxn9nn6oiHPFPXM9sbNsL/sAKW9TSUZfLjU62HoyS0lvS0Sy5xyp2QzYg==","signatures":[{"sig":"MEUCIQC/7IbDfGZoA7RCX7e22XVI8UmKcYXCXIt78UDneQmotgIgCv2P5fqU9AdMFpdqGUwJhRe7wyn4Lc85iUdYvc5qU9M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":487850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfChNPCRA9TVsSAnZWagAAghoQAJJRlCmH6QCbIhq7CQ4h\nx5itDyODcMGmefTJa65irmxn3oa6KjtJXoMWtoEV47myvL4N+aLtEgzIob5A\n9VjsnTvpbaN4LFd2+agmIpkfF/UZglbSW2MBKrDVBaku7CWesg6LTUbmiPLM\n14es+4VIfJPYlWMi4QTAeAVcKrcGaGTj3rCKUkrHv9/s8mjeRYEVIz0RFbY0\neEacvgW53hq1TgeBsgyP+U0f9LQg14IuV/U5AnySQHVCjSncINU1+I8pbIvV\nCsz+cwdGUCL+7P0bqg0frjQ85pqM7aURqrikyJq6DE8sh+aVqh/Aiude/7Fg\nWxZGCW0gjKwZA2TjRk57jntuusP8cQZDCMALaksN583rL10yXuv/CjVRdDXP\nQ3Klj0FAsQJHb6s5OPBbw7Sq5C0yPxF+zTTTsbsub2ktyUBk4GC+bvomTWOn\n0Rj3vCUEoZpGXAkUZ+s6W/FOb0E657XkUzim7ZQ4qWf+LXibIptt6LENSIKv\nIs5uWRc649ec4lbU27Dv+2UwsVjlDtrcKnkxrSIZ2LrYZmnve1k6NdNxQKkd\n3Twy1Jj11SVRHqh9lQYny4HifwIQQetxurtSL2Ijp+5/SfFijftMIIiGwpEC\n7+SI5JfS3vLL9d0aq5OjKqt959qeaxKgHtXX4xqHm24/fkA81hU/ejAwqwdh\nl/pf\r\n=IKFk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"8dd4a9e18d88ff4af48581cf581a93e034468851","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"5.0.0","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.4.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.1_1594495822791_0.7070997065996341","host":"s3://npm-registry-packages"}},"12.0.2":{"name":"@adobe/helix-cli","version":"12.0.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"67b8429deb01c3474a53d5e1a890e07d084dcd51","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.2.tgz","fileCount":76,"integrity":"sha512-X0AF4U+HUw5DtNjoivGoYiVQFJB9M0AQZ6DnsNLKUaF4DdOXdz35pVci3FSsEAETEZoW7I6xOhJ2QkZGPLCEWg==","signatures":[{"sig":"MEUCIB2f8jURixxTIXL+oHo9Z0K2up1P5pkm7BTXixmuPsddAiEA7YenBrttPs40aRghYqV3yvKacPbm1wrXJXaGwNybmB8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":488114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfCuegCRA9TVsSAnZWagAAwFgP/23etgUXcHqQs3yFXSPE\nz+CVPuJgnJSS+aDq2dLC+PFh87C6h8RYVsSLyZUZ0id4szbgiRUIeTYEDI+Y\nTjAKHRtUPsDGMCKrTfRQgeLsHIzX4qxNBBte5oO/UZXo4j2AHdnEvzhb8i8D\n13V1JowFW0857hYIhkCoGKIyEqYjfWyseMXJBFGNxGstgd9k3gjMOtqP6A+w\nP9SDl4HuvnIqf7Xp21wxz36ueFtllMg6I5QfkzlRzGlszN+GaoZ5KrYTJLHZ\n8JRLgWRT9duCsW1XerGfcDDaiRV8WbnoYkigN54kiCxoDi5dnfZYJ9G58rtP\nvRoOMyRtnwYfC7kwXmHVWLprQhuvNvPq6y1mbPMbpSAe2wvQ97+kurCD0KdJ\nGkGXBsGOzHMrMicnWx2EoQVow8Kp/eaDQbw1mavmRXLTDp2ufBa+/0pXAh84\nb3/Wdwu2BZhW5evw306AlMdAwun9Is5UPzJbxBNaq6r89xl6yj3bMH+vVIVO\nwqDj9Eygp6tWZc+/EDNqc+jOXLFjFnQGPv+JaPMjzR6y+xRH6ajGMYmVKMhm\nSNuPceZYvd50QurOfDRGeiEcRfvU7kwc4N1EEXZY+LdDqXlKfPr2xgRbq4O3\n4m4DCOL8b6nc/ZSDsKs2kuezFSg3k1oJowGpqDaIKbGCJSNPZvmhSqtbquOF\nzMdf\r\n=cJx8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"37bad65cb4523c07918a9c150e4109cd6e09c8b5","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"5.0.1","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.4.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.2_1594550175337_0.5024163472270109","host":"s3://npm-registry-packages"}},"12.0.3":{"name":"@adobe/helix-cli","version":"12.0.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"00c64cd09a83fdae5068028d689c8231aaf0d5a3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.3.tgz","fileCount":76,"integrity":"sha512-KRvEr8TQyVAEHN2Mw6ciqbS2c2UsWdaspwPQopcjpqDZRCc7z24ogD9ZECOL66wMMt3m2T3fgC+PXPuUflLjnQ==","signatures":[{"sig":"MEQCIC7YG78zv0Qq41Bmp1RL3GBN2p3Zq5zT9oSCIFEPtz3LAiAp1Ae89eCjWt8OgRmah7GjjrElxFVoQLRAHAjpKHDSMg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":488378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDLWRCRA9TVsSAnZWagAAnJAQAIzl4AuL5nxxsIQOAGzE\ntIhAXDSDzRPamTsKgFwQO+Hu00LAxMs39W3JfQdzyU9pL+QrBQuHl4kIPh3x\nHFrXZYZhIrO8A0d6o/P3eMsPidgpEJsuggBlp3SV3mgTkZ9PHA+hS5B4j1/u\nXLVXG+hDqUhRuiL7uFEzS6PjuoaZKOQvjDpY6vuivprzCSbbBwTshnnHUmNX\n8Z86qyJK6URKihfRsmSKjabaWRF9jVVS566Ln8F2kNBtwMhwLLxiTw24RYlc\nswuagx8//UOXcupGPyuuOhrPt9r13UA/eGAvn9S8gPsmUKOiE0loNpaRmT+/\nY/zZ5Pygi9SbofMfaL9B3FvwG3CKTIWXH9PmP//Oz2yVR2rvMlUMMtkmvWr2\nzpwljZB+HxzyltovnFFYdGkYxsnDhbbtbYNym5YKAERsG+EIQBjh4nGIfilU\n8sqSmMrqzL0Qu3+hxpqR7gTrS8nvJ39bEEVWON29nUWg5+oNlQ2tdOfDuUX4\nv5wFA1Oy0EApk6xg6RCUJllohwItFrI8gig3b34ZglJYsfP3vwsra3slRf4s\n7pvOg41zO6hInPhG1jFx8YGKtINIvDL0HXBnC3n5NqyGAtEl7fDOb7nq4ZL4\nQlEWZqbtvc1cfIeopoBVZjjkWTbvpHTooE5XFE05n0Lj8PyemJX2ugJPKkN5\nPjY7\r\n=f9X+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"b33380be01460fb86e84adf98cbfc0723922e5f8","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"5.0.2","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.4.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.3_1594668432744_0.935268443253563","host":"s3://npm-registry-packages"}},"12.0.4":{"name":"@adobe/helix-cli","version":"12.0.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"56c44c3cb0730bf716a3f06dec5ba49fa2ad8de6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.4.tgz","fileCount":76,"integrity":"sha512-oE+P5OibuEbkll5aF3nwd7cZUcuu0cvTdD/TfwHlxqKoN6wWfjBzpTdYG2j3/eM1Or2IrmT0YJ5G8Owdu/Kdeg==","signatures":[{"sig":"MEUCIQC48kFLfrYTeA5OsWLLh0sGNqibnw3UecXXJf+jylyQKAIgH25H5Y5jgR3jWz7Z+UpOkCDSzHFopzN2Y+8P+zs2ZPo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":488639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEAAUCRA9TVsSAnZWagAALBoP/1PGCBk7w8yBvqjGOB3W\n3CNLXDAm/vhaTwKhR2445y5omXRAngkC/sq3rmzyWBuI2OsHQvQF5ef3uWgi\nXY1n5Fr8LV27QcfxB4i6rG//nOTENgU8O0GwlG+mUefscDFmUFhhJ40WXxzb\n92iWnskRny19zjmNTqqzFGFNXuZkFIrvYkc07ZLpTtaLvuVjFcbTnpyL6MoL\nGhQVZTT20OevzjbKGk/Pyp4KY+iIIo+sEaUWvGcqYk0SuhtxT/zJmVhSsQrj\nbFxP3cQzCv9Vwew/B7uNnDMBcO+QaVHl/VI/6M+tC2gMrb7JW/8+kwD3xa26\nq9pA/DKqKlgcdhDIqrCnzUZLxnDcWebYAf3SfKA/dRq5D1AdLLn20FgbZ4Cj\n/V+dBVGdfn451No7gjRBINTJDF9ukbmQzjyOiUu/H8apiSX9BpvVj/wxKO06\nrU+IZGhpfRodpUDEgJ/4LfCoJuBpVIN8hDguln70+42GReEWZxLDsOvGS/GS\nECWwD1pQ8XzLx+MxZ3y5hHvpe0BsPAeeldaTcTZkK+MFVt1oqW8lYOKePQPR\nslMzXeO9Z/OXHYm7XkYKVIwRqQxdTRgxS6gVsjbyS0eevbTON7i7tWsW3UeA\n5c/NGfk2dWuUjM9bgQodXpCLQb4D4T8fWmkzYZXT5rUqw7w9uIasXtW5S1uh\nut3Y\r\n=Jx2m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"63c0552dda2091478bca23aa4f63b503953ff59f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"5.0.2","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.4.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.4_1594884115552_0.8861709102466098","host":"s3://npm-registry-packages"}},"12.0.5":{"name":"@adobe/helix-cli","version":"12.0.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"5d8f48948b92cb363b479708fed3585e60033886","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.5.tgz","fileCount":76,"integrity":"sha512-AkMHbbESKPinU+ES+49Goyw6+Et3CPLyrFBjXsbrI/f32CVeXidDxB/gyHW8RCeMCUukfDFMhY1/7BTTosHl3Q==","signatures":[{"sig":"MEYCIQDj6S4fW7g0fIhKjhSzgnZ3X3yZj0XqZ8+Sd+yduWRQwwIhAMa8xuKUZjQWBwOAiC2DTVrkan26yaGuzH9hBG3ucfZ+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":488958,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEBTECRA9TVsSAnZWagAAsiQP/RQpPfa7bd3+cFHhJImO\novs9hphqvZisCD6LfiC1ENfJpA0qbNmxVLG7lP/rWXSdOJC8GGql9ofZtBFl\nqJcuJl+3F7nPSd00GyIiMXsfTWXTT9moOzw+3ZNolt1831VmOPmNcMSJtyMa\naaZctw6sRHTeqntvYEE+upIVjqSvBQkbjpqqpdMNKnOymLx7TgiEbzPA/WhH\n9TNjTxqCXBdaHulDW2hHGYhSrzuMvqQmJGbR6oGZCL54D045XQThAR17+5Ud\nNMBMWIHchawX1163XNji9evk9o/9sHgkYBH8XcUFf5t84QsZZ5UCEPkZmtrF\nF5ggK4j/gVxUMlEt+ysKnC5TmclQHoF2mcBOVbBfy5L8oO0lLXYn4fIYGVIu\n8LNQ0ssbVoXQSOU5TowVIzM3jXVOIkcJgdVRhyc/ubO+DnFrJEWryR8Cdr87\nExwuv3kcz+lA7+eSU/Pdkx3PtHDRman2Cy3qDqf4wnovBjLrzQ+1BHcNQHDA\nJh1WeBZJeLPmv/q8ZQQ9y6mxOU1aTzvJHFFGOPRKQWLYzaVW4njqEaQQgvWO\n8RPbd8cgj608O3BRGhEIh444chXZTh5USmoXIHVNpNZXxWFK6QfzlqXkJYCM\nggMFQcO72anhG2ZC/dDklJEoabLVNOcc//D/X5aj8JvwfOEiUM0FnZfhx7/E\nqwzu\r\n=pLp8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"7e7427f3fdba5f64d486ed17beb7fd556d9c234e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.1","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.1","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.0.0","@adobe/helix-simulator":"5.0.3","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.4.0","ghooks":"2.0.4","codecov":"3.7.0","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.5_1594889412379_0.06359282292070745","host":"s3://npm-registry-packages"}},"12.0.6":{"name":"@adobe/helix-cli","version":"12.0.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"c9c7aac54da4b7d1f71ca4b6a26708af3c26619e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.6.tgz","fileCount":76,"integrity":"sha512-89qRG8nWPNpfd8/ObivJdVz5nTFFq6vNQdGm4z0/2yKsWK7ISmq1uDfWilSwFprEwY2i4PolwaJQOcTj1PINTg==","signatures":[{"sig":"MEYCIQD9j+q3bgpMV9VckJ2EZkoTumym+HW8j2YvicM5U3NlYwIhAI3FU0+/vNnRo3dEupll5uHFhsHkRmaBuFcgL1ZOE5g2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":489222,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEww+CRA9TVsSAnZWagAAKGQP/i3Tw/FEbtTnIZ7QXRRg\n+eYVUSPcPX9FeO0OfQyk0sSN/1fBLfCvbitdJA7UDnjjKcW8YskpJd3dXVuA\n3rd1LNbLoE1ddtAjBe/9cT64VtprzB/duDGSEJ/MYMllYs/XvuTpzbI/dWLA\ngpG5oty0/SfCW/mvfjQZcXlLiKFZhdhFXxAWiwPmctceyCie/0ABzQ4TrQDk\nlZyEnQ4NSN+j65xDH7ASKp8iktUwS6rZqkdFz5b42iBdyeqTGDOWSRgbJnoi\niD1iVLP4248fD6X7niqFXqAT1Zo3+r2GOOgeWkibVFhUogrno3/3tn+g+vTx\n3cN08+Af/G5QCCrjOyhFg8TS2IBMeNSasfljoMZfqXIXAbe3eaAyQoCkxqnU\nBtOJRjkFSyad+gQlBRgeC6o7hJU9LYE7aYb8XXMLktKKx9TI8pMIJqEB4Leu\nxe7BcUBJfOyQloe+Z8nKC2ZgnshCHGAvGhKCiNTuADeoM964xsaWbK66RiL6\nhbc8gICwhQGFy4gVQEaGcLbyj7set3yF5OXdCg0gD11Ts4lFVvWJgz3YECER\ndC+FcZ0bqGVNCnkwYDOa8+ZS4kNIQzKsrfVRnWcaGInPwGzVUMA6bBXgu/+o\nz943zVnTiJKnU6/3Z2jvNtA9x7lZd5HKrhbpPcPurAPFEa6SuW4C5m8mU0ym\nrz8A\r\n=wGuk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"20f4be27bdb5c747a56952407e276b5e4dd83437","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.3","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.1","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.4","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.4.0","ghooks":"2.0.4","codecov":"3.7.1","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.6_1595083837393_0.2719897506926394","host":"s3://npm-registry-packages"}},"12.0.7":{"name":"@adobe/helix-cli","version":"12.0.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"dd7013f4ac75fd908e725d963fc23a2ad2099839","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.7.tgz","fileCount":76,"integrity":"sha512-SNIP8Qebb8K+rXqzFOqVGdKVR831HsnAoCfAuu2RdYxaWTnVzhEZ71HIdLP6xDF2lHi3YldM96Hyw/UeU4o0mQ==","signatures":[{"sig":"MEUCIQDwenWq45+6566NnRKIwhPORd+Q32oABLBSwjw/Rdp36AIgPK9NjFef5NjKpdWRk85igjM55GVwCs3rgIMdVOxPgYc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":489486,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFcWmCRA9TVsSAnZWagAAq7gP/3OheQhbz17zuNDF9PZ2\nyktaqEA9ib4AWbsZtxEOwBruv9Qfb5lOEIXV2AKf1ypst51ZzKLbIK4uWyZN\nNHGdpb4bPf5UIy7U2SnraOqaWTg92w9q41PSs1cKjQhgboeF7OUx2AfeQm+p\njqw+UcWPNQsPfl0UEUO2ZNgOka9JFqrOjskPsOJqa6mLyjmQWBqq/DZg9eq3\n6SOYcvqHPYr1o+F6Qj/AW9tqj1ydorqgfJ+gCIl0wr+2KiBRzD6+CGB7srnB\nRS6WfuvJyyFIn5fP/5sw/2CYR3gkLv9rLr4KHCwqbjw8Sv8kYsPghMtnsQA9\n2tWfkWBymRG8Asjl5OKJwf2M2GoTSjkn/2FZFMpVlCaWtWdvH7ao+3wrgzm2\n9cy52rRTV02wQCtvoMr7aAwM+iwCsDmu4ZjwHucYAn0IzsJu50+bpoM5ClX5\naR2J5DG+n0j2rR06iIIaO631LSHK8gBNBvlZYHg6JLjkRjBR7szfHoMWNCrO\nRbyKn5vKDwRVbpvw6Sfu5zO20NH3Ply8W6jEYNGjDvofeF4hIVnCP2d6pKab\ntIhhJNdeGooxka2eSJYO0nYXPZzV9TGX8FvWOFKYFO2Ra48t+oWxkED2AwLy\nNL/sqiFoT5iPaezARDMLvJyTgX9E/gkAOTXFCnq9jRhzBDT1/EoHR+b2cX49\nE4YO\r\n=yLqS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"2137613182511ec765390dfd0d11202d22862a5d","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.3","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.1","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.5","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.5.0","ghooks":"2.0.4","codecov":"3.7.1","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.7_1595262374071_0.9591536658081667","host":"s3://npm-registry-packages"}},"12.0.8":{"name":"@adobe/helix-cli","version":"12.0.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2a333f9b61c331b70f839be82d1f3c1f645871d9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.8.tgz","fileCount":76,"integrity":"sha512-wFT5tF5Q88uogq7Ile1H5AehNwioNGE9h+96lwm0hDQ4V0HK+YCMa/I0J6qDJ7QxclAYBXjn8ds9USc/tVL3eA==","signatures":[{"sig":"MEQCIGJHkSkE2YKOavrYn8mSl48WMsEQjVTtmaYn+dWf+d/bAiAj2URvuu5fPWHA7IGLjSCM6X9xu/viW+Tp3mkLXhvxTw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":489750,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFiYCCRA9TVsSAnZWagAAUlsP/2inss30F08nBFsr0Lyo\nmk0kXpzYaKAyo+pR09foPtWZjBmUOyRrHxO5B6V1z+JV+VLA9ogm1WQl4HbT\nvpiYGwCPjWOQsz0VXdKs6htdiZcii4xoMZROpu3ilXQqRcnQSjascYujWfk1\nb6Fn+xavMYmL2zD5sZvWFxaO0j4ycfftCgKUgs1HaBmLZTqDbTh4PhL1d5oy\nMV/tJEsEB5rAoQDmsNBS1VlF7Eb4ADsC3IO8GcP5J6+/wEBoZX7gALAbFZ0u\ntmSvU7IvtFyoWsfUbw4SJRaJ1zN4tkNakTdWMzYNT9rLkUiRICeEUDO0eKuG\nih1PpP84UyNRtyY5POJKR1R7VuH09U5swOlZ6HKGvQbZO62p4yq3nlku9HON\nI9+aLX8zXxBVQjIiFu3ld5cIUGNf59AKNsOYPCKtAHyNW6CxtUWM7MGt3J1M\nYWEQskuAD7avT4E3gsFsxlZV4uMpxCJyJ9+Eqq5NOEreWnR9tuJPjOSuDlce\n/feUETy5NcO+8QizcEmqvCOTvVUX6WaRAkeuZEuPAdoU0Ij9B5U/0gDrskTM\nFpfS+KJ/p/b27EBJsTKP/ytlaJt5WhyBIrEweSu5h26HOMCJ/RS3rv6HnKnf\niDfgtpc6NN5SGiubADoes08b/EzacYsGi6Mi606IlvNy/haYyzpUoX1HLCRy\neLUV\r\n=blAx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"755db6d55919dbb17c84f30ec2d945477b85ab8c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.3","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.1","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.9.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.6","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.5.0","ghooks":"2.0.4","codecov":"3.7.1","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.8_1595287041368_0.5422020339304605","host":"s3://npm-registry-packages"}},"12.0.9":{"name":"@adobe/helix-cli","version":"12.0.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.9","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b90b802df30c1b172dcf112118e2d8085a140231","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.9.tgz","fileCount":76,"integrity":"sha512-1v8bFun050fm2svSoXvTlQ6Hx3rsOUPcFTh6K/i1A2Yu7U+Z7tPbGjIUocILNde6g6bHAFLBNLSjzW5ooz9Nfg==","signatures":[{"sig":"MEUCIQDAGu9lSGF6JKEKyMeQ39btd+3zt3mmkYXSGlpY2R5gdQIgXnzT+yVPXtqx0kQg/vcAEsxPYQd2uiYT/sNt1wwVHBs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":490070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFrCxCRA9TVsSAnZWagAARAkP/A0HyM51jBcmR6Hv6H9v\ng0DmwWCw8wwNNNq9SfBwRTIqUaCEqhrSE/Zh9XvfLNAZl2kjMNG/+EHgpJPT\nQe3s9fhQ4sZGCSkIG8i8DQxUp2gej9Pvk15aijG+Jmkv6oe2OIp5K0evlfQm\n1P3LJVnwrAuhGYd9vMv8qQcy2zMkv2/hBO0EYxN0R26SMrFR6JCOlIIgOmYs\nQscWKdT3ELhZEhpsueSrh89edhkrmV1ruN8hdviS/jfYFm/Qtz/OLDPNlPLH\nyklYQ//cASJehWwSjrJC56PoFapR45Hmd/b9IUSBmayfYhkZ/6ze5P436XyF\nl1k9mPvqsXal2JZySApo0HgRXR1YFkhwcpqXV7Yx9mNsMCYyRDpiqG/TIrCv\n+c486lb1G+RO1QVRZaUPqc+L+L0DfP9TLESKyw9JIR2hkeyghRl83I0/UQyU\n33ZTAHgd7GTpk+V3ezMgfyrJwhx4aMyRaZeMBcVmp0Ac6sHPftktV4LsSjXJ\nosBYxLmIWXBtnTbCTrYNfARt04Je5TNWFb6CCXELzrzas2lHVEmS6BKAcX6O\nQGOyjygibYmoNL1hHh8E47TFMnFZeI4Q+I95F4l/moZUWe2GwJ0f9C9x8WLk\n79QAkRMoGN1hF83XezdNHUY/GqxqoJL7l9UN2xXqflP7tp0eptf+a944zuTh\nOk+d\r\n=/UH8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"9650f19f3897293f0830fdcbb6531322f42b39b0","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.3","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.1","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.7","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.5.0","ghooks":"2.0.4","codecov":"3.7.1","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.9_1595322545311_0.5526182928455383","host":"s3://npm-registry-packages"}},"12.0.10":{"name":"@adobe/helix-cli","version":"12.0.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.10","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"33f23172b083b29e2b8ff75cbd859d9d331fff92","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.10.tgz","fileCount":76,"integrity":"sha512-gVhhaV4/yJNcigJK6fncNPa4xw06d5pzYZOMpUwTYuXmvu2mMKmPFJD3A9j7BklfmHSvK/5aFVCZaGSgz0jDdg==","signatures":[{"sig":"MEQCIAKq0TFfJizq+gaIdHxKy2xWYtmERh6uadlWlv9Z/pNjAiANIs0ur/4Gq46IGUJ7dMFsZf3umz2b2N/kbvAVmg+ngQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":490395,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFr8qCRA9TVsSAnZWagAALCgP/14W5ukag6U3on8+jldr\n/DeaDCA4G5QjbZLSCvi+oMLj6q595ZdLrswHKfSeQqBDxpgDW+QqJ83pxpvP\nrB7+eHOP+ZPzo820cDdDt43ZbDBpF3eDa87AOia03WOFWORgeMCNDKZ+8lrF\nmSrFhveg1ZH43njMhyGDWAqSDKqkV9A8j4XldDuMiOzVVO1GBmkl7A8ui8NU\nZ+CGrJf6sRgtIULcCddI8ryK1OHhrSlC/AZiT2/qjB+KFL24142/x6bcv4jd\nmQ2hOpv9uZJAqORgiYIK3JhD8vKL1nAn30dkk4l0WeBsC7BtcHGisWKesVR4\nzel0zu3ps9W7/BHUeWkKZKf94AMJ6GouPIE2irmVevzqLt389N5nRdMivjl9\nbeXT++FNGFpdS6XdZBcSb+60ktI/ejBBZEOuBu69LRGos30SW7ZM7SIY9iWa\nonvz/qcz2HulYitXy/PyNZ7LJfXdGxuwtL4Nq8/LAaJlBm+lJvtplswmdI59\nTI0AxvSW1YTMRFjx8yBBxZMLhnkvK5EP48dpDY5MIMpZNnYnkYEavrgZKQO1\n+Pi392n/dVHjNQrl8mU5eXwPg7iNzY3EXYCK5ezEE/kMNh2dKhOKhlbLYz9S\nZxN0+3+YE1QBeXEjj8zb6ue1oXh7HV+EcuG6wW4VQAgsJ+KxgIEYX+4ZuCC3\nMnfw\r\n=JOCq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"b7f3b4dc8edb396c0586363c42d07c7b88fae6d6","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.3","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.1","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.5.0","ghooks":"2.0.4","codecov":"3.7.1","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.10_1595326249986_0.8377947858649599","host":"s3://npm-registry-packages"}},"12.0.11":{"name":"@adobe/helix-cli","version":"12.0.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.11","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1b4888a8c18349ec321baf4fdef599706b6bf7aa","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.11.tgz","fileCount":76,"integrity":"sha512-hM/QJK3pfOrwe9/tyO/+rnnshzKffTUw0MIygGhr4WGTuAjTZnTDgocyFgZHTFTh8hX4Pdmc2Nb9WDC3j9+/5g==","signatures":[{"sig":"MEQCICcjMVLWiGlhAyPwJtCpNYsByqXBl2nIJLdBR8hB+tASAiB5vpomDoCnO3JtVXgdNMn1FrJ0B/YJ66P1leY2DUMPRw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":490656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfF8uqCRA9TVsSAnZWagAAyggP/3payzGdxJkkaH88DBVH\nWLGs2ccDeGKZqUXt0azLP1PcrUanIAU1bi/YLBtBPwLE29Av2SFgoS/O4YZj\n1xhww86ZFzQBvC9V/ynZdkGQUuPXylJreQbfzv5JIteRHTqmyNH6XWCXvlmF\njEhVtUXjwqebX7Fp+icbRH3L4+saZRRvWjPK7Fr8cm3KyLNUvHIUjT17eCnB\nXYZPGezy9eEKGpHPGIPhujt5xA27wP8hciUPXSRRXdIzbhR7qbO5B1j6szqC\nwDFB0Y+Zmqv59gfQq01gwZxWxPa4sGf1UfQraD0Td7F36a//Gt9MYY1CLi5+\nScu1MBaT9m5dyc3L8KRp5c7mZwZVAR3OKJB2UTW698esX7x2h3KRktodb3+j\nLkBVRyx/J102h6+bxA6NaRDhbZXUbupiCxGQI7s6VCjjSZmn/j6QbppC669A\nyjzGt7fd5n280zTY5e1nOj1wKzxLg+Hv9+o7CCLDV9+iWyYh5BkSm27qdFzJ\nV1Vz65BJI4rQZ8tdH+krXK8ZXifmSvAWjz2dd0UFbL+G3c5OW0H+YtMGQ50N\noFdW5VL5ZIpSuuTpHLCxyn1jy2N4tvIsdpGJOorTIiuv1FDamUoHOGT+7mb/\nhiKEPI3+RK2t4vUyk446ZVLT/lsEXYo6zIby3SE0QCpiB/g3pd5kjDaTjCot\nkZUw\r\n=x4Ny\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"4e3107b2103bcc30eeb6553f862c5f594a6b53ba","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.3","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.2","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.5.0","ghooks":"2.0.4","codecov":"3.7.1","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.11_1595394986052_0.4432566914762752","host":"s3://npm-registry-packages"}},"12.0.12":{"name":"@adobe/helix-cli","version":"12.0.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.12","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6833f0e9d06009d5ec5a3121685799da3938ed1c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.12.tgz","fileCount":76,"integrity":"sha512-1aKlqcfJspdHpSdRWc9ywauwpwE9FiC7ZPcBme8LsaDNI4QxQPg65hacAB3UJ1ngiHYotjax5XDOqqEV61d7Dw==","signatures":[{"sig":"MEUCIGP1ADT5Xgctn+BRVo9r9bkCFCIn+p6pgFymV+J0PWbjAiEAxkuw/K1AsPDCw3mm45g/ZUTGkB9cL6RpR56bCu68xBM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":490923,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGJxgCRA9TVsSAnZWagAAc8kQAJOM3EC2Wf5nVOtuXBCE\nSQBlVg3h8iTlN6O/xIccH3m551eCmg2NU4wMlUBGVSDqnRKONj7c/Nm8aq5Q\nFhacfJXjv3NOerlOkI2qH8uXaaH8qRjuJMbeO5n0R2d5/HYavCHoOQO7z4a1\nd9A+KtkKLRCf7a5+GiSrAytQ4TR7Pjt/FK6CD3ZAseD2H22VSoIxKFh5314O\nwA8ySlvT/OZJ0/p40TtHdB1CAIz0zCIdnnMktU0DhgnqPS/CN0VrfoFUNyYA\nRmRuEutg1wDD87U+ffk9SjimnqRjQETCj4bS5OLj05V4MjG3Br+lb4PEuXjz\nCAFhirjjFBB5ZibOGIb0L4RDriW0/ezhHskFhH3hdl7Bq1XwYNMMot/7aEci\nVfY/qe2vzAie8ZncAingJq2XiCieWToxRv90mTTKtT6kVCBakouqAa4EAVCW\nnToZFuBKESfV4YPk8weiI0jXlHPP7CY6U/uGxTyPoxJkJssJzwySYqyGz3Tf\nSyZGWmXzV6zZ3ZENxBo8+HQDRbOIgHLcAvfo5fTKamFWKzaRS67vTd2fvFa9\nmUHCS7FwTMCCxAbg3ckoTqyEGyKFvbYy3qlbwwr5AHY2Dhtqx43FRCCcqYnz\nx96fwTpX2PXMowpo8NBUJVKJCNkWuu7FQ733xeksJ3jf157oVRrVdF2OHDsA\nzjfr\r\n=ygYi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"82018217035eca5fcaac3de0fd7d589a46f8f494","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.21.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.3","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.2","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.9","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.5.0","ghooks":"2.0.4","codecov":"3.7.1","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.12_1595448416178_0.14613133572619752","host":"s3://npm-registry-packages"}},"12.0.13":{"name":"@adobe/helix-cli","version":"12.0.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.13","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b42da3fc83d7ca4968fd573eabb6700ccf3ae233","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.13.tgz","fileCount":76,"integrity":"sha512-yZbWODmwhAUDWvrf1RvvA09ij4H4tcYo25LKjH5oG0Q6lbBU7ltr3k8yd1PCHuxfx52Q94iCgRXdThHt9yjy7A==","signatures":[{"sig":"MEUCIQDpVC8rbw62q/osmTlZ5bQ0rPwQfl9L3kjiYP9RKqVrAAIgUisMcyqECQCMBG30mOYLmfHku/9VHpeOhqKt0PGLqGA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":491192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGeaWCRA9TVsSAnZWagAAgg0P/2iE8rwgks8Xmj4NsNTH\nzuCSU/97+b9TiqfSxikEafUCneYATJe6WzZnJMDo3fbyGblqOWC5PYTC8JCN\nzOALdQXW8al3RxZbMc8MHVQgdVWtM8QR5DCyi6QclGB05V3lru9BtRf/2Fup\ntqeBN2viMWG8chIAhaJVPhl38+3LJrRIZMyhQnVdDZnL24USDBte4drXaSmW\nHdOXnWdVsN2fnYvgnd6kAKfLKygeshhDLzLD/bnDN8ZHF8M6wQcVqg/gdi8G\nk+AUI78hnXLaWi1tCkKAxpGhvvkF0lOb/bRKOb4mu+rZeMHlBfx4Gf+o3xH4\nHiqmfEoVOfYuVAfFGbkPDA3vQdsVr38donvIsJVJKyxYZq/sE0GYYW/maLcl\nYQkQCPaVvhGh0307X5Ev5ZvaPhAvuukrY72K37TCI+T8VnJuBQ1X3liLNf1M\n9u0K/Bbl3gMN78zPW0ifB48dnItgzCmKXcc/mRi7tUlZSphXRrES0X+uDIlw\nCZZOi3NOwz67Z2o2fE3+td9N0oRZVz8FnqetXZJ4r4w1sYituuHklI0uSGVo\ngzcAJOJ2d3dOBm00uTOkvkkudMx/0ems3p14/XinLpTC1EYj67ax1T0stgAV\nTpKg7tO518wPxEx26fWXO/FeHEGOPL7tf37GnMCL0jAe40COMqF8dLh3XdiK\nAPku\r\n=H124\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"b0ed0b131f32eb77bccc78344afd8e8e565e7b45","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.43.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.3","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.2","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.10","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.5.0","ghooks":"2.0.4","codecov":"3.7.1","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.13_1595532949860_0.5092656741440886","host":"s3://npm-registry-packages"}},"12.0.14":{"name":"@adobe/helix-cli","version":"12.0.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.14","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"96822af55ba78d802c69591dbf8117bd4a7f4db3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.14.tgz","fileCount":76,"integrity":"sha512-z1UPNKYjvaBQ+MJluwR1NH1kq2yEwiy3sTkva+IoyzFlOOfZjmS139UMiaALYXTcxwnRBQ0QoQUMRig2YyphHQ==","signatures":[{"sig":"MEYCIQDkNFA7M4I72vOVy8kghUGlvHRS7WrbtmmPlhhA3GyyegIhAMBwYAbDbjfE0OtJ2k3+Isv44ebaxu7NLczr27VAtV0I","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":491460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHElHCRA9TVsSAnZWagAAAF8P/1Owifx8ukLDlqC6fett\nGFGmTe/P4ecOEvLnXX8e5ganLHg8kbqYud8DmJlW2Q4Zuoon4/6Y+JqqrsT2\nznYCvd/a1D+sIg3chH5wlVW1o8hRs6zpTkWvJ35bGBWGVlFUejLhFe6fx++a\nay+77UArCsncyx6fzjHzTmAVXXSjKSuCb6f1khntCA4eoI2SHCO18rg+bUN9\n4tKPWK5pvkDC5iBxd+mKa0bkKeHzXz6xjqcDb94sBSc20szgfxaDGs20C/RM\nBYqUl/AfR5J+Oz1tf4NTXLMuks8pUCJk8rojYMA98YbExz8RMA7hqDv+pPCg\npnEtCcglI90rK9vt334zDsUTpzvTpLQfh/WVug6lOqVRTRStAn3v47DsqMVn\nFtf4HdyjQpM/Tw/jkCHdKI8kcfaee+niKG96lTe8ThKtzS5tV8DiRwEMfS4G\nvnnCKAbEGLfUWAm9yMz/Jg4Bxig66qsKjicyIyfnnQDh4W8zASQNOKMj+s7G\nbIeHNNDgteGG266W5v1t3yh9xT4NAKCVvudNUMnMXRkWuqx05JAfkUh7drag\n4nu4Q9mWW6O9G8C5KwpnTy3Xd0mquI7+9u8n09x6ZSfD2EuAD1TVV62ebzFE\neIWlrRoENUsP+f5T8XROxUV6m64XRAMmW6N5Aln9rTiAGmkz+GuwKcFfLFSD\nsW80\r\n=3oda\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"5e57b73d5a151b2d1c8f576a0fd9908bb87c8cdd","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.2","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.11","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.5.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.14_1595689287111_0.35555779029997847","host":"s3://npm-registry-packages"}},"12.0.15":{"name":"@adobe/helix-cli","version":"12.0.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.15","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"263fe54296162297a9a50dec8a4883a5d6e8d54d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.15.tgz","fileCount":76,"integrity":"sha512-kEsjvBx75UALF445Pxnh5spy7KcFl7VMMEDsOk9/6rxpbnCAl7U6sjJp2hw/2GpEhLtGQohcG4+V11hWcZ3Lxw==","signatures":[{"sig":"MEYCIQC/BJHzX3dj/7G/2KnBnHA5CEJqshIApZFMJYD7jz80SwIhAJB7o6ysRU5r1tYDZvFLCwGAp61x4I3wXwEa1LRl6euL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":491728,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHvJiCRA9TVsSAnZWagAAiFoP/2CFIOhk33Wjnyc6m60z\nNR4MXgs4ESQQysCfe5vp4lKw/WQsu1nP9vNESB+4PlfWQO4CE30C0pM+7/9F\n0nJUx7KtoLMkGEd5JEeaHBCAiUyNapTC3DZ3JvTGSA6Hqe8llN3XgaEFDYlc\nv4L8+jYnMPJZpETK10ToaOBmdwqkPv0730M8+rAbh7gMm3tPDHbSm5cxF1PY\nZBtNVGtnwkIMhx7AV5x7wEdsmWh9Nl0s5hqU28C+NM1q1QEIhwMdG2w7MpZq\nuBRZx99BnHNGKll2VTsl1gTJNx+dGiXbdzs2ZvmB3WeHTDCZ9jPkzqrrCDGC\nEFIx/GAK6yc+8PbxgCOsKqictkMhYHMn+wj8FNFwNnd4tjThdRyLjDgX0ysq\nWoFdNCy4c28zXF/vfhwVGYrwnDyy4sEuP/hu1hbWrKLLiH/W1inulaTbPwGf\nk0sJvuWHkyzpOoP8p6G6+bUE4MLdZtm/JkHIBmRtJKyYfsv0k+cNENwfmKT+\nCekor1SGS0nBhG7q3TzYpd0gVquXvGRJeBZ3w9WT4rMWxnVOyl3ZLyc7pTU7\nWYjkNVV4ByIPNdZHAyelVEptiUXOwakmqr3aJbI7yub8t9ePVbtQItS39u8e\ndIPF7m0LBvyp8acK8qekkXqrIQJdbw9sw+TKfLqVXgCQ9uvNQTf8k63YIQKD\nX5ga\r\n=QJh2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"cc2c58988097ca20655b26a78e83c01d6189cfb8","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.0","archiver":"^4.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.2","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.12","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.5.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.15_1595863650227_0.5599667870708274","host":"s3://npm-registry-packages"}},"12.0.16":{"name":"@adobe/helix-cli","version":"12.0.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.16","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a1e69e3ca4c106de5cf48605d9f8cfd105f82d52","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.16.tgz","fileCount":76,"integrity":"sha512-rpi8xzHUZwT/Jdu0GSgk0/N7b+aTSsZoRCnKw2Yy0GwMLvKi81AoRqoOGN4t4E7O4I7qlkW3E4P+dIQ6lQvilg==","signatures":[{"sig":"MEUCIANtYMMKE75uUFvZ48+zQIch1GpamsTCuZE21BKiccc6AiEAwO/Q/wR3CNbV4PWK62soXlunXv87qyWmq0EhAX1vvi8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":492035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfH4SoCRA9TVsSAnZWagAADKkQAKMPxMX0JJz1d2QtzL9Z\nfaXDXNWNyTwyONNumgG1THaGFRbDDV/h4y6ituiSPkVb1sD/n0o5QA6vdGjc\n/DDAgpuPbDlsCuvjr5dbfCYfqiDJSawm5DXiiflGa2wBPDyp9fQ2LTjutbyJ\n6qit5SNZPLRe3ovs9/LDPYfpr85xplPik5EJDefuEI7F+fSb0bP/ie6ZDsKo\nKECF+CD3XEY5L1qim8YuCUo7gr7hNGOzwPnksttOJFOn/7jjunQh+rWaSucD\n51CPXeNMZbZ4f0mfElrPbt4/ZYTWBiLqrdzhXUpeFsEpwx8Mq5H76pFphY0g\nNbxwHHsFY302UclVRBL7ywIJMMb4BR9evTeUBMkXvbZcvzs8NdJk3CyFEnAY\nKWpxg2ps8Uq1DH05Etapcc4B5fSdO9HitT8pU/hoRytIeW/APb/QIPIJhdzS\nIxFpqhEJx0bJwKuoT2B2WJntcqZdDPtCS5XJF5ccZa4fA2Gx0s1JwGnjF1AT\nU8y6FpW/qiJhMPwDtePGrf5TnO/v8220BwjNiWgfy3RopVHJlSYA6vVZgiWj\nCxN3xwCFaEUXClWQUBOd7cdizYqIbO3ZNNqAA+NANmOOuwXXAVDLho0+JV0s\nANjl3BFb7fDPruXWsJf+cYgqLAhmVoXuPTWdaffIEs8SowZOui+LoJ7dMF+c\nIjFk\r\n=x3OI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"aa9b7ec8dc6f755b36d8b9c8262220f438763e0c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.0","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"4.6.2","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.12","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.5.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.16_1595901095379_0.43155191538723625","host":"s3://npm-registry-packages"}},"12.0.17":{"name":"@adobe/helix-cli","version":"12.0.17","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.17","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3df73ea68e4817daf9b1026b141597c5e1b42d71","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.17.tgz","fileCount":76,"integrity":"sha512-47dRQDgPMeCidhV9B/dFxdLPQSrnh+qTMJFNaSKAn1hZaye2sHdSdV7IndE5cfwMalIE9m6X7OvED3nox2ANag==","signatures":[{"sig":"MEYCIQDgm7Zf5rEJj/6jx5kMxaUQMjDC+k7TL8ZfPpFbftdSzAIhAJ6JO3nx3Cr0dkdF1eqLIu7n0p3KmGsfEOBXHFzlhA9J","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":492350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfITiLCRA9TVsSAnZWagAAu/4P/jTzeV2TMMO7f17mFgG0\nSM9OP6ClKYh/MJMKBRNqRlg2s6+cuZhTnCpRHRhqCrkqgmrkCaZzK5UCt01p\nup1XYgFaSFSW2mrIYUVgS8ynnyODi9vT8R98UXbSKJelN5jD9+8evaTvwrQl\nLi2prW/U8n2y2tMtjEE1cvxYUNeCe6gBq10DUjs+nGeuaz11hsHRFFCTVCqg\n4I9atWhzeyjFwi0D6DkzysBRi8FAcu41xe8Jk9KoMrqo/S/JHpGTquR3bMu5\n1leRm8Eubolw0yxHUW5F8B+EjcG7LOmNDX5jG+VzsCxynYRxsDTw+H969iUP\nu/+mmN0kZAQKRIcOISaaEeQM5Hb77e3WW9pakM40hmNJ8AuYkETESk8Ef9aN\njb9gmHhFGGFWpzjQOJycURdK56yIKfp1M+9RyZSIP4RuTwEj8adXJWCaLg8S\n8Tjm54Y4e9l8cWPNtJxvuEfmrZBmCUm3VXp7qOkl/K88Fg+xE89ysRleLCET\nfm+y3SYdyoWNS/yN/Yz7AP66pl7d1UtFK6mkbLfQ7X8KYeEqJ2mVo2cjQrv9\nh3V2W00XudoQ1I2gep3eoklWw6IhwolAqBlpymfQYkyMSGeXJOevuaPvmYT6\nxg3wwmLzARexhoxsvzLpiXd9Mzc8bsuIYaoQl8nEgSVbj928YPYBWb9cdMxL\nhp29\r\n=+ZNm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"0930ece05758fa1f41df343c480be39ae88bfaa8","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.0","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"5.0.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.12","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.2","jsdom":"16.3.0","mocha":"8.0.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.5.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.17_1596012683327_0.6912180864077111","host":"s3://npm-registry-packages"}},"12.0.18":{"name":"@adobe/helix-cli","version":"12.0.18","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.18","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3613bb8402b1f52e4672e79a72037f400afa9356","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.18.tgz","fileCount":76,"integrity":"sha512-clzWMw3n0nGgbQ/OiOV/JaiTjuHfquVXo0+lHhhbmze9GpVxlZfo20274yODfApgOh8264INO0Tw11e6PJp1Zg==","signatures":[{"sig":"MEQCIAhjMnIAywaFExBh837PmNQNXbUSN2tb0PvGsJNjCLlsAiBLTfK1D0+HviGIIpnMl/Apaxg+H7wQ+hSu7L6yswucYw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":492611,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJqXVCRA9TVsSAnZWagAAJAQP/RC/SJcAo/R2fvSevNfk\nN1XcswxxvNv+/uRyJQRtS7SY0y9g/G8AqUAYsZLK2F2ELgRGunBKQ31mNLgC\neiOPuwhmDz18gJsKHa/EFgJBD2J/00lnuvmtDsfOlPHXC1eSVXY0Z+5BwN/h\nIEB/ES2Q7/ASdO4BFy+y2CMah4mwVHVG4dN94/u2BZcuxACTaGegmR/SkU+1\nvy9Dk5Bn1KS1QAl/LAh2FaItheKl+x8qG3q6Ke1yFvS7Gq4fXT7+egb/1fsV\nh3QQkmg899GieD70O8+LoiFMYmRKrgcawSHDXxF6KsY7mRvetzsdjq3BfWDf\ntG8Cwv6MgJJs+lFcnBzXx/RVDKIpl9InVR1VOoJm2ZripZpNmGBoYFW5I9kI\nUWrcJZ8EW2V4O/bP+GFBFLHRC7/h6WbWPGUo4uEh8x2fmw4E9gqeAaK6Hc3/\n5mxMn10YZVHPGjaAPdCr4VCD0D3SVgG739QKZDF3zP5HlRLGp17DQTxH3Nia\n9ulFES8tsgZdDNjtoNNRKzc3ut1Zr1MLBTMFnJmKDwcB9lHwNXuOGFK2wO0o\n9QDW5J4/rp8jsEV13QJGuuZHAVCg/via5Nn3qShgHSqr7GPmzvEgq1VtkRcy\nwDTT5qK2OuOcUYWb2J61Jh4U5uEYYKwj3sBwP7R7jc3Yr4e153MPjp3MoR8P\nCO/8\r\n=EYew\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"4b35f4dca6347b02e412d5d780e8d9e8a7f481eb","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"5.1.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.12","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.3","jsdom":"16.3.0","mocha":"8.1.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.6.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.18_1596368340919_0.32865099301568423","host":"s3://npm-registry-packages"}},"12.0.19":{"name":"@adobe/helix-cli","version":"12.0.19","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.19","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"71886f450f39db9bfbca1fe26ff481062a8ee37b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.19.tgz","fileCount":76,"integrity":"sha512-QGy1whKRMhcPR9nJEJAKspg3jXOjCUg9fQC7hJr5jr+y/VjLjyHUdhasWegjIn7ETv4AOeteNtdZurQ8oDEQfw==","signatures":[{"sig":"MEYCIQDeRLhKZ2/tLNy7hIwYc0Q64vMA96NwiehuHydZ4TMFngIhANZNTlwKpCBzK4VJGgevlBvzLfhzpnbjYIjxMdktpOgd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":492879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKHuuCRA9TVsSAnZWagAALUwQAJ6pWXhpxEEYMT9usFyr\nC7a4CtDmsqnfd6Q6cxLVzFPpnKfoYKskm0RdF04Q1rHwH4DtjUGJPL6M3Aj+\nYfXk+yZetVrV8uUm+Ye8nzIdHI5WfNMCKS+THgzMd86N7edzRtUcz6QzOIUc\nMkefWpqm7YwzkkGkfG5R0LBKciwjkUYhoN/0Q81Tv0TaePMzmEwFp9DOaLXm\n8LYpF92Ih8hwAIlDYihYYWZ2nrd8aFI4l5sCZeDL7owx1ZB3tb549JNvkFNo\nFaymw38GOYAtsTydyXtF/0iI3vYj7OiP+g8zZfLrh0cXHpFR9bJn4nCgk7jg\nsq1MHBav2BspcGbxlzL66aIF344Nrnfpc3EC9stqkdwSJuoR79XXrOlWj3fI\nRZIE1SCVML1D6Kf2oj6W12Mr0XzQ++CGoJBLsw3p0+4DQOL5hbw5z0fbvdFJ\nULC4rx4FcHF+6KZ2uhoUk7+ghpwyyUfiKc3KXm/N7aJavBVdP6Mw8i53wQNx\nw25reN3LaGL0JqPP3DKsTwWgedlp9tbyOMhZ8H4Dp6lHqNfi66L6r1IAJXcT\nopomcp+hZaEpKYFPHEvc5O3yC51ssw9mv5UWUJkEoDXaAaan9vf6iJhqaL3N\nj61VwIWx77yHaL4iiABoTJACx59a/lx6mX44LBNgRy9JZW0+2v/oiOLjb2wk\nAaZ/\r\n=ys9R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"429f0eeb7d90b02f604f670290315b64f811ccc3","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"5.1.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.13","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.3","jsdom":"16.3.0","mocha":"8.1.0","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.6.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.19_1596488621692_0.4270885940968425","host":"s3://npm-registry-packages"}},"12.0.20":{"name":"@adobe/helix-cli","version":"12.0.20","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.0.20","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"alvarorahul","email":"alvarorahul@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"51971a6f5823be437cf24c58e157ee390e9da1c9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.0.20.tgz","fileCount":76,"integrity":"sha512-RSX/o0ODPWCScFc6Rw8T6BhxzGWe6PsdLombujesXi2ac9znFH70fTqy0zLLWrgliH6eVJFGo9uLxV3eP7rsbA==","signatures":[{"sig":"MEYCIQCQlht79YafhhuYSjpGvRYWG+KmLPg4YME0al/GsbBl6AIhAPrWHlOLmiVd2G+lwZscx1ZRQFtZzPROD50mEDAzlmZQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":493205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfL6XVCRA9TVsSAnZWagAAf5UP/3oQ1FAFgCjhCnrSj/vx\nKR8E9IHPgzMB2hnf1NNCL/e5I3ra183CA3bQ9ln8VEWFEIf0NabbGQvI2Dro\nUCU9UAxdMM1GWL0Vt4k8JY+LO4Uwje6inmE8T01DYSr8SBc5Qx/vKV4SW2r6\n3Hy4WhdqKq1hHD2AJXUM+sHRFjkWPtuBQwHKQ/Z9Ym9wqYWLnytPg/si09fL\nuZmPR1N51+g50XjWK2Nds6Ea6yIhTZCkCXw2WzCni74yUbY3oG8hyI/xNxMN\n+XEeN+2UcD/OE7LY/aw8TS4m0dxx0Q/Nb6GbZnr5m02wWsWicblhgPOzSSAw\nMp/NWNiIYIrrIQJg4YufjQgdZJTKvgLjPOSEel/EHhVi7x+Y/yrhL2teuULy\nGQtgnQrwsjYcr0csXF27OI/65HzfvZw7FrpZd4kREeqFOH3PNfp3/+5e1PQP\nHxmKdexnl/MUkbMsZ4qsrFLp5tqSBef+py5ZcVqkofra6N3GCxPTQlZTYbE9\nUzjd7TAMxy5O8sQiJDK5shdHPSakDxVhCbok+dSYvqF8PxUEroP6QJFccy/A\nxz7xhRAtecTdjjF6JUXMrVLYuJ8qJFXHiLIrVHjX44839YWodD7s0qQqZHmG\nOa27bsNkyteJ7Ch4pyibVe3Q2tN2bqNStY3LKz+hGsvMkZF4s4J1MFe/dnuj\nPLdv\r\n=BvSW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"e80b47c24e4504cc1f55f6e26495058f5c95ba69","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"5.1.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.14","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.3","jsdom":"16.4.0","mocha":"8.1.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.6.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.0.20_1596958164634_0.18247969435852962","host":"s3://npm-registry-packages"}},"12.1.0":{"name":"@adobe/helix-cli","version":"12.1.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.0","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"surajpindoria","email":"pindoria.suraj@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"06e2e4f00aadea774095adf70a8b76526907539d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.0.tgz","fileCount":76,"integrity":"sha512-XwPsJ3IGgD2xuUq+B9jFO+RrQWDxPBGbGrBsvAcSlJyvFfRhGExJthToLxnFQXJIix4EMzvKQwokngs4osjO5A==","signatures":[{"sig":"MEQCIC2Xkw9aS8yLC3FaI8lk0yXWDrTU6y34N3c3jnS60VzgAiBOA6WOVK2tiHAqGSFbhZ8CgOLswlMzTfnqSxLqdkD3kg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfM8L+CRA9TVsSAnZWagAAZScP/1HR/j01A6OXhgd9Dtz3\nfGXrbJi1/6A7gg709PNyRTXqS8ayMg9q83ZgAJxRTymohSbm0L/bdbGuC5/Y\nPDmZPLKH6tSUxV8ZWIBWqHw+Nf2yiRzmWx77PruMTrnlrqvTIcuLx4nyppvH\n3QxDgpFAz01+svrfB2P3fcF0I0CjrTTRTGpnehfeLUnoHV3Tbb0CzArekHBP\ntAnq7ChYASzRkI20EPhUO4VDo4CA+ufKpFjmpFb4qSVglllMSuvdmUv13LbX\nDbGf09vzGAzEfacmEMBHRfxNbHxDo7CcpTwcvnKQLP12BMBQ4MuI05afOsMD\ny16GABSwbJCxNfv3htNNXfZkg0MW+5f0wrmw7UThVHbPLFgdmf9dpJJ/HAz1\nysTW/d/4INuBCgr9YinghO9wLjJ+qY66wP/o/toSR7/+k3vCu29gcoLtrCG3\nTAJGGTuEsTSUYNDojKHfGz+lEPFVs2oovOte6HB+wTqzA8gMgJUBY15WJDuk\nTMEb04OBBGm8NWJ1m0dsRFrq3l2woTo7bO6w3Nt9aPQPQPTWYeqxfmSh+6op\nzhQgFwZWwz24XW/q90jLKbFOLgERJ07C0+jCN5HrTKXjwYo2Ae9g1KXe8OE5\nzjBa0CGOS2Oau+6vhDZF7R0yYcU5pgbLymWs4868oEGRC0VMjvj42mm3wB2U\nIh2Y\r\n=DH//\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"0259f803247667f75dd35f0a06523ef1cbe5d5c2","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"5.1.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.15","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.3","jsdom":"16.4.0","mocha":"8.1.1","sinon":"9.0.2","yauzl":"2.10.0","eslint":"7.6.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.0_1597227774059_0.7737111899395455","host":"s3://npm-registry-packages"}},"12.1.1":{"name":"@adobe/helix-cli","version":"12.1.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.1","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2237c3124867138d8b994109413415d7e731ea34","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.1.tgz","fileCount":76,"integrity":"sha512-8//9uL8XkWULKE6qNMkTc+Cifv7XC4N/QYwYvzuBDPXgx8sX48mkIbv8PyKFjwsgPof71QnOTMTTrK4ZhaLQyQ==","signatures":[{"sig":"MEQCIDI1o0RCcxoLq1tHLQQbsJuwnEpapW7gCFd99O+BiGjLAiBg0Ho1oSdQjbbJ5eMGTcS5ahYkeqDJfCdolSIsigmKEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOz7QCRA9TVsSAnZWagAA20EP/3yNwx82iA3GA0meW5ze\nwOZPLJ6h5qX4UjYujmd7hz0S1IU29JJNveCQ0uTPY0wxrvrLvNZBp0WRgfvG\n/c5Y6LJEGaGPjHXdGWww8xY3DMsWtbf8awiYxfMH9iXQTGRosp7Y/IJ+r7wk\n7b5MqWBUbKW0qP5kRncFQ2noiXsiL/jmkoqQTqwXzxuW+3XvcoDRK081muqA\nXEEJq4PIaZuttBMKi7o7ktVyZgZ1QvYT3J0E7BOe3sSYJFezY8s9IG+yjbQB\nkyegSr+rkJWVLVUFXXvCZ8QcFQIofI7tfkOvROx6/b8YYoWnukWAlxpCovv3\nTmoZH8PTzw1+HnA5AKd6BGJHq/WR13NE5bZq8ebbhHiCy3X6LEiZCV/dQL1p\nn4pH3NEZzX8E0uS0VW0/Uqii46Q+mUXJCKhBaJ2G2t0pcI9ygrQP23vwJwrY\nrHxYRQDIBBk/hwBXr27oWm8vk76j2LOro1NsZ/sKOWwYOrlEO6BRvWZkx+WH\nl0LwtgMRmwXvtq2qBVWFSw1eCtH6ub1MLCwcH99pbvw0JRfbKYobIbTB9jxS\nGG4C9xXSpthdGgqhDX9/sevvfpPleoOqnStY44Zs/19uOVv294umDsCwhPG0\nff3aduRyI33HvMkB+Lp3kE02ZN/ejPaFZFyccD4+ovKJpbVvGjIzsWxgjvES\n9XVA\r\n=d4fL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"29c68e880b96b66e5873ed5aa90c8ba671137e7e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"6.1.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.15","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.1","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.7.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.1_1597718223706_0.9024754241022084","host":"s3://npm-registry-packages"}},"12.1.2":{"name":"@adobe/helix-cli","version":"12.1.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.2","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"be724101c5ef4228cd9353f34eda4e061b4d912d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.2.tgz","fileCount":76,"integrity":"sha512-eZDdkTclno6BnzdyQFRDG1k4+MkWy9Oi6cv5maana2d3YvwpIPMWqlk5Lqx/0a2CHvOJzN4yw3juC2JRDqGsJg==","signatures":[{"sig":"MEUCIQDJiCnfad+DmsC1l9SGtxwIXV4q0ucQ9HSuQ4bzeuFaqAIgaE2n3jNuNZ1ksKBNUEWX8MitoEyu6l7qKVBk/uP1LBQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPs75CRA9TVsSAnZWagAAczYP+wTaLZHmt3z7K6YYnL3s\nUB+0hfQUYK2rRjnfS3wSgLQ9axFpWt+7QSJnXJC3sqpZlPgQrFWUq1k7V3X4\nVN4vvr1iJHvePrP9EFLsp0YnIWX6WdFztGlwo4eYPI5OfQVYIOIGQ26SyV8Z\noUpWWynuTrOIgHozsXqp8xWzUNhVk1iXHRAvpX5o2cyShjn8CPNe0QK021Jk\nB+AXdigynMQZpY2mEJ8nReXpRrpeUupit3b2eMlb7a4wWsrconJjg3Px5AJa\npz/BijAqmxAfMXtLbEtJdL+nRnF3S4ZhteTZh3nIXVDSxRlugbY6Pj0jougY\nGeyzzepae8xqekBua9ZpD4PXAce3XuJ9Z5bQ5a2wtrPIYt+5/i2YUgMjT08v\ntu+8b/kJLdc1xGRvmorjqDG+4RaKfqA2qMEGt60I2KBuV54vzRGUr0QqS3c7\nuVpG7SaHu7JbA75Ge+NDns+X2qvYQBTn4BU2dc2hBHYJCyHAKShuSc5RWXZk\nX8kE++QGtoAlNh5F4FVBcNdFdIxpXvbcUbU8lU3tZtPAjXd8Aulq7pvySL9g\nKUynrYYmQwon1AzrYlAnpc/N7Vci3RjDBH32hMeWa0NlR3aXIbZnT2dwIIWA\nhhHqsJLJbBbG7tlyA7p6Jedi4ktJ4+WpaON2qzV+PTq9Uk/R5trWZPLvCSj0\nZpJw\r\n=lhvR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"7a09cdee30f81f7062f782233c7b7e09752afea0","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"6.1.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.15","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.1","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.7.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.2_1597951736612_0.7039469553809754","host":"s3://npm-registry-packages"}},"12.1.3":{"name":"@adobe/helix-cli","version":"12.1.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.3","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"cjchapman","email":"cchapman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"41849d76e50be2a677e9bd698f07c0292529bcac","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.3.tgz","fileCount":76,"integrity":"sha512-PUDS0aHZy0GLfBzbDZfd9YrElIc4fDrmrCm0H58Pra3m457azsC2PrVasrgSzPPKJgCUo2kMI+uhf9V1L675wg==","signatures":[{"sig":"MEYCIQDn/Fb6UaRNDYRgUSLLURW2ksjbKbZo+P/aMPDovzhSQwIhAOCbnk2H9Gm0szimrulriLaXi+XgDZpM3Db3ZpAMp/D6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":495251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPuscCRA9TVsSAnZWagAA/jMP/3U8bhEjedJWtuYXy9ar\nD/GkKR0o5bDvuh8hJcMCeGAoO7znnWPr/1nCop4kjTtyiwlE2W7kfD0X+ArV\n77h0kUnFYoMd2EtO8dZfY84uYYbBMc+HyvYyBqHmYpKU2MmidKf6rCZtrj74\nPqoYVgLQUWqzVFeIQSz3mc4nWOQwYmjlNNsNWMrzYxbcFjIPmeg/2a3X7i1+\nwnuCijBCdRgCPTxFI8HxEepGrteTghsgRbIYxUdIufWPDV8gxBhZIgs1H0r2\nlLjTmUbaHU50SNu2F8Zq55BLbECHHYklRK60KMIKm0x5JOp80f1CBYYSBmCi\ndJRHVS6Zvx1ss+tkWecz1MZer4s6M2tQ+vt/4yLzpm9YCp40Yw9IofCQXM4r\nReGuy5dwPR2+8OIwL0/zSCXd2xzviNWIYbIbVPP0kHR/gGrrTr/c+h1Px+62\ng08OiockAqs4zRSxcOFm5DeNO/rhl1f/2ymONTvcJWLU4GJFvz/hF6KJ8j0s\nPNGc+o6bW1oSdPmS6McjHwmbGXjmcJfCanNpMxbT42xzeDDmB6rW1m8+R1zc\nonBA1qZp3jpTzMdVKdwXVvecN4Qi/La1WAIyV7vZpynGCAUWDQhBOw8BAXln\n3FscvKLh7zVE6hDbOsBBJPzMl7Ez1oBL9aczWnMCr+KhYG1xas0B6Ju9O5IH\ns5o4\r\n=5zqY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"331d1a74b13dea1b29adb4e822914082195f9417","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"6.1.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.16","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.1","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.7.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.2","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.3_1597958939621_0.3235848366786289","host":"s3://npm-registry-packages"}},"12.1.4":{"name":"@adobe/helix-cli","version":"12.1.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.4","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"78cd1bb42654fd69b55f7b44806cc24118ca5fe0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.4.tgz","fileCount":76,"integrity":"sha512-BfmBTHC/uYO3trEFlLLFyU6A3tk/rIHHu2kDyStgzgrc4qqhkARBZc8Ey1YtN3LvC73Biy3UYH92Zx/gKSIngw==","signatures":[{"sig":"MEUCIGcFeDhVM5xc0QXQMI7FsmxEK6jppYf8Gr+Gg6F2ScAcAiEAl+HAyg1UhW5WBbVrxFFr2cCe6eHxDFMJC8IXRAUOrYM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":493717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRIBcCRA9TVsSAnZWagAANjYP/A3Ml6YI0GzQXXKkbtnX\nxo6rf/+QwdX2Twd8dUBwBTA0afpNKpFIzBoBAJe7+Sbi9VXI1jYfEuc2Id70\nbNx2HNAKQrMZYXGx6T/mJEyNMx7kWZ4zSkEAUrGqT3wVypcklMwAVzxkZEYJ\nqBazU3v1DU2wnvFALJU2SsTFEsrkBGCXx/nIH7ZlfDsvpj6Xn1ghsMMVCl2y\nmTfvk6ps0H78A4EwHQzOJLmgrtPTYOnPHJqQS/6yTGUsiT/Gt+s04K2t87BL\ntdcEnJ/spWrpvx0FIAa8yah55vIW9Wa1uzHN8O6y3zu78YQdOPXlKppFhe0u\nkqvuuW5oTn4rEw4RhjMKpg3bBuyGHkBANSF34C9ni2AFmiq8jOUCCZ/xNOHy\ngTAbzZFUk05UWztxc1fG05efxiBb9eJxg1DNMLmJOO/lNQjxzcQ2yVSJQ00V\nmm2npOQQHMOFtEmf9QAFVh6/PygAH/Ku4DpoXbVj1DWKuYplzY91zmCaRwWd\n0Lsy/ihc6UCr7/ThZ0pNSdu3UWYuEoAMd7NX+3cto3l/FsyuxjTl+xA32Hl9\n8n2RXA+3a1eUkTM5U2Ng/3itB6zSHHRqI/vSPEvA8F7+pRRguJjHmO96EHGL\nNqJtdNG1GqYYsmJ9VrXLrI2ZCMsKzv1YjVwapieY/0j4ilIKujgMI63kusVN\n+Q1e\r\n=6Rzj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"d3de607923bba51879d80fdac26bf625bcba6fd8","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.16","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.1","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.7.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.5","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.4_1598324827683_0.7881822168507528","host":"s3://npm-registry-packages"}},"12.1.5":{"name":"@adobe/helix-cli","version":"12.1.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.5","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b897005cbd8c626edde68b8b3630b85e03dbfa69","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.5.tgz","fileCount":76,"integrity":"sha512-Z2VRkDTrgfA/+d1FzsNLjjU5wvLXUT80saI6ngZy6irykgZq0Ms47DNpT06kASKO2P0sXn6R708kmpXrxqNeLg==","signatures":[{"sig":"MEQCIBTITLUfkbd0ZyUaCIlxIvF37mFpPLr8mDVJ+GcqJxuUAiAWp/Bp+oS7j98DR+VgB0snQ8xRA6M951oJinMEpBVzTQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRjE6CRA9TVsSAnZWagAADYoP/Rk4m0Oj2vqtkqwqDmzp\neMlXwha3kxBcUOLcJF7nh+sqQZtqn/G04URva0MUotVj12iZXXm+gRP0gpJS\nwOUOghTirlHYkUVvl3PngnnlqTPWU3gnKnmSSleJDUNZdZ/YL/nKT5VA+voB\nZIlRhWfOLo/ILKoVx38T+oZgjhehRTNPnsLgRqukKrRAPYcg7zqtuO8bgH2Q\nPlJWz2Af5kuvR2VCm9glHM9TrBNDVZAcocW4AlgNbQUDb8mnwPT13R/ELRT8\nyByCdtguFft5FIBKR1kZHdG8J0Id0ViH2oDuUTuiTQAByGzDlS6HZGRWnrjk\nRD8VpQoYgKnrXVLW0PN7moFftyyJ9Dt500M0Ur7xk7/oYqQDfB26hrbWu5L7\nY9eW3UojOFxHtggQtBlr0VEm4ICXg3wbVl2NxtaJobIISjFZIjO+k+BJMKhc\nKFCOhEjR71b8lgMbTvt8TQUIHTcsfAlOGQUf5I3EqOPOYLgSF4wyTAfBCqWJ\ncw76KUID5ZDlcMBZQSRvoShst+SyIxEaRZ53vEK8xqzLxmCzWLkwmfC0eHgZ\nKvGRnVKwf21+cv0lGeDfTpmuU9ZYvQ4op/7EL390+xJZIMrq94e88PfcgUwE\nd43AQ5PscOJBV+cODRBSUf89L/P7EQxkeFKYA0lIUYdJnJo2zci8soRhlEhc\nhDaw\r\n=EGb+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"9c53e3f3bd05614886df28c73e6cb6a9157a4ace","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.10.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.16","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.1","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.7.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.5","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.5_1598435641660_0.1146871422250153","host":"s3://npm-registry-packages"}},"12.1.6":{"name":"@adobe/helix-cli","version":"12.1.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.6","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"024509f159c4438c0ba4e0312c0ee2003ee06e79","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.6.tgz","fileCount":76,"integrity":"sha512-gB0GPe86NhVRk3Q4A29D5mynCcGT/G0pixh3LPNsw+Dvt71UXfFi2Z276LsOLq70cuGtIU5xVOJETdFTRdXsGA==","signatures":[{"sig":"MEUCIDdGWVhgyKTBt8BfvAO0kvgTpUTPX0jfF9Qxc/nquDIyAiEAyJiyWytv1KSfaBO1nRUP9YGt9mW58ycOxuN0YBjIghA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494361,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRj3CCRA9TVsSAnZWagAAY84P/3Toc6ivavRaizbm03ad\nb3IOkkTKZ3AIZhffIfzDvLaxqih1orHihJ0jLy46uLg9XfKVU7Fc0OrO6y2w\nWIkC72pZygAZGl/AYyS6MQVWE/ivZ+A942/NOj2zxfGac2/pCbsa4fPp/IPG\nvTx88Lgl/j5ISQs/1YhL6qJ9hGrxnmwYug2pI/FbbxVXWawJSLO/e09PnQv+\nncUdtYJs0rafolfz3IAXfyW/jFBwlN88bWcGhrhxQerXWAkOY9UDKQu4vV6Y\nS99KYvieYK1fh2xkHyFAUdNPH1pKscaMTnVzz5JsLGAFVGG/YIVKXlUsQno7\nndMvxStUsPbVbA572+Iimq4VugvACkATlJROtaRLLxQPoude1XzcGIS/ZBs9\n6EUzgokawLhfqLRA2sVoEnwd6i765Hbc8fUoteP3oiGLkw81WQj8p0PBqEfl\n6ft1o1sGZNNAPyJLrRqrpCJByuLsc2bWpIX3UEgRTWgSG9hv3NOkPdeUV+xW\nynD7Bb+YXbHf98dokNMB7Jx8XuIFeWG0cqxURtvTHcqvZimID35zFlcIH6QC\nEHbVY/Y8NrhFa+w9L1VzU00f31f5CQvPFKq+2/D9Z1tlvxjo6MyMWOulr8pn\ne1Wp+ZBWx4cuMPwIc/J+E4a0r35r2bnY8PZTFQ+tL1OTzcWGWibtPBDyBpdX\n5LNA\r\n=kVYq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"1cc2c34777b77737f6411c5b6edca30ff4872388","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.11.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.16","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.1","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.7.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.5","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.6_1598438849461_0.8048734039803764","host":"s3://npm-registry-packages"}},"12.1.7":{"name":"@adobe/helix-cli","version":"12.1.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.7","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f1a339e43599f6d4872dc4d86e949ba520b35f32","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.7.tgz","fileCount":76,"integrity":"sha512-bWLu7esaspxYqyV5Ge1HGtKwOg04ZBNiUGcuNU7hO74Wmu/0HhlWKuEkVu2ZkjHjIkf3VfCuij4TbKJawycLJA==","signatures":[{"sig":"MEQCIAGRqzUos00X3bKrn6XJlfLsARUtI3DTquq7wlSvO9F5AiBU1Yg5Eqgb0DEQCVq4FsmmiY06532DdEyTxjA6UCNDHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRlhKCRA9TVsSAnZWagAAcBgP/jT7LmNBqbuF5PoL7reB\niDcPxdocIXEPoL04Sr/Qr4CTO7/11mZNzhoZJ9b9KnHUqkOxTUOwF9311urH\nvyFdLxUxdpg57Y6iXr0PGHVP0ZdknTVfLJYaWqf0h3S1YYHKLC+qbwspbkM3\n3tl4Lykql/G3gsD4fF4FmsWZwS1YBuVCMeSXONoxe8tIV3A4emHkPru2rv97\nouSlFO1bEFAXvNGTzQcUvPMl5xABl69G1Duh01i+OXAydbq48Oodmn1ryoJm\np/WgOfoOpBwh+KYLIiOMC3ZD7YTWLvNHGvhqxaZI4a+23fR8giS6pJLtEg+q\nnsvxNsrAeFg/lRWF/yA2RUm6q3pTUryWjwHGl8ij3pzlbkIWfQzDt6TwT8ii\nFc4a0gX1J66naIjqgNv8QV6TORoqUXTtCedDol5WvM1c6XBJ6qgAG4tEuxI3\nvo/IOSN6cMRzOzoa5vaYAOt5TLxuMVb5YrO0lmF/u8si2SJVBmkcjtzlYrKL\n/9jkuKO1pvVESoGmbkIeX6b5r4PCJGPu45nmjFg5XY/L6cMrb1SHpErWS3ag\ng6AETggHEwZpn+PZ/1LaDqUvEOq1ELmnOX1bTpE6O/rY6B8qR+ZXPg8JctHg\ndhKhWHpsjuI/fjX+93wzX/VXVEN652jEbER/RuvLn8rkUWgDgW0c9YeXsvol\n8k6E\r\n=PVam\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"018401069259e2a61406fad3b493c74e7077185e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.11.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.17","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.1","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.7.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.1.5","proxyquire":"2.1.3","lint-staged":"10.2.11","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.0","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.2.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.7_1598445641948_0.5487570126350201","host":"s3://npm-registry-packages"}},"12.1.8":{"name":"@adobe/helix-cli","version":"12.1.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.8","maintainers":[{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a4e31c0e0979fe03a6e7d14c37b5641de49b781e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.8.tgz","fileCount":76,"integrity":"sha512-yY5Ob3s0UcBCaHBAIcqVlbVkvOdMTVsEgBOjl4GTr5QlLwFtpTYBlWNcS2r/fABkUEE+JL/GM7MtmEv68GAEsg==","signatures":[{"sig":"MEUCIQCLGbMTZGLT+3+27ZG1yH2vDGTVcZfDbMjzjZaHLL8/ywIgVpXJEWM3XNYWRp1W1hgcqIpXIS+rfbBaDuWhVIoXY6U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":495310,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfT6Q/CRA9TVsSAnZWagAAYFMQAJcqIHyMpOK+0MNxmm97\nkYOiMb9jE9M1rhSzC3FmZO/docHZGafXny+1XTNE3gxlAWwVDqwfEUf0R4KG\n0CfSruCGfJVu4HJnx5cPmwXs77eUNBEImkoAmrM0W6rEpnzMxbDT6fbOm6sp\n67lClN6RjYwNSfdYeMJ/2ZgaooZ7HBTLeDvFRzXoj8Nl9i8iMOYyi7BCPlze\nRKX9aIsqOIt2Wv9Sxr3sDZNtZv2r4xcAJaYbsJTNbrFJAWgg4DMiXCy/PH4h\nex9U14K917zBaZ7hsJ/n1Qq27LopUQV5CS2daXVL4rJOHkaNozV9xfrG8cgk\nRKnHqUlHOjtvmlcHUFBxKPARZr4spTVznEtwrfqeArkmAQDuRH+TlXroqBwJ\n5z2sXpMUnkAD52OkjSa8XEavONy/U7mGoSZ/n2m/cphCzOe5u3pVqx/gWzDb\n40QbjYaun1CzbDERSdneEjL/m6jHWlm27MWmpUWkoTmaEOblbSknyCX54agB\n+SETC4ExRyNZnzRCmKYGDmB31VcrvCCXnjdrnEDTCGRXWBQRe6jh5Lwjw28z\nmn1EpXbQsCXBKnDjXmYg7q/VRMtYpok1SXL5qykox40JYBChs0md6kTQiNuD\nbBsUkQ8eikwW8x7TZpXmd7O+Z/3iDiIael5k6Cxw3hKc2vfULX/HiKyNMCka\nKcXQ\r\n=S4H+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"746f951f4173e5c3594448ef7c34e6c46da78430","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.1","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.11.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.17","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.3","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.7.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.2.1","proxyquire":"2.1.3","lint-staged":"10.2.13","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.0.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.8_1599054911425_0.007010951527166354","host":"s3://npm-registry-packages"}},"12.1.9":{"name":"@adobe/helix-cli","version":"12.1.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.9","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b169d7b72d787fb4c34b76481420422e33605881","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.9.tgz","fileCount":76,"integrity":"sha512-azvMCONsPIv0Q7u3RokLg65w/ay6wp/p2zm3oV1wlFR5Eg82zZnyVuJWwxof7+x5IXO3MnqxBgvMkOlFRsXczg==","signatures":[{"sig":"MEUCIH9Tmo7wfY+mivC+5ebtkIQaBSv0rSckCkkDQFik5cWKAiEA74s6lntUwrK4L3FPYerrtQmyQmpJrfMiTQyC+rcJsM0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":495570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfV585CRA9TVsSAnZWagAA3UEP/065/pU5nli2DC8UeStD\n1aeSeCMY1z/M1n1mTUtw+/0uNJkAK44Xoglee/CAN8oFDxeiCagK6AesHaR8\n+4Xqyrr24LHjACI4rnZuQfE9gG2G7u+j+E/xP3JbHdYM49qg76996ABpkPKu\nZ3umkFSpbZjEnzxm+6AX1GGEV8ZeAagaG6PW3DfpA2JbYFsRWs+MTnH2OHPG\n0AUGTqIsKi83aSKGdYrPrUT4dsSWIupMHV3GWGw5MzNA6HfGw3oV4OQX+QGz\n+gFHUmeaOkWQi7LBqQFmOhreZmAnFWN7HBTcQQphrIpIAZkR077UuVVyQzEG\negwtO9FXp+X8kFkH0haNnXRMAr3OJBN8evb2ERUvtakyCCw7bREQDG73y/v2\n4XxcAbpbHyhqaWmTMQVlnRrGcSuquiXDkt8ep44JH6sqYmoKliTLKw1dlA78\n5Eubjq5XSoZhqV1B0ytEJ+9izITbYzVX7HJBX5b8qosjJIJfZw4V1I/ynvG+\nr/FK+bMqcM2k8r4ObgtP/rWG65uQuYxCShDeBAFby8glDkl/kYNbeHPwOC9z\ntaBt6h9rX8wTBtzSrw+ve4NBYqD6s8jLU37ckT1wpi//UPNPhdr7vT+xNZPB\nx44HOCwj0v4lpjRYiX0KEkGC5T7AsYBcra3qdKZWFD65hKGuGDyoSa03r37e\nQ4Ta\r\n=Xknc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"533fcd1620f13ecff802b202d26a1b701d1f1d6e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.12.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.18","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.3","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.8.1","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.2.1","proxyquire":"2.1.3","lint-staged":"10.3.0","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.9_1599577913002_0.060908422258521666","host":"s3://npm-registry-packages"}},"12.1.10":{"name":"@adobe/helix-cli","version":"12.1.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.10","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3cec9a407cf74245865eb8a529bcc426ba820237","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.10.tgz","fileCount":76,"integrity":"sha512-ajH9VFE6yzIM9SzOYsTKi0BzHj/RCOQma2DJPx3pt6AIxc5f8VRCqV1yH5QGxerRB5CBIXVYvloQiVr67yEaiw==","signatures":[{"sig":"MEQCIH8CxOQtY4EjDl0crBIo3JFnX8iwfhhnkV9Xxivpek5zAiB6WIaKqhmhh4FfflxPYWUArStt3jrr4Yny5CjY1PkMrA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":495835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWhEOCRA9TVsSAnZWagAA92IP+waInHAyPnElkJJHw2fy\nD1zMuDOg7jn2FDM6Mquzsu6CrDcQPNw4dMEzuHD7piQjHXPaTmd94eaaBE3K\n1KRTSjfeHe00lZfYQ3pTxT2jDt9iBYwpS+qOjhOXvMyE4W3Hyno5JyhWM1zF\ng3MZLJrVBfUT4WrVZpqwrFTWfbhup1eR7CpwfCD9Mll+193MAoLQib/UUDPf\n+bBoCv69/+lv/ZrUD46GYWOdKFCvmEwuJ1XLSF+diKGlmMQcRTd3OToV4R4c\nfEd8YqX3XhvOeV3Ok3TNJnRW38RWuIqLT917oUdyxa4HW4O4oBrmgjteBj/J\nhhvcSqohnv7UpueCxUwqA4E3MxFiwgBMFcvrJAdR4e5Q5KAx1FEm4hvH8+Bx\nygNKoV2woEinYWFqvV69oAXyICA3KQeZ70WLAPLkWI2VUAeqVDOaeTMRahnt\nkzhnT8RuZ2YqjzEOM/+7qnHVl7TgRlioGUNWHB7KLEwiY5lAvblOW4AeBY88\n1J+1AR/rYZW2Ge5ROd8ov/vjPpUU+A1o6LrSfxJx41PZfeCb13crpyH10B9G\nAavYQMQQwNFOrpOn61Dv08iosPF5jZBSKMZRCpE2X51rqwq+nt34zHCB6mhL\nN7cBd0TszavdZ48WqE6vaOmITUOG1wtQeaDID8oSZadjRpU0iW8BORh/jnps\ne8/Z\r\n=heio\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"35a4022d646da9fcc3e54c93f5bdf50ac6c090ab","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.13.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.18","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.3","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.8.1","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.2.1","proxyquire":"2.1.3","lint-staged":"10.3.0","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.10_1599738125652_0.27999046725759635","host":"s3://npm-registry-packages"}},"12.1.11":{"name":"@adobe/helix-cli","version":"12.1.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.11","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ec0d7f31ad1e2902c7768a006d1c9f9626dfacfc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.11.tgz","fileCount":76,"integrity":"sha512-TSWk4mn9I6rJEN8yZOeTJ/jmakaScKIRkap5JRatCBi8T9yPM1Xot06hFSQlcwA/IxTUf/uW1i+q8t3WiuS64g==","signatures":[{"sig":"MEUCIBwYsLsR4aW3M5zV+dn6P1/uT0SFXkP9PyRUd3EOcOM0AiEAxF3hxlxMH6WM4Wpsm89S4SnoQLhiUQOf5j1P+hGdzbE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":496161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWwYpCRA9TVsSAnZWagAA++YP/0BToNwSXCuOsubRCorT\nWS4oMRfk3KwP0pNc2GuSY+LF35zGa2XKU22iRDxMHU5j53HhrluZF/IR7LcU\n2xW1w4s59kjFK9x328E4yV3LDWP+7MBhsfs8xhSri6G9hO8vMrmPVKERud7n\nfhpeW9Tx8hw5aYW1in7FhkKnbyzwRXGUdw7qdLGEsopwqzDGniVWraJMUhEE\nzc8zL+fduyRy8eamGNvDlrErMTd53+W49I+qCmkh+S5vvJvBVFw98cwsVpGM\nr38IZC6kBMrNDzosp3PsxfmVk8IJZrWejZGx3zCmGca1ESAuhSWTs2RtSJxO\nj/mWwT+tpl7p0ntIKIJWYBStohrteGKHp6g2CNX/47PKMG/DTr4aro4NAN+x\ns6M94GH9ttR06GTxrqqfUeh/JFZDlNTVs5u8Z4PzfuBWWg/H3Bp9UKcqgGU+\nKJLRS9+cPFBnSnQJGzC85tpg7YVfIXBG/mKFXXr0+6jDKtwJDOmqMlmxSewZ\nCSu6JlmjvNQqSZHYm21EJbsrhkQZv2ibpHJcnLElhtMrCTOqyuzbsnZKDhuA\n83xC0ss54WvlvCkH1eoVDdx8NFegk6HL42N2Jt/9yjVwuUytbzgZDHssxQ1W\nPf4xCHrBf1gfjnZwtTfK41u64YqY5w+x7EYKIBG4YCXeMKJ/+oJeBbv8UUMG\nt6ro\r\n=HAdP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"5474ba73f21cbb015d960bf3162c697bab1419df","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"15.4.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.5","@adobe/helix-log":"4.5.1","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.13.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.19","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.3","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.8.1","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.2.1","proxyquire":"2.1.3","lint-staged":"10.3.0","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.0.7","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.11_1599800872926_0.09345984782205408","host":"s3://npm-registry-packages"}},"12.1.12":{"name":"@adobe/helix-cli","version":"12.1.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.12","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"c12b89c20da52c389b23f66b7ee66e02551e0011","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.12.tgz","fileCount":76,"integrity":"sha512-2WZ2cPfSZY+Cl386NkZVUrLZPky4OiL5zxqK9QP1sYAkQIs1IyN/y38bmjQFak9YXL1N207GUZIt9Fx0T2M81Q==","signatures":[{"sig":"MEUCIHc7Puccw0FzimZir6VQYYXw3QH1ksglds+XkVp6VPI+AiEAq0Tpw4n18ef7L+co5om+zvJxNW8eZjZtQduVPM8LXl8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":496466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYDQZCRA9TVsSAnZWagAAOH8QAKKifgtKMK0dDL3cKt6Z\nSOmnrF5r1vX9s/aH97V76QtvWwvfVcTGKWAXq5zdtBkpcjEVIA6XVtiDyclj\npIweH1yd3dheAkT3k5P83L226jFeFzwQMq3rnGE26ca5Prdc/r0Hcx3bNEQr\nhSSXNMInE1jYf5+prZAJyin34V7vNfQaeKHcmco1kQzKPwubAMrghcuFXd/Q\nwHiHWBB95FYsEkV6jPFBCCTyLPuR/cApF4CbSShS4s2SfEV0JoQq+nPSFvb6\nG6vyFDRUEqGbA7A1FfGPD2HZRboymCj0sIyyBv9fPqMm4qYd9XOzAYTQ198A\nF+0AvHi8ARgmsnsBr8N3KWKbVkWwcE8u83FGtUIT+Ou/TuU/gDuy0qnquTuo\nnXC6IlYxeLqnEFw0VC8YL4gMxtpalGJO322eSIcGLnbH39VPBWr67z9pdzPC\n5uGofYMCeOmWKhhqIrxUXsPxDkJjGyohFmFsbt3/64j3wZEsEEa2st4RWkTH\ndXEr60pCi9qSrvEcJ7QavZE9KVHwk3I5iAHM+1i8Rw1UYPs7AF28FCGyRiYE\nvNCDZthPailDjdDR151ObNGvc/UIqlgbKYgbARlkpG8CKWjxB4M8rO4M/sJ3\nog/ExlT7rT+3DYoBYMAJu0ZvRZ8WUE+FEP2QYbilU6rzM1e5zfYfEfBciSlH\nLqSj\r\n=potv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"0e9a0e4ad9b233f6312e88099a0841b571984ca6","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.5","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.0.3","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.1","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.6","@adobe/helix-log":"4.5.1","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.13.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.19","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.3","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.9.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.2.1","proxyquire":"2.1.3","lint-staged":"10.3.0","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.12_1600140312329_0.44753996812147046","host":"s3://npm-registry-packages"}},"12.1.13":{"name":"@adobe/helix-cli","version":"12.1.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.13","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"goya","email":"brettrudd@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"adobe-behance","email":"sedunn@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"297750a497bd63f7adf77aac3eb2d823bb24c697","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.13.tgz","fileCount":76,"integrity":"sha512-lnqJ0qVpifw31pQCWZX/8IKcQBKdtg8HJh6Luo1FXEKJxiHHU45H5KXdP8vhJw5MDUFeF69JW+THURuxaLwdgA==","signatures":[{"sig":"MEUCIBGnzvO7suSrBck9YCaB/3S3Dd/2WGi5l25Nr8DMC1Z+AiEA4SfW/LdP2Qr1oaJj5PnV4GGQoOIPT8voGEoURIGcdNU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":496704,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZgjtCRA9TVsSAnZWagAAbHEP/1xer/UwX8IQN9784M35\n/h4lJNunp9kD45hsjHgVcoEFVoFNB41d5Rtvf5A0yPA29RlD0cptdIuIdpZ3\nv0ThezBO71UDK0BbBxRP8OjXGEUiAL8gUTULdk71BwqunR7QfN1+DxMPRy1O\nGwaHVJ5bTKuUOS8zMasyrbkrSk9+zUKkJbZFwuWcnorMDdMrEX7xZHqeLFa+\nPu7S9mWLXC9yWZUbQ2xtrWvl6bvZDGAv3io23TYsAibW36O11P0YLi0c1xgI\n+KMS28p1cMrHN2JPypa/HV1FLF/D6Mzq0aIMyNYR9mKG6vMXZU9LcmqU63fh\nOHzRYwmz5ehbGfMjMWHfCgT5bPdkq8DpS03lZrWs6IzhIfIiNMMBGXx8/Ip/\n1dHkcpZ14bj3ffc1Z8ccrKcswa/gS0QrAh2/O7u1Tmpv/WYXrYPdjkC3CNwl\nR1mcRNlKpBYmHnjTSItW3T9rNGUlY2MjAs9wZRHIutEdJIoS50Y3g1R50ST9\nuzxIPT26wiMBYeCdIgdXNu3eCWvDHOG3aD82LSppqPXikH1hOy8fsQ/T+ts2\nzZI6DVyq2QaoWa5mDtUzA1Ft03ycb6fItsN5JrjycOolRf43v5ESKw2BrMUB\ngSgHGlxycKaZe6TgZfCJZ89ZIzFBc6pnhmxDpE1LjreNSYzJHBLwBN1t3K1F\nLfXl\r\n=VP9S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"5c94e2e51547bf09bbbf5c37e188a962f9e6ef6f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.0.3","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.8","@adobe/helix-log":"4.5.1","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.13.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.19","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.3","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.9.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.2.1","proxyquire":"2.1.3","lint-staged":"10.4.0","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.13_1600522476937_0.9303966729257134","host":"s3://npm-registry-packages"}},"12.1.14":{"name":"@adobe/helix-cli","version":"12.1.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.14","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ccf4e081e868cf7691ca45138b62a33c2c156694","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.14.tgz","fileCount":76,"integrity":"sha512-sTinoVVl2DTHaPki0InAYi2RFN4FbkKCn/adaAQUfZzZSM1TzK8SkmxvaP+PZUV7ZL43pxLpoLcZYov9Qoyc3g==","signatures":[{"sig":"MEQCIFMbdJd+Dq1+hDCCOf0CHtabJNlE842Z2B9Y0Jd+O5UNAiAWseSdAcBnwJcefhjXQsJ58PHDymvDRjdVtq4z6/pVbw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":496972,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfb1YuCRA9TVsSAnZWagAA28IP/i4izUN8ubcl5EN3S5WH\np+1GaZlga2LIf90bCdGBsySsl1tmEeJpEnQfCYK/6HuyFSdEkR/iTeZ2Iv+b\nmm5eB/9pN0kwn6ETAeNBs4TyPqUCFGtNr2w8Ywdkpa6fJzxaxKDA7LDkg4YW\nCFYwyBRM/lp3WU3+jakNX4ClgP1Ws1m/P4PGhP/w6cgT7SF2WFyd+45av0cy\nFPrwh14/DGTsZsocR9lpDTaB10cDDzU6Lvf49g5qs45WSmDtj1DSDpy92t2h\ngINDMHt9sOh1kYo6TvQMxP3CqT8Y+t/ZB/KyzmvIn5hJaAyUjz948/Ky+RZd\nr6aiYvW1Bc7SsbodSsz+6Cay576GJAZNC/4TrY+3RyMQvtHNcLE1Zn6VbDaH\nPGttHsG667nhIjFB3HJbFPFYTEQNBLzhR1qwM2uuqAMKYRNOWmfHlGzbxxvj\nhHP6bvtiHjxhT5OWTwZDHjlhlw+0ltTMUIVPbIMI1LgV4sySurPEZtzr2oO2\nd7LRZiWx5HijA6OTuTzvBzIL/vSAk5p0IXTrT8juKInjJMm0sVp8cOWoLQp4\nRe6U4fYFn5pZHBUUbSmBpwdhnxWRbtczjMDmxTjK+IcibEYq0zDMXJeZgBAI\npIoCNeOKUbaU3kCsWiPpTyVCsFzJ8R0oWcgmLE2N8nh8x8gv4CWHlgx6wWFa\nEXpG\r\n=WTaJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"8ff417b0dff005fccb0c92de7938016f399f5dc4","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.0.3","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.8","@adobe/helix-log":"4.5.1","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.13.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.20","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.3","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.9.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.2.1","proxyquire":"2.1.3","lint-staged":"10.4.0","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.14_1601132077515_0.6702810005819395","host":"s3://npm-registry-packages"}},"12.1.15":{"name":"@adobe/helix-cli","version":"12.1.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.15","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"5e480b0d732e1025fa2d89a9006b13263d63faef","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.15.tgz","fileCount":76,"integrity":"sha512-KcZp3yh1J+zhXgOnDlY3egn9C0EEFUnl8b2aNwGMEEHWa/a4Qr/h6JUZc2/UWuRdylIwVTiP641U6TsbmiInIQ==","signatures":[{"sig":"MEUCIHgTt/+jY7RiXiLTMITrzoFOBziFdlXMPqGNXgllKoQzAiEAiSTnkv3PgrX5K73We5lnrHkMyebozTBpZ+v8XjvTfJw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":497237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcxMkCRA9TVsSAnZWagAAU0sP/28FRpR+DxTM7waQN9hQ\nME5K/Shq/WatZvy+Hppm7xHqlY9RHYqY0dKJAR72Dv8KEYdl5NdzSQKshW75\nwYjAyN6wzqroVvy/X9DDiiBAPRpbvpCIpeULxnQaqW6K3S8gOlwJ6i117Uz7\nZfnChuU3EbYTYXhJnJl1P8Rq+YP7mQ5t5WbzqX8l/y+hejt8izHglRpoeViq\nhuGqWl3+wZk6vJ+Av1DlD8K2dzOTtwVmBhfsG3LvOJ42eXbmGq61UHq+ixy1\nu9WorB5cdDpAgMIlJ1mQPvTbQT2rIKWMoK/4kema/FDoYOtIA5xcob5y7G5n\nwjcHnvhoAQf8XmLXgcdbAhAmWOcpETdxueALUyC+mqt/p3GG8+9JowEjMyhx\nA1OTvtkQf242GD8SkXjGowICuJc5/vAMOKEhiRYLbZJrH5Czeh8Y6iouSjIs\nliJYPojZY3NY9irB2ClgApI9k+zRTkfl71OyKq9FEHWxfyD8W7IKJ/nAlKPn\nAgQGVCT//iILv+Kh3qkk1DNEBHTW3GR913YLiALaQzQp1D4GNP+c5LGwhA6b\nvXopw2laWeWeRUebdalpqrE8h+TFtECUmJpfOD//n1PZNg8unLxnF6A37xM4\nxN2jYn37WiBFgfS39vvTq9yNzsbl9v5v/mTtkJkkpKUVfiMoGIBx9d33DuJw\nHmFX\r\n=LWcX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"dfba68353d3bd13777b831cc6d2581100b2ae014","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.0.3","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.8","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.13.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.21","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.3","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.10.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.2.1","proxyquire":"2.1.3","lint-staged":"10.4.0","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.15_1601377060236_0.7134034937209812","host":"s3://npm-registry-packages"}},"12.1.16":{"name":"@adobe/helix-cli","version":"12.1.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@12.1.16","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"46e6a56e1e5a0d66f946437d138e790f733622f3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-12.1.16.tgz","fileCount":76,"integrity":"sha512-5zpRtMLgpyGR8OnDqiSjYqadvfjiJ2N+hVZlcSD49LH1FIXJ33dsvKVJgwfb9fMby/XHmh+hqaXb4qUjZGVdBw==","signatures":[{"sig":"MEUCIARaD4GAUs7tvg472+FRX4V0oMOXBzn5Yw+1Ng64v9bsAiEAm+LG0JKXrUV4o1XT0dK/FnwPgXVRgpzn/yfd4fGPvpE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":497505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfc0dQCRA9TVsSAnZWagAAHicP/2XG7V3SE45L7De3aFhz\nFLhDsYOntaZAakHq99ercGRNPZ8v+pnOP0S8f/myPWrZRSDewbwhK+gH4Mqn\nBTVfDUZT/sYUBW3hXvlzl0y/zAoMidUUB73H2M0IyRQPWzaC5+2RKB0mQjlC\nZiDdtlK+yJ/IWyOXbQioqCcIbCQkYBwEZNVoumL5cDzaJgjPyTEi47F+qjRU\nifnwKlV/bEvjQx0Da1WzKo60OqwRRg8jf3fn/b1iIfebSjlFn0Q7tzlU0YLW\nyhogPHxS7xtUW1C3qMzThamzlnDfRwSWFsFnaklmcBOj9BrFDoEoI0aZW7QK\nmE+TJTPf0jvLhrDqOwOIWmoVzQ7tVxZ6rhKAtC1l96R9OrbuDgNxSWe3Sw3T\nfaEhXdoYVSG1A8kosuUZBavFuc5rTLnBImSW1zHzhTG/mNJGNP2NAe3L5fPN\n4WW0WyQsa4bYQEZhsbs0WyqlPOmANxvM6pE9tA5ynAFnGmqbq8p8NfYBZPBT\no5IGXqvF4hxOayn8PLAf9orUneA4FTJhcIbLgC0IDheRTjC9A+DyHc0usoJe\nRvczuF8GeUDYuuKAHs6syAtQqs4dDooBX7xFnxWuZFVVSgt+im0ytEvviql9\nwUvhNCKs/caa65L4xwey0bk6BAOZ2WmvuveQ/+OC68yb1Wt61ErK/A3vsLoB\niCsu\r\n=7Q6w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"f8a6f1f6e956a85e9bc3ed464aca2b3f989bf375","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.0.3","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.8","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.13.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.22","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.3","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.10.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.2.1","proxyquire":"2.1.3","lint-staged":"10.4.0","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_12.1.16_1601390415442_0.222310967406123","host":"s3://npm-registry-packages"}},"13.0.0":{"name":"@adobe/helix-cli","version":"13.0.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.0","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d73420973dc6ffe5cd496ca1f389f5f3f1800121","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.0.tgz","fileCount":76,"integrity":"sha512-zIRjgKM+k2weh3j00yN2h26iSr3/w+m28wsg/Q4UUYcFXMQsuJQ4nAHk7emwQzMrxEEMJF5ZpanxX3qjAN8+NQ==","signatures":[{"sig":"MEUCIHN4EBwCtthS4QWaGQIAJmKVndcy4s3sCMKV5boWGXQ8AiEA0YNE1RCp5U6dfc/7HBsDDvBOYLX6Fd/CciQiWef+PtA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":498193,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdFqACRA9TVsSAnZWagAAHhUP/1kJgP1LLq84uH+Td3Ks\n7xeMRYH6nUY8CRUyP3w1bxoRjbKmE8olsbNM72Ui7pfu/EVG05/XLXt/6o6w\ntaBvcwylgXCEvWVchMkn5vAPMdS5pOSMsOSBkfMoEMt9bgF3Cr962tylezrz\nfIqu0lL3mIs1SDu6q1xesMlIFn/ffNuLRWzE1QdGvN1OE6JDCl2poOq07pJc\njSeMCPshMKxUytRSb68BpLjqyGbaitUwNab4TQZX91OQh9JYuaeBb8TfysEb\n+M+OCjqd9TH0Yk9zA5h3coEj+qDfErFzTjtfXrBRiolo2W/nuhkCauQjY9Ff\nmXrmvHhrkh3HwqgjdAFo5OazQkWG/fV708pJ3uAHRcvJdGOl060RU5gyuILE\nkGrGdleEaWVsiG6vqMIX6nJEAf7o3d3d6qSSDRPkwnmdST2vd+E3hFOFJBFW\nocJoZ4URkGzUg3GIrlcuihW0Oqs1ZvIyn/Vhg8YdHN76fMmNbnVrkSd+sIMz\nNhvaxscoL582VFPpftIKKgzEInIlfgbR7CCaKB2vp+iD5lgazQhy/zWfG4Le\nx5G9bB1yMpSzlb4HAuE0UKROVSWzx49iTZKHZHZAw9OkP2+U5O00SgANrmNv\nFlIw1quFuqH7rR1Ku5zxuJhAiTJU+8692wrkvRzemwRAT8HVKDsJzKAq9Aum\nAUKo\r\n=FM9j\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"ec447b24b125e81403a0e3d1656e4de312d59863","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.0.3","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.8","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.13.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.22","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.3","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.10.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.2.1","proxyquire":"2.1.3","lint-staged":"10.4.0","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.0_1601460863380_0.8199472203456557","host":"s3://npm-registry-packages"}},"13.0.1":{"name":"@adobe/helix-cli","version":"13.0.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.1","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4e4c259ef613fd800f8c768c01bf87935d5d0a5b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.1.tgz","fileCount":76,"integrity":"sha512-fExL73ZfmquJxQOy5NorPDPKuRL8x9R6K9gFb+4z1qZiADXPyCPdOws5h0flTuVDATVJtAU0xRo91LJpTcGcAQ==","signatures":[{"sig":"MEYCIQDevipm25Ze/86Om7qtsJscHzlEvvoH44151G0D2uwqPwIhAOKZMBP7xo5nPjJ4sfz9ytBEqRWPiAt0rpOs3i9R28j9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":498615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfd9OlCRA9TVsSAnZWagAAo7wQAJs5GKrkJAav1iupOUrw\nfsJ0ijidstpl5Fb/RvNw2rZaiFKNprCCvMolbjNsQjvxq00DI/u8zZPKmTaZ\nxbgEOO3u6aHDcREsBEH5Ct7Mq4FwbTKlJwKhcgR/vWZIIsVzcRM/hXewywv4\nSXs6rI2UT4YUVVEdttqOfXYuz4t4Dc5Ny+UQ+swACe18uOBa0ewnP9A+HzKA\nn4Bk0ZS6KeCHjmCD/R6laACUo1KJltrwZzn3Jr2/neafm9Zx3H4B/Xpz5OKj\nYfvTq3RqM9UrNRCRwksALtzWURiS1tp9vD0mhggN81S+iYeL9+8aGAqo6EPG\nTOMsTAMdpsaJHO6NAFwYWbovws9zaAKPgug8HXshUeQxnmUkFoZWGPGg7qzH\nKvdvGdluLLmEPwgMyyQ9Xu4X0Gn/1Jv34wSPin4JiimYQVsUlPspNGt2l9SI\n3Rx+bkowK6v6bleXeH2ok2H9DhINhH3yoX7gs9UaOWTr2PhrSESlXQddxqqY\n4ERtWz53oAACum6xC8gRFHyeYrwdrG3JfkvdReu3mpNEaAYPwSx/WSb4eXR5\niSIaKgEgcaphhplN+e2580pSnINHlhF6oqmTK/BIWlusGplbO2iK6eZOKwzi\n0D69vuV6ysAvPp5q9UZ/T3elPMs4uRsvcZq96FvI5LWTkAPQscbZNkyd0oEs\nWYFr\r\n=rkht\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"109fda45ecd64058c25bd46fee7befbee7727357","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.0.3","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.8","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.15.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.23","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.3","sinon":"9.0.3","yauzl":"2.10.0","eslint":"7.10.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.2.1","proxyquire":"2.1.3","lint-staged":"10.4.0","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.0","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.1_1601688484556_0.0014990184243621751","host":"s3://npm-registry-packages"}},"13.0.2":{"name":"@adobe/helix-cli","version":"13.0.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.2","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"48212c41f51b652a5a1906192c12146d6004171f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.2.tgz","fileCount":76,"integrity":"sha512-s4I9ghjmrZk78F1ArmOL+IZNZzrG6yeCOWVcyUD0otdlfgkmC7ShpQafgeHCZij5oBCYx6S4chTsrfvjmWXvLQ==","signatures":[{"sig":"MEUCIBhjfy7kBDxORuciW8usOewS73zutCnf/5wcWrjl6xRDAiEAtc4SaSztSeUHcBPV7ZPt+fLkSO6lIJUSccsBhnfN6w4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":498876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfexAJCRA9TVsSAnZWagAAwqgQAKAYFeHVeeNYMIE35hba\npFwJv4wI4KlqYxNCZf5FappIaYsHbp6jRFPHWEL4wnH3gACvb0A0yyuCSp82\ntYpunVMcJ7VpGK8tBB4AHxsc3JZhuubMkTbAJbEKDiR4UsOluMdR7u2+246t\n5GFfYyUY75dArAtfi+V91R/CSA6bh4VPfH97Lh5LHCvcK8J3PQ5MtsbKdYBP\nbwfs6xKYRK5uO/Fo4u0EXM7zXxTXdVdcmcPm9bKRzHTSfEU2V6eCrj51KtD5\nfseRAQv6IZ0w3X88HzUpvxpK3JpbibQ0blW2ytMUQ+ZFPs3J2SFXhDtS1A8c\nhf3YidctcXnDqU48aXCrt/09SI65QaumcMIqx0Hfzhh4w7aqJoFAOFpj9ACT\nJdSzp3nLjBfvBvuv3U39JxM8E55oCFs6fyouutHXcaxuPfJQuQQrQ9Qn5M/G\nRRnFq7gvfjq7HE9UpM/+H34AkOFWvUwOF6bHUzJysBLk0B83/6zebWamGoXM\ndyNsZNHQR95NlcSwJndAaiZgrEqBa3fzOkXz/mAFAr0LpFYgeW4l8NED187p\nmuh48X8OtEfhtFT4TN1lA26ojHCapXLo0rxiPJyacAWbs5M0Kn9Fy7eN2QuJ\nDPvGdpLeNpdHEo6Z2EkNpDO/wBv+FnWxo6SG937I2mD3aMdSSCnujcQEwQ7V\nqs21\r\n=/BvP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"9c7e7e1980a03a1f541b2a3a37e8bada844e1f18","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.0.3","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.8","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.25","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.3","sinon":"9.1.0","yauzl":"2.10.0","eslint":"7.10.0","ghooks":"2.0.4","codecov":"3.7.2","commitizen":"4.2.1","proxyquire":"2.1.3","lint-staged":"10.4.0","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.1.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.2_1601900552609_0.12664955072777184","host":"s3://npm-registry-packages"}},"13.0.3":{"name":"@adobe/helix-cli","version":"13.0.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.3","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"c2d3a78faaecc7cd5e284debef9d2a1a1dc65b51","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.3.tgz","fileCount":76,"integrity":"sha512-O1KbxO+G+bsuxOrjgD83S1gWAvXpp3GPAF25SR9TYRzi5Lz8trZVfXTZnQmvMxh2VKvaQjX4FCuylAwmdx/iAg==","signatures":[{"sig":"MEQCIDQIUaGs3Q2NZQNBtFwx0eTPb5T8slgNfw9wprtkWcmdAiBQRBC3WGlD7kjqxTMjxRjkWUt+nXCbBFyNS9uMtWsM4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":499307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhDNACRA9TVsSAnZWagAA9ZcP/1/y2Aj5usdd6dzBE+Iq\np+57zZcVaB5cYre6I7XpQo7ZtpGCSRUjfpjRZn7Jj0KbfgVcN24FFKn7Yuv5\nBvaifdmDAHo306bgjfiECXOxcHp5srmb1c/gUaP90EVKpRohigD0f/zCJFD6\nnjluHVaCykszqbYscE7Iod5z1ZiKD76dfXRlxxMLhFPPl4qR/Di0run5YXBN\nmwdKokjoecjO3T23SFoORuVzkkcj1OuRH26oHA3gNIo7Aoj5jP89btcrSXfU\nMmNNIum/P1097UCimh8F087CezQVuGL9lHBac9CcTiOsoup7fM2kSag9Deqv\n/tjT+UDsLVg3Sor9VXpTA/i5MyzWOoGSQd2ec1jWz+ahoeB0GdWNHgAkqg0A\n8Ie41WpVZqTKRKJtgKM9qfeD2a8yufSh7NuI20YWJyikCYRHxDynrafdJ/V0\n51I15hku32JIFTN+GfxezlU00loqA2MlyrRVwkZeL+dZ3i/+k/xN2ocv7D+z\nwHh2/mzv03Aen0zr1JyTVh0/5tpF7x3HatQZKiVPbGhnMMsj0xzCOzNPTIkI\nr2Yl4UmDCZVHPpsncfu1H2Xxw+AMlpqrLQVEs5WborkQwxWAddP4iVDm2PUs\nSO1qPcazzT98qnboaQMjtZSkJuo7ph51n1+dFiuTConq1E6SIOMSKUHTF/+T\n/o7v\r\n=ukmI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"3f89b239061990a0fc04583dc54a2c235c357965","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.0.3","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.8","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.25","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.1.3","sinon":"9.2.0","yauzl":"2.10.0","eslint":"7.11.0","ghooks":"2.0.4","codecov":"3.8.0","commitizen":"4.2.1","proxyquire":"2.1.3","lint-staged":"10.4.0","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.2.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.3_1602499391546_0.9413100321958943","host":"s3://npm-registry-packages"}},"13.0.4":{"name":"@adobe/helix-cli","version":"13.0.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.4","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3c1464228d673f9758b87d107e455f61eb66f969","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.4.tgz","fileCount":76,"integrity":"sha512-dDSrZXc/RdHfoC0ZAcjrg+k/+QZfdUBpkZc3DOJYyB5rloYzMxOqva3P7mPPcz5Y1RLfeDG4QATeNoBCNsBPpw==","signatures":[{"sig":"MEYCIQDwO4EoSl4cNkc0gvgJI8MTkgqq+qdvP+PxQ9ikWYPUogIhAI0tuGoCrM2zHDm/OJ6t+GfE1w4TaYqN2Q9hJ6eKw0Bx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":499572,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiv7KCRA9TVsSAnZWagAA7CEQAJ59OJoKR2mXBedP7aDe\nLLqTZPMlua0zxbVjsr7JKC2jB/Z4PvOGfuWclbkCjWeWj8YDaX9232hI6mch\nkrKWTvO3Mb3mLBlJYCTnTRX9gyhxrJIDpKlBliDFuxW16GIxXMpU1v45vtIi\n1XtYE5ymCYKIWDjufQxEyAJHm7R2BWUl78z9WhkcqvDYo6p5WpcL3bmJri3r\njR5JsR+5FlWfYtNknCjRpdEAD1Lyy367+tOoFLfLRtWy6IwG8uFUFZsUpCvb\no1FM+7aVnmESyYRCGO8fE8H/XaFEwUC9+d+Uvam3ayS4zvO1iYMDfdUrBciL\nQLCi4nA4Q0GArWIPODDRu1CGAOKlcyiL/6lxls5opaFRHRynINGyWiAouj3Y\nbS3vYzXj12P1KlTPyxu9ROWedfdAG0q0pGeps0AyTdWnhJNiEr6nK205pcoK\ndbzGD9kvpAQr3wWd/G3nIJlpEVkoINek9lvo7s4YVGU/2qsxu+9aATgXZLw3\nE+UkBCbP0mcyY54VwdesVYbMXSmEQWcDQgdcLfd57VEjrnSyNc7QEUgCJBDg\ntnE/lTY6W03Zu9BzV2xQzkZiYrrgx96rjsSow0fNFFoz+pKGw+ZSjkuRvRhw\nMJ3j2XoOfpzanG7AhW+adzqymfG3VMwMDB8BBqne68cLR7sO/JbXJTzrHWKZ\ndgtO\r\n=tBmy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"3922e40468a584dde982a1d5c9f757db3e9a4e41","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.8","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.0.26","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.2.0","sinon":"9.2.0","yauzl":"2.10.0","eslint":"7.11.0","ghooks":"2.0.4","codecov":"3.8.0","commitizen":"4.2.1","proxyquire":"2.1.3","lint-staged":"10.4.2","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.2.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.4_1602944713903_0.9790551612312552","host":"s3://npm-registry-packages"}},"13.0.5":{"name":"@adobe/helix-cli","version":"13.0.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.5","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"dd877a18013df93b8402020c3ef75a8b9d32403b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.5.tgz","fileCount":76,"integrity":"sha512-dZ/Fexs6kJ7x+6Ib3O2YJm5rJoLy0eyPc0Q5jh5fm2iInpeix01kTtNycgecx8n1mIEz7Rbo4g0TMtxRJ+Bmyg==","signatures":[{"sig":"MEQCIAsl45w2DF0KYKmrqTmYUb24zi0wfroG6PhNfYtTPmGsAiBAIGJgpw9Set0nUQwgPjRPtmQp4LtTvcA7fFN2ulAy+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":499893,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl+yMCRA9TVsSAnZWagAAMnYQAJlBn/QCLJerDMtjXPSu\njNmWDGLsgbZHqG1tDjcxAZ5k5/CRX4osX3sMrtv7Wr7+rO+sC5nvivAm7Zrs\nXzRff6PYMmFnvIIjB2BKDfnWp/gm9F2dbmKdtQsSaNyC0SOBfBh+fqxbQ2xV\nZMRfOPYPYu4zeP9ilOJlswDniJ4UInnapptCH+Np2US2+BCPLaOo8yxNOmue\nR1ii3z9I6mwIGvMDyu0SnJacX3OCE4JgIXbNDaL0gMfKyl9754DgxSmUKzDS\nveNBNgNnsHSQr3CgJ7bKBqZN4XcIHe5rVO4Ku91PzRWiNUBShLA2TRh8sO5V\nFvjy0szNrJkKPtsb3UvMun+2QW17FUoPRD7SmuTeX7AS2ca9rx30igG1PT/6\nKusUiR9nfj9hCtgm9okun84YEa2+mwjlxJowjXwLQ9WoD7rsBX5mqWs6XbGe\nEqjDl0C+/xv/MJnJhR2A8ZBHd6t56fpv2D3v27dle5VIp1C/czpqDCX22gDH\nFjJBIZC7Y3TDdBpym4sA2b3c+iPbKhCXYgd3iw21at8kO9+CJsIlTjszOnPG\nD7LXpU4D2Isv7UrPaI1/vRGmmbx7cEsvptLzC1R76sK3ofb5e4Mw1Ly+iU5s\nAmajhyP9IxLGaCb4QerMMB7xX0k1GlqSCh0Fr+5So6lQQlCHYAYlNPRJsf3i\n6jgn\r\n=D41z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"7138e29204880422f07ce55271c8319a848e071e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.22.1","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.4","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.0","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.2.0","sinon":"9.2.0","yauzl":"2.10.0","eslint":"7.12.0","ghooks":"2.0.4","codecov":"3.8.0","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.4.2","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.2.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.5_1603792011507_0.6215552451272324","host":"s3://npm-registry-packages"}},"13.0.6":{"name":"@adobe/helix-cli","version":"13.0.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.6","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4df0bca8cec7644b0a07b72053f78a7bddd49fa5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.6.tgz","fileCount":76,"integrity":"sha512-EY4mnq/LYG8SgTuyry8ASDjEyxXRVSmqUgr6GPvaatqdelvsx7YodXSqGpIyYbmYxlVjSO11Ato9EajuoWDE4g==","signatures":[{"sig":"MEUCIQCP52nvrQUiPKfh+KYz9Nb/uwUaBtpK9F4Mav3Q85+YNAIgRWQRoMOUC4h/s9peMZp/gXepJOpfgm0OFqxSUEi/pic=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":500157,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnZ7mCRA9TVsSAnZWagAAx6sP+wTEVsKJDQf39onJNsLu\n04MeBCk7P0ftZYaAbDezP8xsrnYij5bUIPZ5wVfcxu2HGfZKgPwW/OkWAI8K\nJJr8QJHFQt2F1a7L7gxNhqk4Wr3GKqrjBsuYpbM9Oq5KwlEFt2UNHH9yDPLd\npq9oHPwV4MbVWB1GeSRcfYAG5MFQJfimv6Qx/XfSDW6E0SKyW+ceZEcdtMv7\nuXdvqUnEOVuvKh8Q7p3xd3P4KKIlXmqdbpTRd9dN93xqxnTdLQCxnP2eJPAA\nqoacn+94UXmBMMNa2BtmsI6DKJDmViWsijKcily7vr7WNh8lYlTUD9y6ri8q\n/24u/uxBobGpPceTcc0o/lXG1MwXOEUsrTYioM2914Rq1r1j/PRUNcrrpu9E\nxExiwUum5e0YfOg/7xiaZG9U3S25852uehicWChX+2aHO5vNUmKH2/+ymU6I\n4zSFaVcLej/FgDwXa+OHcmCR8C+9MBri8Dy+Sq1S9oOzDbuPtXdJqbj0BdmV\n8+1zCSwvvCXXTMdnlj6pD5aIF9wYOoJiY+QZjt2Owk8ze0EzOvxpe/ayMd8n\nNWVpiYeELuRgslp2p6tdExHng7llnYqOGithveZAeEeUBaYDrxhLK4YfTgXM\nbivC6NUQ94MN5bCmBdaihd8m0mjtpGQLwIgJoVdxJ+Ch8Y6vt2m13XrKzygC\njI1u\r\n=PDwX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"b75d0a987572a67c3cd5974cae59c52673ac8b7a","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.8","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.0","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.1","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.2.0","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.12.1","ghooks":"2.0.4","codecov":"3.8.0","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.1","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.2.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.6_1604165350241_0.34967231950505506","host":"s3://npm-registry-packages"}},"13.0.7":{"name":"@adobe/helix-cli","version":"13.0.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.7","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"14ef5ce5968447bd9db2b2d53ebcbb3cc0628571","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.7.tgz","fileCount":76,"integrity":"sha512-oLZLh2l7BM1WF3eP4nfvAHJoR09MVPFw+9wxWaqIfdUvPZO/JkMZyFfEBRKGddKX34hptOEjroudHJRpT78jZw==","signatures":[{"sig":"MEYCIQDtB8Yfm/9uskw2xwKKXZ6YHlIiMoDomNRQQ3GkWa5buwIhAK2IdM03Ak27RdM1ir0xDTosjRnYm/xog/V5NnEGLv7s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":500473,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnnDQCRA9TVsSAnZWagAA2c4P/2bGbt+uCjvJFJTsx2xr\naA5U6YDTUHxRTE0dvQZ2i4e5BYzU/Cd5zA0tSD6ADPC942QgJehY7164KEKa\ngEcwTKBnwMjsHoG5ELc7hhJew2bF6s151CWOcM2ESnnJQMmHObvHTk7s7uXB\ng45JN9VIRpJlwq9uJeAw8z5eFunarAt1RM9Ou0E32SV5JCOte2ZiOBXe/4Zz\n+AIF9uOuy0YXicsHoKR2MPiLJkwM7LkCr3N2VVsxby0eYdnMHObdC5O7cpRf\nn3G1EsWJX7P/7wDJvvw3+p/at/nCIbO9a255oSsktoW6FTZYdP7uAd6d+MOI\n3UlwDjwWRuhHxNphEBFweA1oMLOo37J29uFAxTlUuDpGiGjImVHlvvUOO1q4\nHyOMD4236M58j1a1R+bmvxceGVkvALOKf0BO1VK07rEuMTKbXjw27hBVyNic\nLqpVmI+BHe5OeR1tmMmeeXL0Xk7XnGq7SX1Yyk/o3oWX4v9iz7UHIIcbEcPz\nMMHTiKArd5Pd/TQ/CVh0i+FC4srwHETGb9zBORhixSmxn5OH9c030bP7q5iO\nalFTxx8R6G2kAnXGFUw4UB8cg/AyuvZKOzh+IeIl2QE3YVlSwb66926F4qVF\n7vPFWjofVFSWdNHuROEV9tsbCtxi8b3MVFwVzKUFw+MacZkBdl6avIj+eB3B\nM7hg\r\n=HnWG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"46c5eaf85e4540084f8f00729f5576af450f9cf9","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.8","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.1","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.1","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.2.0","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.12.1","ghooks":"2.0.4","codecov":"3.8.0","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.1","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.2.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.7_1604219087369_0.17549194045351846","host":"s3://npm-registry-packages"}},"13.0.8":{"name":"@adobe/helix-cli","version":"13.0.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.8","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"target-admin","email":"ciocanu@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"be3fa9648be218d121df3da5859214b2e70b722f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.8.tgz","fileCount":76,"integrity":"sha512-f1gpS6A8SXDU+a46CtmlDrK3GLva+lhZ72CSFnv97EeuoZoBV5DYbLHk8ziVmXPGmgoTaMTbjWi2frMiI+sUJw==","signatures":[{"sig":"MEUCIB3OfKufFZp+rTlKLuDPb7qFcRKQixoTzPowMtoVbFMIAiEA6vVLTAAAo8SWmtg/IRWrJHcbePwe2ePRpg6NUZFzly8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":500734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoa4BCRA9TVsSAnZWagAAfYQP/0gGyJx4wEWA1SgTTDzv\nBSX8ZETaRKWQZB0eagMeQgfCvIOImG7SnH370VOSFSXgnaWK6viUKvBNHtTQ\nDHEMbUoMURmx/4MGq2f3ZTi8uqhoUXapdow4ZERVDk2WNX11hixDv+EZG+XO\nRGt9T7PlLKUCmdjbyWkCvkReQw6exU0DqhTNu9UqIbWJbFcYRCLh8w5cVmi/\nrlPrFaJtmF3QTEJ4x9RTqu3Q4zmTxChWLAzZ6sK0iRRhh0DCF7soKIqKO9JL\n7tkYj5sfGliAxXgzkttwsrIaSDy1iGio0fzUZCk219D3D6vbhLwrbh9xeXyp\na1+czvN29C63dc0i4BZnTNO1jJW1F+7SH/vBUSaHYRqcYFqS+Qi+33g/yPYw\nKOKGCsN4Te0G69MK32xvcdcZvvhfSBhAnbDhfdwlkJA/BU4OeqU5hpljqVj6\nSI72GusJW+gDORP1ch8H4BJAjn/wajspo3exc4TwIi4yOk9/rYf+5Cs9Rwk2\nrCHcF+GY+S/1Zyq8T/dXcBNIJXravDE8/Xy0HeMfr1MiJbYzpbaOQapQc5oR\nhL9L+FSVdFNdvqpoecBUwKdVrLPl4/KpQmk94ZZ6rs689v5Kf6AB42vmUhyQ\nAVJguBkTqtju/nvnIGumdGsQQzTyXaHuWPfMaqymNGCNXj4Dp43DCwAuU88k\nCHGs\r\n=Fghu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"bc163954547c1843b65ac72e8a1998117706f0be","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.8","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.1","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.2","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.2.0","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.12.1","ghooks":"2.0.4","codecov":"3.8.0","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.1","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.2.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.8_1604431360652_0.5620825721087943","host":"s3://npm-registry-packages"}},"13.0.9":{"name":"@adobe/helix-cli","version":"13.0.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.9","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"e2d62d5ed1d5582a73860c64ed3ea6257f9e4085","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.9.tgz","fileCount":76,"integrity":"sha512-LHAkkLcmjYhjG8Tl/z1VEXFpieVMoQ5igA0Q0e3Y5CUUuXI044uuUBQSOSafEI8iakwaZmgoWZFQJrxZOY41Pg==","signatures":[{"sig":"MEQCIQDiV7ixSdu/+K6BDbCUp+GHXBcBcOX5zJv6HTVj0dy4egIfAJBsOh50WN2xhcNrsoDDw2iXYKTpmMcDwAcghRdF+A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":501056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqTMWCRA9TVsSAnZWagAAgz8P/3U/Q+9+m9i9ndKw8xz0\n9JNr0Voslz2NrNslgvLrJTv163JY9lBgmtgM//NAbOfy4u+QWb0zmiA27Wmg\n7ahGLC9etzN3NTVxrCE4XNpvla5HXrLRtcduj701rBDZyn4hyyt4FmL8tqFa\nSgaMqur7Vj56xy7kfQ0jA+WyO74KjuUXq8vq9Q2iovwQ49iFONI/maYBqU+2\nWnu54p3gLPSiirVA2+DTvjqGEOcqsl0Tys/7hh2szB45LKpRACvi4BNPcZ+j\nlFhUMqOcIw4Rquza6A0d1XA1wWtXEoCXleT2dMSMqikpzlrVCSgaiX4PXdOL\ncPAXwif82QOX11gzh31wWPdfzemkRbIWQJyQsjpdrGFAjNKjlNAZqyk9cmUg\nrlBRI733ZuMM82ZMQSYOcp5cDB/bbX4y9CLBgMkOe2/8aPr9Q7fkQrThRQMF\nPCq6iZQD2VvQ8jzvpuOgNwelfIzhkv9c65lIsduVCChww4S/sJTN+PiLcD+B\nhCMb4gYlqs/qFbMxVOjN/RueUakWG8oFlaBHL18+hm2YXBCFtocGo9zTDzK8\n/ABOcgtCDtc77KG2dFgxQ521kCYqSs3kU1dGtrSK/JzU+j9k9MfxiiL28f5g\nPh4gSZRIEJQf1ZZzDKCkWOi0najuir0WNiq5hWKoKYXzgrrWKinapD2ghPys\nYk70\r\n=EBFm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"c34aa275a9db450df201ccab091b1a11a97847c0","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.7.8","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.1","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.3","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.13.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.1","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.2.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.9_1604924181401_0.14209930709696894","host":"s3://npm-registry-packages"}},"13.0.10":{"name":"@adobe/helix-cli","version":"13.0.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.10","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4e6c7c7f62c626028b830a04279cb029d0a26547","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.10.tgz","fileCount":76,"integrity":"sha512-sX9NuSRg0OK3qAzEkJmEMU45OxtcunKEJIIWYpJs1DzocNxpBmld3CQQ8sUOmaosnBCa0jXNQIucvjiOA5QMOw==","signatures":[{"sig":"MEUCIQC++ZhjLM2dzkd3MiTvq1Dfs26vVvw6o4zUniIcgTxUFAIgSwzarQTlVrtVvv4lHpzlU57mYD4gd4FgRk64254wtB4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":501564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqUJhCRA9TVsSAnZWagAAHNkP/1QygCkPqtO8GvVyoUtk\nmfNWGKdFFY7H1+ItFkQnlzgt1ax5C78gyLX3BzcFU9Bba/bbpQTIVtF5AO4I\nCM0JuysN6SCrJ4miWZADJ9BPg83ATqJjwPC+0dDdD0byOxsi51+W8uU8Qt9c\nEPJLM6qEmiah6Qw8h7hO1fPfvf0eW774vpNAGjsfb9gmf6T3HI1cuSaGDPW6\nc/OvpWvAAhGdFrGhdBIHns1Zc1mALzJyWXPZV9qXWdaab11D34VMh1BMvH0O\nbG8WQ/qjcWQ/iuaMJ6TGpGaQeuLb8UHt0vMIg8wvSWaQ82EldMuyAYxtzS1e\nwPw51Z1wZu+vTJtPRtF/m6iujwLiuXKKedy936DsUFAGukdcVun5Hz9wDR+s\ncoZIWugMcWDwRIfd7vqzDwwHqWfpbgCaj4kGAcWom/pdIboCblnmAIXVGNJG\nyTHz7I2K2F4zGo4CK3w9wRT0c49s2ds9OzhI5mdBuFtOI7+0tqsH4Dinws7Y\ncDAOK4jIzLlvG1u7IRojbl+CmulG95n4KNnZsGEwNOLdjjdM1U4O9iQKd2hz\nC+vGpcQebh1y4NHoAk+E7EeuJ5VYJZIZk7SxvZDgRj513jll2lXQOlHFZF8Z\n/9eAKZxtgx8D1wli8OlgaTlsSXlMG3jgosL0BRAfS5rkzRYx0dIBqsJaD6DW\ndRIe\r\n=k3dq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"7bbe7f86ae1eb1e58c4c06f0a74bba80ad349c0f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.1","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.3","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.13.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.1","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.2.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.10_1604928097315_0.2615010744475028","host":"s3://npm-registry-packages"}},"13.0.11":{"name":"@adobe/helix-cli","version":"13.0.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.11","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6856ae1bc0bfa01b748b45ab4f1654f1ae6790ba","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.11.tgz","fileCount":76,"integrity":"sha512-UpM/QPOMRYg7HWqTFlb8GeuWYZdrRMGU6zALQNz1GgSn3gmTtwGEzu/DYbTT1NgDTcw3/TF7erpu2QQ0MBr3Pg==","signatures":[{"sig":"MEUCIQDLol9LoMWmhPSNbefVCOQd8pbRVWh1tKYyie2CgdeoVgIgc8mG1/mQTEE5mo6azHjItwlf4049WDqj++faKOpsKy4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":501889,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfq4IRCRA9TVsSAnZWagAAqOMP/0ljIsxaW6pJkA+IS9yT\nnKVmPfFNBkK6Qqg2FxwSw3SLkEJUDqbnRcB/wBrD7go6CVFkE4tjg7IKR2Y3\nvgekEUVyVRdTJl78y0m30L8qTanZ0Tkl9w+i0qvcTC0HtKqrhX2KkxPbcK7j\nhsm6OkDQk+vrAHPMyK+fuhIO897DRorHJ3ydbiiXHYLuCVarA5hD1Nv+kOWk\nnTngb2fpNyCkac+EnKUjb/GQMbyNj+2fOfZe5VtLE+o7k3zU1TPX/3x2Ox9M\n/A3OMAIHLhg15CHnt4O2aWvG7Bur4Cgaya7ldH6DWiHY7brQMm97Iajzem9e\nczaUg96LRlcr2XmkkHahQYHdZo+a3ks33dSOKPhUTWkxhUA406KLJ190Fupu\nAEUjXHx8vyLeTaed3C/TfE34lYy009z1veIeCdD5Dir6B4TG5WR3z8nQpsbK\nICdBloHvBffuxI7rg4gQ4+VfyzI2u0gIFxE5MtTkly3+R+CPNvkkfZbtgjuu\nSQ1hvLQxDrPZqS1VanfeaVrGeC85OYzjZ9tvDbbSzZXMoaGNeR3gCa7KMxvy\nWCmD02JRisKBSKwpTI2PbDgXNzF01LCgxNMioKtqKocgHhtRaAoAJFBXRLc8\naX0BhHG6PfAzRcYqZx11grGYjFqWescXhvQfn5F7YrQ7q7CQ948KTTBgyckG\nCcwJ\r\n=0u2W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"62cb815f3a2b0f0148a17938777e01dd73e7ee69","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.1","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.4","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.13.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.1","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.2.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.11_1605075473155_0.48550867007356","host":"s3://npm-registry-packages"}},"13.0.12":{"name":"@adobe/helix-cli","version":"13.0.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.12","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"camagic","email":"cacheung@adobe.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"rymorale","email":"ryanmorales@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"dgrossen","email":"dangrossen@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"addb","email":"arjun.d.bhadra@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"sbenedicadb","email":"sbenedic@adobe.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"choffmann-adobe","email":"choffman@adobe.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"nporter-adbe","email":"nporter@adobe.com"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2c482601a62917b89c6a89df17e21ec730d6edc6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.12.tgz","fileCount":76,"integrity":"sha512-ix6ug/QaJ0VNMrpdT/aSeyJVU7wbhMDLd7yeELKam8E8zpcVHJpIVKxC12Q3O8gjPY7PDqcTBOwkNa6gtxQVLA==","signatures":[{"sig":"MEYCIQD4ZcXvSloWFKdoy2YLd67VwOouvr3S0eDPqNYdgaw16gIhANWVd3AE0Utsc84fkfk+1bQwzWjLqrygoOKX/uXViibG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":502214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfq8/yCRA9TVsSAnZWagAAtIYP/0WPY/3q3cnk3PI7PlQf\nOXZCwQQ60RbnaWbykvOthyMlSa0n8b4oUiMkFAi+S50Oms2gJJyW/0TDmQyi\nL6MO34JFmRXvFQXJpAMabQ9MTtzNJhR0qo6+Lun4I7zDefgVNE4OpFGDcl0Q\nQ0Unrx+BmJEz4m/oFZanGp4Bbpw3T+6d0xIdq4YKEjXgL9b79oY/NmQnB8Jx\niagabUlQArpXR1ZGAPXTF43J4QhEq8ad5g3JhymOeqYlcMlMgOLga5FsxoEa\nMEgH3spkOhHDUnBrBuFNan2p2GNBrxmcs8hPzpqChJheAvMPHMgRdpVu7hM8\nYm/HeUbm6Jb3tnhnK3GTXnPTNnvYkFGGbY8spxf9AS2vIMkhtDWY4E8qaMaI\nybK6iDkb1Mh4p1ZXGdOm6q5NRrDckQwgODcr42RiPIUmnk1gsgUXJYJ4ouSb\nA0P6efrQ3MChLbxRev+aY1zQ63dIhSimvzwhgS8/kpwe1PbARbjdFC8MeVNt\n5dZb/s807mfs8IObNdT7JW6edGj1iUfpJ71q0PlSDWGrJyRVJjqftYXpbwds\n5aS6m4PMj/Ed2p1HOYMv/opoI8skWJAUAwQgMAhXiIi7C7dzmtnG5dCkZjLY\nuVE1LnT6gGQQ0wWmZNzHWKQiDc9AjiPL9o24TqFXK7uammxVY2QiAa+95Oox\nEJjd\r\n=ttzk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"eaba1166bc997b54daea53d2856a62a528a349ee","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.1","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.5","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.13.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.1","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.2.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.12_1605095409547_0.35961329808307063","host":"s3://npm-registry-packages"}},"13.0.13":{"name":"@adobe/helix-cli","version":"13.0.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.13","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"justinedelson","email":"justin@justinedelson.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"adacfe93f2cb5c6ac607a940e39f751462cf0f5a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.13.tgz","fileCount":76,"integrity":"sha512-JWap6mSiapJfKqCwzqhU+mgwSf97VSs8rTpzIMmuC221pAohqlNcBOnkB/B6fDvfyFc9jK3y9Iymiim/GC4bAg==","signatures":[{"sig":"MEYCIQDejCODIdiS1cnucF/NxKgVim2RuoOFfoeVgIe1lUZifAIhAJAtlFZI5xrLnKN2KU1sHbWQSPVDmYilonQbGtA+6Uod","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":502475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrib5CRA9TVsSAnZWagAAuo0QAKCRzMN00dWmN6elTUSN\nCTZtL2ExCpCwDX+RVb3Od3tT57GFjCg6Ria5tHFe2uN7OD4fOAwIRPt9qB6j\nl3RodhvBkbbpPaDqUkZcGMN3+/inmZwJFS4TtVHZbo/u3Be56naVbOliUGMW\nhyE1T1xywmkGYSIOglKB3wtgspozkuGd2SwcVNVu8gEXMjf7+sflDqNM7KOX\n/EqwlhndiT4moQn89TcvTsmpGunl7eI8j6Y9T7JaSWKSwlNsDHw7jaZUPv6D\nxq4UOsQwu/EyZVmX58yuPD5USvd16H0zMRP3wG9kQId/NR4j+EtCuiucIDm4\nc4Ikc1Vfau78u+OrqKeeUK9Ky1UCjQGBsHvk9poDysuWI2nPTkytbzbF1NNf\npRojiSYPRFE0rEmWpQd7z9zeo+xvg5GAx/DpxWZgHgBr3z+hMOrZ7JKyxFLV\nKqfnoPOYM/iyiFt5KBTob55Qqk8KMSqG6PiwaL5QI3rXsF9YetdwXOxYJVmd\nklSLXLg3BtqyK4BirEhY9PDsQbxIWVBajIfqfswoFLutQyyalCd+jyI90uiP\nroH07I26nL0Cv3cejFz+tehM+YLBXy2rVsyLFQHcx3gxz8NwrGRJuVTONHxd\nAnkb5qtvYuK8i79cLyI9gPw9EStRpPGG6EeyflmN7/vrB+j9B7kRqCgmD+1P\nkOXJ\r\n=F7n2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"42cfc1fbcf8216d019aa631e4d34ccd5159be7a2","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.2","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.5","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.4","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.13.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.1","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.2.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.13_1605248760910_0.18158616155106366","host":"s3://npm-registry-packages"}},"13.0.14":{"name":"@adobe/helix-cli","version":"13.0.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.14","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"grubyak","email":"artur.kudlacz@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"samfung","email":"sam.fung@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"jasonwaters","email":"watersj@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"ronen","email":"ronen@barzel.org"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"ashryan","email":"sayhi@ashryan.io"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"hirenoble","email":"hirenanandshah@outlook.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7cc1b97e1254fe965ef639f9dcc83e318ea4122a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.14.tgz","fileCount":76,"integrity":"sha512-SG9w4GpG/8Qh9TwHrOd4TIq7JZNpIZWmjeynHyTNzW2q1c8IN1/GIwt0BOrp2V1lNxayMz/EuN8mIlA4NwR/sQ==","signatures":[{"sig":"MEUCIH3Uh8yVwF07F0JQBiVwuqUlZShQyh6jth0NWfZzzvi/AiEApw+ebky+QkuyUQa0doKKMTbGmqJHO8+iGmt6x0pWKkU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":502794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfs4i5CRA9TVsSAnZWagAALLMP/Rgu5WEK81p3XqlViw7t\nCSrF7tc4x9hF6fBxGr6pocuXsRmEg+rKolDrn38XC3zY79ZXy54Qbr1tNqBJ\njVtwymeBF3Z07iQxPT1mzb/2S1fdyW9ZDeVd4EAv0wi/yvG/gFJuW62M7eAO\nouIBcyR7tVxmylY7CMo5QNuZxOUdtzWXAScLH0s+Qgw3TkihooMSAdY3Z6gZ\neVLWAlfm4G72awSf5rRdBxdqN9vffLus7gIrm77YjtabNZ/rtwA40coM0Iiq\nr1CJ/dheH8lIuGxko6LLEfFNue4rq4u7HDAkVqigjtqkkjwYpOH1U9k8ghLA\nb1crs70k+UNFVWD/ruehB4mjh0wb5dPRMlB4YzZByQn47cO2gPLT8vMD+res\naatu0O2whs6RIRlnr2bkhIIo/O25XctrB7kvEpXRqDJuOgb1QZ3HFExV+SGT\nBkfYs52Z9LAh3eBHhuCAZzZvxvpCXDhZQugObnwS7R9ctYRdxXsRcnTW4YHu\nNSkjGShAsnpP4k6HVc4NnOerzV2dsctJCg7H7JxjN8J+3YWzifXWaA4mZMVy\nw+6Y2elLgFD2/aZEAlX0Z2UDR36KQpyU8p2mDIHCxSl9D2dMw0yz2VEVGlVQ\ntGPuwLv3y6fr0HUNvadlqXN3ukZLnoy+UMVzxzMCqRP1bxv9nLq+rIQ9L3HO\nEdn/\r\n=8dsd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"a2b1938dd706ab33ca99918180dc46b09f2f4cd5","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"trieloff","email":"lars@trieloff.net"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.2","@adobe/htlengine":"6.2.3","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.5","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.13.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.1","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.2.2","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.2","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.14_1605601464377_0.7254903248113695","host":"s3://npm-registry-packages"}},"13.0.15":{"name":"@adobe/helix-cli","version":"13.0.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.15","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"amadt5","email":"amadt5@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"ibaratz","email":"ibaratz@adobe.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"9d8ddb753a50a562f1a67291e96757a44373846c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.15.tgz","fileCount":76,"integrity":"sha512-hOpz5Ixry2zXn0WAHXiMKYHv06AGMaNaZNNA9DyFyYwK8NUWW2ws4w+dUdok2rP7jb5KznlroGnE4ma+KeC3mw==","signatures":[{"sig":"MEUCIQDMxysTuLP1S6qAYcyeFI7nI7t+pDPiDgfpF/rNGzdMDgIgV0wBGvHm1w+qMLvX0G4//pOaa3jRIvXdmHAhCGEkEwo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":503214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftflHCRA9TVsSAnZWagAA6JAP/jN7YBR31dh15RlKFwUR\n0lJHvAns8yHNvEzIMTd4JTgHkmShniWMNSOQ4QjIu+m2IlBNmKW/8Pllgc+A\nVQZJZN1hC8hNV2QgEDwkV54Ej6e6wV9vyhqU91tUzoMRj4+48iRGiPha9Dqg\nkFTn7zo337Z/F0df8X68tfNWN62wO9pAvNCDmK5hxnJ511BzUe0cFBj4uKqm\ns9i5LTUR8uCHN+PJkTwnMlHJBwEHHSrvKrTshEmyklSaIVzhnNaVs7b/aj8L\nYu+CVw704T2B3Qf0SLC9qUXjfDuL9O0y7Qrv1/dHEseFxn1npGpoI5dMM3hF\nLZC97NZQd6Upmhhf+dMuDjBHYTqTv1nPmAHS9yyODRIvjC58zQYE2QZ+TQJf\nI1Q8/qutKx30tNdGNSQRYKijFve0E7JRfo3UmJt8japtguQgyA3dsF/7Mfnn\niOwLvM16cLsERqfaHC4XwXRqZ6shxVHOuzda8jTJFIbmpjb+Cn0M14PDylyz\nM4ti7PZY6ZMAvHLY/uouKK824JV0UToSUxtEMfrycm0oq7Fmm7+dl8udWpyX\nxrF1f0tKvtoPXF18WtwGb1X7WQD6YsX159uy6LDai3cFBj3SB0xZDqJEoI7b\n/BA3KbhmtnixBHKg15TxdCe62FOl+79Qn9Tdi3Wi8MCrcmPDkAFA8s1s7M6o\nDCZ1\r\n=5bgz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"4bdb4b26b8b5ae12e2fdeae184effc41bd1308c1","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.8","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.3","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.6","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.13.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.1","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.2.3","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.1.2","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.15_1605761350470_0.4397948368443596","host":"s3://npm-registry-packages"}},"13.0.16":{"name":"@adobe/helix-cli","version":"13.0.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.16","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"78a8993a05547ef986f8a75bf95e41b1c7fc5fda","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.16.tgz","fileCount":76,"integrity":"sha512-Br6+u6665jrxTV79YN9PwIUrlUaeonfo8Xbu4DEuCP8NupZz7x1A1ZLAA+slG8/zjkgV+UX7VgSbJWu98KBT/w==","signatures":[{"sig":"MEUCIBmLqC51Hq32IYkzaNNtNaBNraP8akYZjfAWijohzHxoAiEA+N5KvOkM+O+3ACMW8t4YrOT3Atm5zpHtjlamAIlSgsA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":503475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvxFECRA9TVsSAnZWagAAFi0P/0dE6n6vSarNaKcqWcWl\nqUuK1OS4sleJrx5bQ226P60S0A7xfuaYzkjpNQQFWH3wGP0W4k917NSKfcB5\nhEJ8WIx2EPEUgFnIhVhkYvjAU/x+AxZAgEsF+02bhG+HK5LsNzFbfjPLJJIK\nueyhQPxUgSYGbv4SvXd4IA8nSdbLI1nwiiejGK7n1DJsOYi2KZjM1qtwNKyA\nhziuOGw7eQtPZr1a4KkBikARJ6xnmciSNvPLk4yuVxID8bDs/rAJb/4qIPd8\n2QBlMs4ErvEP4n9j9X8Z/lH9eRyfusiauxSgev94iOwBoUs4zhzjv6kI1URE\nUb7HNKa+GrxXvjsxSohizH7VrMYinINMlOS97gq6dwqouQzCOWzhizWQ8Owb\njISMssdZPFKGNZScsqzaTh/1icNKyBR8A1BQVgIrrXwfw2FfSoCOJYs157uM\nyKsh/YPVdmfuIFOuDgTptHBJRzlBHd8J/5O23vns+P6Q6L5AFfGNZuXFgfna\n62ioJ9FUZNggZHxRtCFLPqUFYziB6WJDitXNRZjWew/w5u2/6lqHfxJs3cES\nPWSTHWU6uyCxpi7AMjHJEqmXy7aBEh1TXNmb6i8yJxHP2KvRwOFAtWeJdD7c\nN4skY7cDbWzCjN5+KF/c9kdvhZoS2yCMQSuOpT4Zm7BdS6V+Ye0V0EBm3K2y\nOrDn\r\n=eTSn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"e54df25f6952e545d915f1c9a44cf7ab98cc9eb9","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.9","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.4","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.6","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.14.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.2","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.3.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.16_1606357316284_0.6331940981563378","host":"s3://npm-registry-packages"}},"13.0.17":{"name":"@adobe/helix-cli","version":"13.0.17","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.17","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"dompuiu","email":"dompuiu@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7bd369d2393c4609f8b4f26a2afe49d7d078a478","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.17.tgz","fileCount":76,"integrity":"sha512-9tF0MAVebFZ4udq/j56bmXXDXqyVSjRc3LNRmKlNyR2mgfr+S3bkD2eEHXUPEPnB25Omd/BWmmgN4gxJHXMjMg==","signatures":[{"sig":"MEUCIQCC/nECsTWBYoQhuB0LYxYXTCAVvasOYZRBOvOslOgB0gIgHFFm/hzuJbS/xP0SukDDN30y6ReDgreOR7W482zhcdg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":503740,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv+ArCRA9TVsSAnZWagAAZqEQAJNApLUMTcxu2L0w2DRl\nOnFETNLv9tDAty9HhiYs1w/ZyOAXkMUejvsN+vW16TTUGPO+XsIySP9pNB5b\njlQ/Uu2944qdsNGuBEs7GsrR45LKv5H63YvUVIylYa9EftwJg3L+q5/IlA3Z\nKqNz2YLk6DTubjYp65sJmtS4pyX8m4VwIc/4JsUzvydhFaE+uPDqwc2oSQnr\nsVW4dnYvKh2F4E/qG90JWyYGDVBsG3i0JN0zaWd+zA68Rj5XdU3GEfjxaeOy\n+wfdqNmvODtkMMF06oY+0oD9GnDgxh1TrFgpi6uTublZY6M+KsP0zGS1rzWM\n7F8xz7eePeZh0XHmcGHPiDtnOChefeUqBMtYP2BmMkhv5qbLYwR+XpsIaIQa\nuTnNnL/kNBIgwe0x4FnrZgla7PRjrCNUSX6bijed5vCjteZ0+c+ciGADs+Ra\nrQQU0UK6mnOjYhJ0e0ICgOL5Uz5+voVKdrknwiOKulwSEd90WEOSEb1WUtOm\nY7QiSYSHxkKaPg5Ye6oMNtIa4Mh4HFOnUgp7zQ3cF820lOSo8Km8MCgKAwEc\n2/0zScCtUzJ6VB8Y7BgjtgkfLnhh+EDJdAlbHgsTnR8eBA4u3vJO0aE/bhfo\nvBhApVB6MhdTDM7guQcx6diIEVz0ARo0hk+LsZPBDEfSsLyLQw1E9QmQs/k+\nUVwb\r\n=ryVA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"c9a06cc63d6a44879e8a844fd747627378c41e44","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.9","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.4","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.2","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.6","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.14.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.2","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.3.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.17_1606410282959_0.545744553872322","host":"s3://npm-registry-packages"}},"13.0.18":{"name":"@adobe/helix-cli","version":"13.0.18","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.18","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"brenthosie","email":"brenthosie@gmail.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"czerneck","email":"czerneck@adobe.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"meryllblanchet","email":"meryll@adobeio.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"aaronius","email":"aaron@aaronhardy.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"aemsites","email":"meyer@adobe.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"jfkhoury","email":"jfkhoury@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ea8e9cd66e180b729e98d8024ffc2b71a339bacb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.18.tgz","fileCount":76,"integrity":"sha512-a9m5MR2FVkDMGqbJVKWdLTxztnFXEsE+HczhenIiCBLZfPVLttTHEIfHojOFiQyveVuBi8eT/9wBzFiZLwWPrA==","signatures":[{"sig":"MEQCIF5qiL9apHAxfrJ4lqN72JtPqjxiFjhcadnNZUpnZF4jAiB4PkXsZmR9EAnABV864QQGl5uM+k7wBervORWrWcsEnw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":504059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxFHDCRA9TVsSAnZWagAAQgIP/1Rpe5W5Sk2oNuP14HL3\ndMZBE3/1/oYGY7j4VICQoKvK3nLOvwInt1f3niN4flASvddVrT7bTLX2Mduw\nO7OnkNz0AMM4ocEGmgyvBKOHPKTwDcG5YNMAV6nEVrARvZY7/7dLmmT1pBY5\nXpnv+kxFdxY7IlOUSFqGX2LXeDyxVQ94CTHm6YRJMB178ldI1bMZrDzcwOYf\n0IrfGnr2NwgFb6VPq0UGLAdd6sMdqDEC8t1AKpjHoUmeTrCXofbrsoyIGoHH\nt+WyZOQ+vrQRvDxs/Snelnn3yUo9msanEZ6BRzYQee2q5tSMrtS7cIy9inRI\nPu3hyDlw/4/ei/z/9gBVcXrZwmJ6tN76M//K0zuRfb1YvKQecWeAvTaMwWAW\nJo8y93RyG3WA4958mhKZt0BWDkp5BEdjdOTfi6Nx5T026/E6Dqjv6WpBfnMI\najiupByDRF8N+Ke2JgnYkMtLL+hHcwT2QNzPROsRjYqPEkycP3ZL6XjlNoXF\np9flnjpiPBhylqVEzKN+OwSg3MpaSTe44QEg/8SnTGbvJqnOJquILuUINwuQ\neXHRl+saZsYkLiYgWlLBJbi+Rd+avmk94K8Df3mWyWzyHxTi5zv9U3Imld95\naMaalRDNAhVwftlPvjXnSEyb8er8+qFhP4dRiru17pqnGOVRXOav2HCfPc8I\nS+tV\r\n=60/o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"11c3f19664e705aea3df3a263a80c8bb12020548","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.9","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.5","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.2","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.6","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.14.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.2","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.3.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.18_1606701507073_0.7608440224514545","host":"s3://npm-registry-packages"}},"13.0.19":{"name":"@adobe/helix-cli","version":"13.0.19","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.19","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"patrick.fauchere","email":"patrick.fauchere@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"44cc36ee40fd46f82986572578f4664b5e638c40","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.19.tgz","fileCount":76,"integrity":"sha512-VfBaEI7EgNB2DF0rQDLlsKzb1P/o1WNrTBp/v7opHupKf08jLPDdEAAaaU9YmBBUZKQ3SS0GIZhmnYrIYlAIJw==","signatures":[{"sig":"MEUCIHg18p9kIHj13xHOrhl6qYZlsoC/AtBx9EgoyFn1FaZQAiEA6UZb09hEWcDAHTn1XZoPEPvuSiFRPbVfm0blxvIz884=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":504294,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxbCBCRA9TVsSAnZWagAAK9gP/3wxoNONlr5+EATINPt9\nW3C8eEWhWK8VWfayL45+OmDw9mLoTcQWvq1QWz2PlA+xsknSH2Pv4eFz5JtL\nD+SCJNPxE5bU+PSsZlLOkw7GdtGhd9ff5lxoThqBopOXq/VZRFZ5Lm3PKhDU\nHkrD9ifQt0YH9ar2AVqybvtBN6ItUHoInYJQHqkOYZ5rj4x+d70rCvMbq8ZQ\nwt+iE1nHkK4OjpyQ+tCUEF22/UNctyahC4dTIITttPplW2JvoS6mB8d79PDx\nNYTwelji9i+QdzSdr+cpD6/jjgDd9fmjbc88zHipMUvNqCB2zT5PzW3fbRCb\nBNYnlKi+dTTsutSnqgNM6dijGVkx/yE1pYDD2hXlMBOXQsLc1bsBQCdPh5/N\nC6iW604M/M74vCWsh9L9I/yd/eBHnMTRFhqZNmjguF3Y3Td3SbbbwgKW3htE\ni1P7qF7Ctgn/asRyUcRMf1Gic2EFW5moLc3K0PDaziEsDCuMy3ItFNIfSFhQ\nx0+k1lcvZ9K6vk8coCUJ4//QQvEyuZBy1jiZaWkSDwUhXra7NZX05zYxLM4z\nBw8Y9OxcL6DW3kZjw59Fuxbq18IWp9eQBqsNoxGvfTll150rLW4kOC1WUqCI\ni5XtfvazMIfm4Xo7pMFRuwVMwe3JpVmtO4otrSemEBNqGoBNFJW6tLLK0CXZ\nmpTX\r\n=X22O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"b2759f6eebe5394b41f6ac3e7ebef8a393ffcd77","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.9","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.5","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.3","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.7","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.14.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.2","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.3.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.19_1606791296659_0.8941525704089395","host":"s3://npm-registry-packages"}},"13.0.20":{"name":"@adobe/helix-cli","version":"13.0.20","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.20","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1bf123de228ebac52a2b5c90ff857bd53693ae48","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.20.tgz","fileCount":76,"integrity":"sha512-NLqiz7UgnJVwF1n14QKFPaC2rACxxhtHJ3GcFcvPAQaBFdHAJBjyLzqc37oxLlDZLuK/yTHzZlQla73M4RDAOQ==","signatures":[{"sig":"MEUCIEvAhYqMWZtpda/9R2sSdT4c/ammVynRgJNZKt3Kx5aJAiEAuvCvoaibuTebL6H+TleRaU6A0mad1jkmm+bb1A3Ds9c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":504587,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyZ2GCRA9TVsSAnZWagAA1qwQAJbdhYNcHcWMCdtchKm2\ndAoGXNYm8V+omJ9AAkMHUj2CW/vB61/gyCl+Hqi7tkVeRxd23RDoZqvUZTCP\nVklRPHHg/8Box5LzZNYJ9mTLOJdm8HSu7HW4pooz8LAr80NT6X2VEOIZdYsL\nkHqhVST/zZ0QoTO5nslconZ+0KJBbVquxxGfVdR7VPslWeh7DC4P451YdFl4\nVpmlfbPwqww2WrAzxCkzmG1PgvXmik64LEWQ/8Dj8kjYmdL9ONYcdRbNZn1R\nehA1t+xZtu1WjvF3YDWHJfZHEK+Dl8+AZTg2DFkyGamag9DY/6QMXxLLNMgX\n/dBT+owVR0k4ejrHvxd0v2KoKoGoNuAduHszVpRGlTztWDOXt1CJj0ykOHvG\nMhFXkK/6lT++eml+ZIAUzvl1wXyUOn0+tHQ96hd8cT1GFYatzBTsHc05Hh22\n79I53Bcy4GcqXNC2blUmacPg0NH4Y/++PNyBktvLBD3yKrK3MZoq/fbYmlE2\nXEhL57zjpuhUjynzQVVRqsEl82I1Qoan5Kr6K09U/5N1IJUctusOMlLwXJQ2\nujBvmlj5jGq3b4ch1tB8BPyiTOezCoNllYT84Zeh5UiJ0aOPXQ+xKZKjiZuc\nZxQOgBprNXk1sp650GmY2GLVHbyMR/HjKfQWbqe0+QyTEY0SJj1r2KMforss\n7C5S\r\n=mpdA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"f8966c7a1baba3d5a97dcdb4d98fdc3548aeea48","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.9","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.5","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.4","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.14.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.2","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.3.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.20_1607048581896_0.7819629867705611","host":"s3://npm-registry-packages"}},"13.0.21":{"name":"@adobe/helix-cli","version":"13.0.21","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.21","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f599e3a7ec39af85bb6b67a4cb55a16b535a987d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.21.tgz","fileCount":76,"integrity":"sha512-Tb9Bb+thb3zj1w3byD2Lp9G0Ozzh4jMXHMw3eCWkPJ6IuYwehSrKV8u/w1DlgbIAvgLpHXS13CwWiuz9Sae+MA==","signatures":[{"sig":"MEQCIEfp/zgaIjE2Fc4RdX0l3+e/8xoPwoxux4AbwJ/Vc/aXAiACTesPgg89gQKwLsMJFf/TckST3z1q4MkFH7dBvP1C4w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":504906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzF8XCRA9TVsSAnZWagAAXrYP/0Z8BuS4Grh+O4PBu/Th\n4taeQ4/uXqwWijrVR7ggs7Fj8JFN15bvR6jLm+UMZw1AM3IgNCZiB1VLn2OH\neKKPrlfBiefPlyZ9S2TFXdJhjCIlECFvpScDuUPrpaAvvNbUCtkXvXcuv9uO\nNfwnLGGjUTLidiFMIiXMvs8A9XvzvA4dRqnOneqSLuFKG+OZyL+L0w/1MWUs\nmVM1euLD6AJ4CuI/suyGvXII/nxGBBCSpvfsXpaNb4w8h7A6c3UWC3ojJ3yA\nqlIyljB3ib6EpN4LOozEFz5Z61+LUaOLo1Qf7JKbiJIzTbLbVesN94wNouIV\nf5m9kLnDAMmdoLg1qqrTEU0U9t9rXrsFMHuY24cj5UMMw83Lgx0vuD22CKpo\nmDYuRBt2+gAFpn8eVRZjycNIgSO/bfbl8DfBO7pFs7HLNuOZ4//QDMmWjkZ9\ne4Q1byoVoruWyj/oip31bj3QQTGT0NkHahXJbZm4lrZJGfGaNpI9UN/DFjEL\niSLPU83nNcwvBRlx+FwR0n9g21E7qzlaWWD6IX90k0HJ0iIRDUEFGohn73pJ\nN+eMQqXu0Tc/cMaDtO8B7tjRlaJWIqU1cnZ6p7cCvFTRG1gxrkFClkgyN6Y8\nt9SuRSxKi6t2IOfmalMmoIA7jgnArLeBxcRPOIxhfar3ir1vmmgf3ZByeRnm\nVDar\r\n=woSQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"eb3ac122329d2d9cf801f54be04f1d5bfa72c914","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.9","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.6","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.16.4","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.8","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.15.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.3.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.21_1607229206843_0.23645455240871072","host":"s3://npm-registry-packages"}},"13.0.22":{"name":"@adobe/helix-cli","version":"13.0.22","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.22","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d6cd0dc5b019431cd37d0f7b8486d7e20539dbec","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.22.tgz","fileCount":76,"integrity":"sha512-7U4fj2UMEGj1mWAyQ4oANLudG+0ukQA6nOEOqLF5IwTt0cSIr4M+sNR2bJ4MoB/Y9LW4PFDbCYaVSgqzPbByaA==","signatures":[{"sig":"MEUCIQDJVDYlHBGc714a/ool2ujgURftZFr+dFVpkvoaUWAIkgIgNVzOv4Y4IJVdEgLrmJAX370ZdIWxifsGQU8w4KLJyZI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":505141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzP1cCRA9TVsSAnZWagAAIh0P/2NRwv4BhPkRnJyqCU8x\nlDMIQKenHsOAFfmkkuH/uvkKt7IREF6KLZ5CW4/cwnEBE3ON70dhekq48zY6\nyYJ/W7wAy+FA/2kBaMba982BCoWKZS9X2mC2XSGpMJ5lIveQXlkOmrZIMTxC\n8YEaDYiLc0EBHVPmfRoHUtotkke6I/V/BlzWaqZb45e3vT1wsHkdn6quRd1S\nB323t6VKOoz9J9vojfJ+c/KGctfVVgO4B40sUtSrlcpIdQ+xThxbThbPp9eq\nH27vOpSHfQQJr/FQAvfA/W8HILWp69eLdSCZTSLz/z+SZJy6EIuAv5RbuY69\nek4WRsF3Or/w7NWKhv5Y5LuVfg3+Tz93obdaj5JtRK+j62d/WgZGv99ARKcn\nf+RjPfJWF68FXLQu1FMNRuHl8jQnrTVT32zw7XSHyvtvI4mhvSfwPOizcg1U\nRMIb3mvIGxvk7tjlDjH2gtBFM2lv0lCL/vKNhjjNFeJOqg2EiuqGI1E83hB0\ni0vfk4o+4dujN6W7hqTy71vhdMgVny9XYhP/DvKb3kpPzyvrcuBx5AKundga\nRbT3eC7WhaUhtAfwwVVmnAsyCXWsqyHGc9hFRp6vuqVC0aodPa0Fw7A7iM78\n+fQzpm2j4w7U6pk5bchUvrhYutTCpLHi410l5/omYN0avC2PKxUIEeZSf22t\nrPJ+\r\n=zgNC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"07ee67b15e4beb869149529f9c764db7d588d93d","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.9","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.6","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.17.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.9","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.15.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.3.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.22_1607269723554_0.8615536225767946","host":"s3://npm-registry-packages"}},"13.0.23":{"name":"@adobe/helix-cli","version":"13.0.23","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.23","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"78bc8d890d747d932e0f895c19735e14319551d4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.23.tgz","fileCount":76,"integrity":"sha512-zBgTIJKCDzMIRHCrQoLC7mKTlXSZ7WYv0GfYswP6Wzcka1rpMkjzy7IEA5xxxIGtLTp1gXiygOxupHkJfvjXCA==","signatures":[{"sig":"MEQCIACqEZmEh3mItu2JdQG6nTp/IDu6vV1kDoUv5K0Qf2hhAiBE8Q6ZgYSHCdEGSneP7P9qtjKDrf+pCukUNXWTZxrO4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":505406,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0ItdCRA9TVsSAnZWagAAj8IP/3S0KqJD8LygLlOXjM1Z\nSBoILmLGeGAUTOhZ+ihsvUsR3E1povzIi0ornb57CdK1xec5KTYqW3r8R4jO\ndIAhHcYEYPbSVCqq8AbaJoNvWo+WHsvqrIFJS6m5HHn1QuR30x4b7qshn57C\nWOye3RqpPOPb/KRK0vSkPCCmTyujUViFx8UUxbAlJJuyPJe1pAuKntGv69iW\n11g+ipSm+kiaZgIgdYUTpYvUJA1+4jEyQLvcEDzMJol3YYXU7eQFsXbAwnXm\n4tzqWREHxJYo05Iinh7NAtekbhBLZqEmg36dseaQRuPYJL8nSm5S4PFx8Ouc\ncS9oFhMh/5YMx9G5NCquLGuhhApjYg7fBAfcCbnuYUREF6cMTj5UfqliWXv1\nVC+qoDhsfo9kxqXEdPvUrUIXZMvy8fcjWB0SYLRwPzHiT+XYl/3ZRFrK69wd\nDz8piDiTrkl03Ex7vRIlBvdaqFSK4JWMtC3+Wc5ef2Aoa0d/Eaah2JA4Wpws\nOCia8MZqYrAJmgp9VfJ/dDiUGlyBiSexmSLftxKSd3ofr3ep+87NuWzvX75D\nxffNQAE9ZrkXdezzZou9TXycq8jjK2ujGw0B3XKcRLbo67pBuvtxQXvRnTTV\n5Pora5KypiFNzhnpocUECCvWjxKpRCn2UpIZuRo4XqvjSZjKUDli9C0xKPDj\n8Z5M\r\n=z8Yk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"e201a65050b9145697dc188a91a125ee00c7921a","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.9","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.6","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.18.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.9","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.15.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.3.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.23_1607502684575_0.30067413218849093","host":"s3://npm-registry-packages"}},"13.0.24":{"name":"@adobe/helix-cli","version":"13.0.24","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.24","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d59715d937acbc32eac7600d9e05fda1b096046b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.24.tgz","fileCount":76,"integrity":"sha512-aTLfP/tigJhpevW8S9x19+0VflPDrh82qgT4ioK/bRkiqwVRm+jcpobJfgd77quA9iKsx2odaBKuj/9HcQyolg==","signatures":[{"sig":"MEQCIC3Y4dSLWZQ5xxD1PsWdnylMUnRpRLXMCmSkE4Er3ZexAiAThA05LZluPboLtU8Xq9b7hkU4ErcnWF9xdfFZofmvSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":505675,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0JimCRA9TVsSAnZWagAAA1AP/iaY9qH8DI6tcmMhbNSw\nLAyVlXOCVAZa5z9xqfpZyEuDuutvUASJTvYHIjoX+52n/q9yqV8qNJtBKAnh\nNcPfI6CZCcQAIlK7b6mSdgI2vYzk8D0YScMHYrHDca1sjIES+WkofasyH4qB\nU3IkzxrC9/b2czyLEplJcUyaFqqEOc8Q4/20Ukr6w5Jt6LZRf+IaXP5r6N0e\nkTqaEN9YS6toykcV5k0pPy9anmzgqNs4YE4+/zCG03dV7LcTWoJF6eKHO8Dd\nfXNXRPmZ6PMbnkzTr07Piof9qRf2ExuMq9TBcvfio/yni74FcCkfJ+K0yFAa\nk6yvZCGMBobgcVQ4NFWkpDNP6BEQmVBB6xArSRg7BYOhLYio1Y/3Ijzi7u8Q\nTs3ODbN2FYToFgJbHHfTge9plEVqs2ISb9mKjeNf1+K3WKzAMceaHCKxRm7Q\nN+HJ/3ocLvQTUsAhltnhe3cEfy+irDccpN0BoKonyVYdTG77999hcx/zpcRZ\ntq1Gdhq+R1Rhjqm4UvOvnBLbVucQJmK1ozKyRyaX581RubfviCnsLb0ORNJO\nGSD1fKRu31VcDreQB8DRg3Uuj2hjyKYBkXqVL0vOoFyYb6X9zG4jbbE74M1C\nVPIOZRJIYntgpcCf/sbDoU5wxmow0cMgPvjbup3Vp9WDrsYLEXu2lH8eiAnL\niQjh\r\n=mG1t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"663c4b2df6f50deea2976e134a3c85d8941a66d4","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.9","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.6","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.18.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.10","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.15.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.3.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.24_1607506085511_0.06349349336903365","host":"s3://npm-registry-packages"}},"13.0.25":{"name":"@adobe/helix-cli","version":"13.0.25","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.25","maintainers":[{"name":"bobvanmanen","email":"bmanen@adobe.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"042e5e3296a55f7d0b8f109cd335f62f425f8344","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.25.tgz","fileCount":76,"integrity":"sha512-5djbrwQ/dVvMlPUOn5ueRHgWX2MqAN4FvuoonHqgY2oabTHKzhAdCZAx/Aq4V/5ImFtTTJJOxNfalt1Mb/37Zw==","signatures":[{"sig":"MEQCIFvOtaOyuy69rmILy4eVaAtDgBo76a7vZHKCms1XhypuAiBta2ivxJJ5YncNq9TtucQON+8K8Ymv0hPN83Ger5Gy0A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":506152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0s8tCRA9TVsSAnZWagAAhsIP+gIMD49B1nB03i6kDFjm\nhw4Gm8H5oqjCMI3dxC/fj9T0YTZuQa1f2Gj9e00f62rT47Td8dj/cCGOZNG/\nTZWQwzk/GHk+iPA8JJCkogxns19yB5bCeGpIpetvgNQtrScCdkcDHVzCAhF8\nJ1B+x9H5jIkkj+utgzbnNzm7fg2fUaYVA7NFdmd5VSv6VG2sbLZ9Bso6dIz3\nKDcO1QGbO+JHkw0RxciLGi2fFb9GLBiribg/X0fw1SOhRTXGgmJSaUxCJtel\nwwdHu9MGhtw2Y7FGPbLRYNgOEC5O7AsyRZcIDJQ7aoBylzx52l9E09pfWOKq\neIiUhVnZzO7qvrbyzJup5jSnsJ/kxJzKk6fq4tZJgDzIXRbTA0mKSzv8Y8GZ\nwOvzHDsV3L/J78TspXEmTW0Pqf5AufdzvmwfY5IAuZS475zzaQqWa4Agh1BS\nUzIojJ82eHkNLrZdvVRtSKMCyB+n6d4/WKCMTbZMx0anNUXTJcrwDosFrYyx\n3QFRCUR9YjGMEhKh3zfxjZLGRroSKOcg/hxsN8jabIKJVCuq/GBHdIwKdwBM\n4GF8oMBMHUadygEpNv5okd3CIkOMfGqJK1sB/hgFieKpqDiaVKC9KaNNk+ld\nlaJMOfcYLrgtR4AMPk1JNOh4Ghm/0oJo7n4IFptSTSBVefFvncOjt+MJhxjH\nmk4b\r\n=CkcX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"db75da0d8e464a3b6a4c16968a26919a5b16c763","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.9","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^1.3.5","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.1.1","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.6","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.18.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.11","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.1","yauzl":"2.10.0","eslint":"7.15.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.0.0","unist-util-map":"2.0.1","semantic-release":"17.3.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.1","@pollyjs/adapter-fetch":"5.0.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.0.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.25_1607651116282_0.18506565591852864","host":"s3://npm-registry-packages"}},"13.0.26":{"name":"@adobe/helix-cli","version":"13.0.26","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.26","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"32f8cfde0a0a7e863fcd52b097e8285eefd11d37","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.26.tgz","fileCount":76,"integrity":"sha512-NRJ+q2iOF5rn8tCc3QBwKjaKpabjBfcKMWXQNQgQgdbAkhmHJLSJY4uMUl7Xbj9ddmDKBTBaxM6yl6CGb4WAxA==","signatures":[{"sig":"MEYCIQDJD1rnYSfFgh8vgbqllXblbp3/ZbHgd6fiFVHWGLQC2AIhAK9vTN9yB7GlZfybbmprUz9JeIdhSYeWTzFGQOapyud/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":506876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2xNQCRA9TVsSAnZWagAA4iwQAI30UleZpWQUQHT3auNZ\neAk1n4CT0kG8bmD7hCCsE4rPrJWODDpofzZU5ywCZuWXIrKjRgjkfSApmuYI\nAgZsf+UzjSmKbs8wNjCm5FdBEOqNGhlwjj0a4FutM3LxGcUP1/wr6tglNu9A\n5MXstMnEVT2tpIqCAghoVE3PKzJBd7KiolwwRM0LBl89qXWns2InJHbNfp5M\npuOVW9QR4WrdJRoQqsMY5yE0BMel14pVzbPy4c2XR9vW2GB2FTi6quud/qpX\neJEoQ77VLCcqyvtwb5nWZ9ZhHL1K4/17N+Uc8AHaY6R+OTUZV1pSZPxL9ISY\ncd93xIcea3AkDztp4oTmZqy7uDkb6Zygd0WCCbi1hGdaLRoNSmR8lA2KsOvs\nnerdUmWjdwRLRlHiXYP1qYxVtLK2kDtDnPUKqiJ1vteRjPayJogqd4Es9pAI\nLxi1+8ttdcmBZ2vyOf6HdDsA31d7XZxpbyi4T0ejHreP7VanmoLs+HWu72O9\nMIzDmeCL7wAQvaLTRLLau0biGq43CtAf1pN1krc7HWrgGuNrV7aTprik+0Vf\nb4RvODylWXwscY1AAblq1996t19ST+4/QvmqzwQbD6SHOW3rM5EjLzaRVb/E\nY44BzrgczqdH0ORFD2CJL2LIbYm21IpqXQEuLfIUtN1dTR7W6YWZBIjX6n6N\nuuuP\r\n=wkmk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"c0e1394f46a68bc032fbd839e2ef693b94ab586c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.9","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.8","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.18.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.11","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.2","yauzl":"2.10.0","eslint":"7.15.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.26_1608192848011_0.2984007040880905","host":"s3://npm-registry-packages"}},"13.0.27":{"name":"@adobe/helix-cli","version":"13.0.27","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.27","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4721b6322cb7ee679b2824e193c97a64a1c9e9b8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.27.tgz","fileCount":76,"integrity":"sha512-0/cksGQznGxbJOQxrlLaBk7/LbSMFCd84eG+YQn54xTnk9NFUkq1euTo6Eudh7H7DjMl6GB8xjTjsS5luA79ew==","signatures":[{"sig":"MEUCIA+OL0JPNyhu/EAOrhAKcOqBP+fXLjZigekrmWnBIR/bAiEAp4NaAg3bqcBYmjNheaahTvjsBKDI4p/rrw48ZAT0Sb0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":507137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4DzmCRA9TVsSAnZWagAAFVgP/0eCuAydadWxZBkxfaVX\nP8B3XmgwF1kd/aPuNiOySuQ5ongsce+uvs5gFaH6d+Qvu/mV/ei7k+7MMffO\nQ8Kuj5GdFMfRD1eSTAJg0OmQG4pGBMiIyAaYYcR95EEkJSvgFD8HXAooJqeD\nk7sOWgbV/RNtKhvIbMR3o5Ti72b8DH8Oy3p8mIR7KfhCAJXKzKt+Ms8/fGrB\nSAJinAqDSI2bHz7KJaWeNlwNCO8r0IdYgbn748is9sgDElUCAnwl+OM3tOot\np30FTOJQ1LawqTte4+w1ILbe6KFssptRn1K1Ja2GjV6DAjv3/9XXaOt8pCkU\nyiRTQTxWGbgx1WD0OOHhgXmcTWN1g3HyxfbMQVNQ0+rGX57xolBJH6We8+VO\npojCUUadt2Sm7is4Tk+gJ1Yyswb/j0rhmfPEP8/7iXxACnPEcq7gTHPmL3Tq\n18PMWVuTtQCNufd7zNLSkPNcyH31eJvZTJ01m+sl2sfj9+h6YACugl839iK0\nRkQTiMih3MIPRA9q4NO5XQ04Y3E03aeNibD7f3HeovxuhNq2LIITSNC4tFkv\n2JmAz4nqC5Ylydn95DVr/BOKx070Ze0fErFoJJCRIZeJKlsetPBuw0q6oZ8/\nJ0g86nGPQtJzCTx8TNl4pNXoaC/Dan+D1yfo76I3DU4Y7hUVPauwmhyw01PH\nk+S7\r\n=9Q3C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"c4c767e71d47d654c2dfbf1bbf5193a7d7929b74","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.9","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.9","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.18.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.11","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.2","yauzl":"2.10.0","eslint":"7.16.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.27_1608531173875_0.5933233053215741","host":"s3://npm-registry-packages"}},"13.0.28":{"name":"@adobe/helix-cli","version":"13.0.28","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.28","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"0ff81ae54d0cac063ade9a7a41823f2b16df1fa1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.28.tgz","fileCount":76,"integrity":"sha512-KKUMImHiUdqL2kllmQMCZ8pbrvVcE0PChZZ5MIWEG4Nq52jOoBXUqHL2mM01UYEuPLFgcJchOjV4Mx68EnjWBg==","signatures":[{"sig":"MEYCIQCfV/1+X6+VXqn8cxcRgkY1UVI4Xzzw3nJ5KjhKJ3X32AIhAJQ2laI49Sc0dg2KMhOciJgl5mjHVJGgKydCBcqbnhV1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":507400,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5ZyfCRA9TVsSAnZWagAA94gQAJZH23thILIIM0n4U3Rd\nbFzeu9fx9FJo/kAnJIZ+WzGzgLMUGokTdMrrDbrMbg5xEbIkmFk3VNMWJYpP\nv2tpqgFGstXKQd7e4alnHMXykv0UMHJQZIeooGNmKeOY0Or6vqxwddLQbvwt\nwJ86AqN9dCRPtExvIrMBG0xjlPwbopgwdxhBPlwWYhX6AUhQoruE4iOk3BNk\nJVA/EQaBTfGrwQl+m5ncVGDVRW71c8s5muY8ChnAJF23yHdT5sAY9NDKciRi\nM6d3cIN/qbnBW8568X7L5a6menpFSsaP+WKMukiDi9ADhC6+7tDKis4Rmp1e\neUY5uLYGf/gUcLFs79h5PC17pyo5twa1elI/0Lygaz9GtymetNSrwpYkqg2e\nkfgPXRRejJuhC6yYTUuTCBaQFfqhxw656TmrIBGiAYVqP7C4jYJMpobrHSTv\n9tcV2YBjeKUyUmuJWmAZODjBmPF52cdjYcYoc2s6cWk4+7MTsFoN6RiLW2mQ\nrLguOUjDx6WPyOvxeevQGSjR1eVwS/W+D+3DOjIwUw362bqtAEBEdsIpPtcG\nguZtYYIlwWJOK2wkJ4vMSbQ7PSTj81Z/2jUxx/AhST6cJNgFhOFVeIxtOuiI\nh3W1m32zRkSlMwMvKsckUnBQKkzT1eGGTNTmmW9D/e83GMdDHqp71wjDgcJd\nWDQ1\r\n=Enlu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"62cc82182fc6e8c0a4c41ef28546f59ea8cf4089","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.9","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.10","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.18.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.11","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.2","yauzl":"2.10.0","eslint":"7.16.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.28_1608883358970_0.458655071322696","host":"s3://npm-registry-packages"}},"13.0.29":{"name":"@adobe/helix-cli","version":"13.0.29","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.29","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"richardhand","email":"pid90611@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"61d37491696ce0f35fc4b741fd1a552bbe9f5fa4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.29.tgz","fileCount":76,"integrity":"sha512-O9q54I+aNJwnjTOz/K17Ihxr6BzXSpuB/TWwKLBirL49Thgzvkb6us4jxONb8UqWo8QSN8V60wHz+W00Vad/KQ==","signatures":[{"sig":"MEUCIQD/LHYZM07y1JM+9lmiMf43DlAzW33sKUoPkyRM0FjUwQIgUjz8rMHgKszmmF5bMJE5D3DTQ2KtVBJLl69fbYrAU8M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":507662,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6E0iCRA9TVsSAnZWagAA6fYP+wQK+vGOFWUsC81dk5v1\nOUBmMo34BRhhYiXfbOQ4LbLqPE94v3H8onW9NBPJdzHlK++rzKgnYGgFzaPa\nvL15t1Pf0Uz7V1pXTZrvA7Gb7pBTpdtIwy3ZagaB0jqLLiWil1/wZRka5dqQ\nRJr2+XDC60ke3Etd3sNsTgU8fyH95PDIj6Dg4eHYXDGHwFBtgXvfspvHUUwL\nYjjqC2PE5mAOv7VzGiGGoubnSNXvUTgoT26qMmtxKSf7qLu7szYqXuPnfYyg\nTaoBTGtbyjxibwmGzrYyQpYPR5gTvOpj/PMtysfUbFdZ1YcYW4iVySKrV21k\ni+u8XhVdSdYDMViHoAfqyK1/c1hVpWmvCzPXuBig0Sy/Wh6Afa93mlvGv3wY\n8ADF+HXjSugQ00Z1RF6pHRbaOJJGoxJpysuqSA2BTqNDxrZearQQcN2D0NZP\nUc9A64hZ1RfyKCTPgHCytcEccpM4Xe1jg4rqRkvT21FxlIaLr5SYW9phX6sQ\nbIHlMO7Ib6HLK1WigKsfYz7IufeGKevnwLBoiF7txxzaD/d0OAMZImYH++xC\nGPUZLxtAP/MiBOq4tMFD0VbQ7oquBhL34h3neq/kEZ0t62MgUvnzxfdCcTV5\nD/sPsqV6EjdxKjOLTQfKS8MCYCwNfqgSyFbDRfl2duGQiDWT9eyVop1QVWJT\nSYMz\r\n=gfAC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"a07e486d65628b490a5e176e387c63442d8aab38","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.9","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.0.0","uuid":"^8.0.0","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.4","lodash":"^4.17.15","semver":"^7.0.0","shelljs":"^0.8.3","webpack":"4.44.2","archiver":"^5.0.0","chokidar":"^3.3.1","fs-extra":"^9.0.0","progress":"^2.0.3","camelcase":"^6.0.0","openwhisk":"^3.19.0","@babel/core":"^7.8.3","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.11","@adobe/helix-fetch":"^1.7.0","@adobe/helix-shared":"7.18.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.11","@adobe/fastly-native-promises":"^1.15.0","@babel/plugin-transform-react-jsx":"^7.8.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.2","yauzl":"2.10.0","eslint":"7.16.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.0","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.29_1609059617595_0.770164954797562","host":"s3://npm-registry-packages"}},"13.0.30":{"name":"@adobe/helix-cli","version":"13.0.30","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.30","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"604bed5a054340b503de91c8e20e7a81fac39b6a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.30.tgz","fileCount":76,"integrity":"sha512-Hz0lFdUXD7mIaT0lzwLjspC4OnNK5FPIWztHFfn1Se7YUSfitZzGCSGvq3cJLEQql+XBd/0JawpReHx/lpOsMA==","signatures":[{"sig":"MEUCIFOyn+vlI8N0UU1vPnXJxSM+zzXw6bZpClRy5bP8pAkbAiEAyFPJlPgaSH0XzBlvKnUssl0YHntCcyOSdSCVObKKkac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":508015,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf8+h9CRA9TVsSAnZWagAAucgP/AolvjIJkSPtBe3MoWd0\nZh/pgaGof8lij63RTwUls3LCjV7LznVyJj2qc4IbRLQiq0pwD0kvZgubzSNQ\nQcvoYayrO4BcA7oUb37tJZxv/pQlD3WIrfiTCSFovWpnv+ZB995BSSuhNzhI\n2JCF361HJICCwrkIe6725NqoW4D3K1FU+SXoh7UMEQ96hRSjKVrEd7kANU5i\neQSJBy6+Z7+C72WeF5KTM+2BfADJFyHB5fC6Ts91BJFQyzlx+tx4GXdiGf5/\n6BAY3S/aFFYxCQpwYrmAn2Vt98MvOuIOqrfArm6TqUrD+dOpOJkZX7t6De2G\nuFEe22gkFLWlQ2wu0tP88BZn8/nRkB8wh9Mq8iL+gQxg7VJtv0jPi3htF1MJ\ne91ACgApwYl+moroG0oVUhlIIfij2oCRakbYGd+oeHw7pujnhUEleiYlQWj7\nNHOhNE61Q7orvVB1a6mrFIONygkoeWWh6H1qpLvlAqjtdlGFlpapWcMtt9mr\nHJgzhOn/aXEG9bn0lc9eW2vF6LaUq5xcrL5qevGc4y0VXQ8OqdFk6ppUKZlx\nda4di3HJzzV8mLiGavFaAZn2Iooauh/LX/WXWS64Q8PmEogU9mNWMpvD98q3\n1rFJULBZoNBgRHyylB4dwIgHbkz4TTk9wtWWd8mrBUDsLSRwFAtLiuovvcr9\n910A\r\n=8a3C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"c7a2a9320eb28ab467c68d2a0f3ecb2893bb85f8","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.10","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.44.2","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.11","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.18.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.11","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.2","yauzl":"2.10.0","eslint":"7.17.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.30_1609820285234_0.520182817304371","host":"s3://npm-registry-packages"}},"13.0.31":{"name":"@adobe/helix-cli","version":"13.0.31","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.31","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"607c9d2767063858e033b6711b8ab4983e2de3d5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.31.tgz","fileCount":76,"integrity":"sha512-volRHSep6RLmzGClKN8cIbKkH+QzOojD4DWPhdCQhawR0ZcOGMHF4Qo6chF5YmaOnKMPRYsfS8Of0FtohAYCZQ==","signatures":[{"sig":"MEYCIQD2VnyMPgzPntAdCGtS/3lMq1ZMCdwolCVT1b1oW80XtAIhALxrriyAzfCR7aEK6E45Xm6K/XzOjtilYG4H757TW9Um","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":508359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9C8FCRA9TVsSAnZWagAAdd8QAIXpsVIki+AfDiyJA2m6\ngT5KWYP1iu/0GEe35cB3hYOlaC+fufnRKZY2yYSVu41LKZAwM/AY1oS0GreU\nNSXfFfjSC1xJjVI+PzGhYvo1PUTJUNKe4C6giBE9vFbn9RTjsnseUdmJOQKy\nOQ2/My/YlfLKucnSimgusMfikfWrQUO+6wwj7OOqANEaeMGkfkTAwdaMvO9q\nCaDxQYyEJQmwlYxrNzuHZyppHYIukX4SJhIAiWATmv7e5mo01BpDYDYDQ9VY\nDhTEkn0pwKDPov6sBth9havUTRKulDCXAzQRZjlJaSUhXoF5BmLPVIsVYyoV\nM5SON0NFYJgHFRHOArADA2ohm9tdmzj1+IjGIpidIUxvwJSOAe2MuGc6O5DK\njaydjS7HzJtTg5IUNLqKXAFClDmN2R8XrrcbvO/wFSEMhT5YTVxW0HF1kjz4\nZh+/eISglCKoQ66RX2ojEFI9ZRUQl++KcDCjFDhcQdfxPP7T005n2Gi2MbgV\ncyxQMDLO2GW6C6PLQRtiXMNQk+Oh7lIu0jn+NdNneQcfC0Q6kHh0ZmD7ngN+\nvBbxjDj+TzFdd4z2GuOtzUeGUvVBZaEaLDZMM2TCtPkOcLdEGwKQvr/8QgvN\nHpTedlo4aoP6RvF6cL/ubEwbcBgVnRQLxqOJqutfgd8SxvVjKRYA2+wX4ZMv\nXVlq\r\n=Tsjw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"96f0f771dc3f30ceaf86fb06d530999b84fa7f6c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.10","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.44.2","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.11","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.18.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.11","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.2","yauzl":"2.10.0","eslint":"7.17.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.31_1609838341033_0.2311047819462626","host":"s3://npm-registry-packages"}},"13.0.32":{"name":"@adobe/helix-cli","version":"13.0.32","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.32","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"46b7d652bc2c6ce2edfecb70dce5a2dfe13796e4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.32.tgz","fileCount":77,"integrity":"sha512-I+n0enQo+OMSYMASZFr9i98ogIJSXEZ0vX78kztC/muOBdsr/rB20KYUdKizf3eiy05xVXyZzxdJtjo8d2djcg==","signatures":[{"sig":"MEYCIQC3zO9UtyMD1GZ3tgrcE2rXuT0XqrgA0gyJgvR7m/5hnwIhAKPPKpYXduCdL56yZjeawkwVEeq+FFhaEP70wWrm4ziO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":512133,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9FTQCRA9TVsSAnZWagAAixMP/0b8tu7/mA6svbvRA9jU\nZoz8+MRFKl/axQegDf/RFjjprO1fIQ9+XDseX1R7dSKebp+79v5wi/ltN7HG\n5MbSJlMSQc0aTyz5HpuniNKYtBRDRnRU8ItIaykSW1Yh6A+GCKy1IroL+CQW\nbqy5YDjE/4sZa3vXIBOp5dLK24JXcEbhECkg5j+kokk36qDT8VUdCqPYRw+g\nLMumod0xmsitEBgboSLPvDV/0/I1UPUmNu4XrrBiTrmfO+7ZT0QI7GWmU35q\nPH0Be4cTeJTpItggrf5oSzyqLnbo01UddW+3ibHYe8zSydu+nnsIMEm2P3XL\nk0EemLse+tnLU11tUsIr3yejByWrWlBHpLlKSkpOqoXjFK2U1ypytWv3Za1s\nwwET6zVHeU1JlKDQbRo3qqlWzfj2Hm9MaNNiqhpLCqe8f73GXGuDdvcENPqQ\nrX2y+atwpWthswn6l5HJIkdJ2FyfQnRHUYM7rQeifCE+BfrL7tgXMQeJkL7y\nM0uzn1BkZXn6ePT50cEUSzn52E4Jw66ujsgcSPjRrgYxfCP/u4y6k9CAh+rC\n7Qe+jX40q1WT77rPb3O88RwzcT79VH8an5EUYDMN1FyJPS4nKWkr34e2M8H5\nuL+FsrnC/igff8Gbgr3yMS7CxV4L6qQGHrlxlBg0vrdtjZI/LNkcxWdzg0YP\nNhdg\r\n=i7UX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"ce8ca1d429fe83f0280cfe5949eed9492cb9d470","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.10","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.44.2","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.11","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.18.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.11","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.2","yauzl":"2.10.0","eslint":"7.17.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.32_1609848016008_0.5892843122267273","host":"s3://npm-registry-packages"}},"13.0.33":{"name":"@adobe/helix-cli","version":"13.0.33","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.33","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f67e79e1046d767227f6775da8751ded4c003729","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.33.tgz","fileCount":77,"integrity":"sha512-N9ijEKHhE2HoqvSM5WszbZPKTu6GhSTT06aiH/eVcFnxLFyZx+W4BIQq9hRSj6Uc5U6zXQMx/EQeVZikM3evoQ==","signatures":[{"sig":"MEQCICeOokmuP+eZ/jZhY0qZZ6z3f1pzRx0mC8XQjsBTYLx8AiB89zsyKXK9j9bhz/ZRn7JAZZZTn3RKnSYjLoak53YqFA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":512459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+D08CRA9TVsSAnZWagAA8NsP/3AIY6YPQ9DssYUYbYtU\nbsJaR4/w0mtegKzPkMaCTricQkYN1GFdZC2xsfset6XyUXwiI9rNHuuctaee\nN4/aW7q1QQ1sKpNhLPW7t/npiybj34AiagfI4XQKUDX5rXgpsvxZEaEhCDv7\n/2Istv11bvEJ4IDZ+kU3VVFniQ8L6x21C8qg9HK5QT2fRtq2piS2G3I65Lgu\nlIOW4jBmK1CPcsZiWrdlK2YW1EVryhdXL0aSM6YqKhJ1vqBEcVXnkWlhf2yz\nFZYAFpFrHWU99i4cCZCdfm5pUEDMAyO0KUESnuvK/5tVew/6vWrAxlRIazOy\nusalktXcn09YFmOxhHDYS0sqE7wYoXVlwCge4y6PDgHxOc6MNZ0LJI0+rg22\nA1QVtNVjDeb0NOpUV57cx4io8TECumSo8c0Shj2eE2FpLzdxEQUV49R6ESOH\nKvSQ3mgufKfRvI5csKocGd4dqTBfRAKKWYqH3knE3RQGDdfngyfb6DgnvjzE\nJItYEgdH5tVoRpSKhDKY3XPHylfGqpbUi+6yLWN2gxVmVjz088O7xkMRAeE1\nKhpP12TAemFYUfxJMd2RQ0w82xj1/brE2Qsz9aP3I0d6upuviDR5mxSq4pEr\niRLn2hii8J79WVFwrnn7sjimVXpD4RMUZvSg2x+gfkP3ScapV3Z9TcO7F7RL\nAM5v\r\n=zqY7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"064b41141a5f57810d0717de89fd2d70d58412fa","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.10","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.44.2","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.11","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.18.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.12","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.2","yauzl":"2.10.0","eslint":"7.17.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.33_1610104123760_0.3514717421465785","host":"s3://npm-registry-packages"}},"13.0.34":{"name":"@adobe/helix-cli","version":"13.0.34","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.34","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"e0f958a67703aeae61987519af7d331a1a8c5e3c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.34.tgz","fileCount":77,"integrity":"sha512-oiR9CB1N2qco/tydYBxPUwWv4RASyfKVuRepUi3Xdk5eqU1cOQKFCmSL/Y/g/6E5x64rdOjXnXkA3VZb5g8KIQ==","signatures":[{"sig":"MEUCIEjjg/4rHVqrl/LPnVnj2cIKrmp6V9HOo2Wpkc/F7D4LAiEA7eD8QwThS2xkaTkUa14x9/WnApXH770nKD9y7dqhaeM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":512721,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+FIgCRA9TVsSAnZWagAAZ6AQAJTmbmhmHFw4RyKB4+8h\n0rpfJSl37ELNskGKuqjl87JWvf48xMQF8l1fxMaRW9srIdGBTC8l5DSiXVXL\nCYPVNf+w0SjwfoRMZUuVQyhPpttqHkKD4Jxoa4h6zR4iT/y+3eXB+riQxdnO\nx4JhTefwH4B8VqAPKFs5n71QUjCT5qjhNGgsHoEmnO4kw6LbRU7msco37u9v\nNlTJn0xiNHeJJ5va0IrqfvoZGXLn7Ia1QwrBlOeQgAKFYrDltSY2rypyb5Rf\nF4t9KrPMR2BXr/R4e14h/+hSu1fbjo2oBXcR/EakUoSgst3DQHOX2nsquhGt\naWEr3NPWsoF3fmoSnhTOOG2ssysmygZmb2bMG1jMM2RuSS6nZzORHX/K9X3g\nqSp6VJruVy2OZRHQy4IHARxyXQhMU5T1+6nhI/9ot7zS5aRna41ykqLdxTBr\nfzdAoXnOzmmWsjFmG56DflzBUQiGY9ksmPrig8PiNNi/r7kxTemQ7gOp6MV4\nQrXR9+beGQ86O+bNAEsIzfMnUn/ut7R+5nlmlL7Sf++Hx+1PyPA1sKki1KBU\nAiwLfuZzFc/VfyeTYLsQhm2Ugw+xFmnJzRLAQli3LRUBvwX5EPkOzMm9Gb/p\nvoUAE/NYtVb760egT279MCvubWSICMrcB1ibehkfM0fZG78P0rjYIJqCzpj7\nskrK\r\n=mv3z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"80fc0334ce0e135c5f0963212eaabc9ec628e1ca","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.10","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.44.2","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.12","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.18.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.12","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.2","yauzl":"2.10.0","eslint":"7.17.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.34_1610109472327_0.9770703115373152","host":"s3://npm-registry-packages"}},"13.0.35":{"name":"@adobe/helix-cli","version":"13.0.35","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.35","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6b1c31b5213727fede15a5d56e884178d880767b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.35.tgz","fileCount":77,"integrity":"sha512-f/BJO+ZPYinHyCEhZmkbrRO4vFVgQgDiUhQYFG3fzQi+RZkTHp2FBrl6UMvCbUVYIagag3n/R4haAqD17kqhXw==","signatures":[{"sig":"MEYCIQCsv0qLX5OIhwzJamIfA0Sq3EXRX+YTOvNRWs2d4Hy0UwIhALBZ4I1deLdXfCUShvnAa5DOz6m+6FdFZ/QoYBQROsOn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":512533,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+KDACRA9TVsSAnZWagAAA3UP/3fbLJ4Lb1tBJ1JHx43m\nUIh85462+NcGXShwIRRuef6d73m+CrHUMZtKoqK5s5BVvcq4ONiNz63DAUDs\nXslH4FZU8aAA9XjfCHhygI5n+18H4uFGzBR9uHhIHX1Mj9+j8TyAmKDObvgq\nEFMcNVPXXNUGpNhRercLFVKT7IphwH/L2h0VGFc52Y7TJZGp6uPTSn+is+Cm\nfAV7dvO7cbEMF6NziuESQ9I7PBZmvWfiflEDIXKPsBr5MOD3EvoSncAl+liM\n3uD8oXx8GkfvrMqYjkQvm1cQzyL+yqwvZk695c7CsmHovfwE3HlBzZIYpF9M\nSk2AyNyU65fNgscEsygzGw8/wH9pr+tqyRA73NmIvY7/AWMG9d2jI1eu7YMF\nptWcnrXeoxqaXBbOnAGiAE1LZZ0u2ClFokcSxa5cFk3r+deF+ig1FiIAeDiJ\nHlUv0xuJ9b6XzDbMB+pqE6eJ9EArhyPWPvF27JWsYa3oWFB9fhi7SGhZgDCb\nuOA2xmKZZfI7heWdRCiMSCjXiC/ov4aGZROp6gWc75RFmEz2OisH4TW6S6Oc\n8lsX17q/whtJniO0sE93bUxSSW2z4Q9MC9JI3ZCv7QaWthuaAzqQoImsdNgS\n5mOkayNag7nHvfEh4gCjamukZ0qHhbx3jfWK5V8GC0xZcyYh8IgeFPcUVLgA\nsdFA\r\n=zh7Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"47e77b03b77d4c7716f8b50e785b45ca91c42605","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.10","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.44.2","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.12","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.18.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.12","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.2","yauzl":"2.10.0","eslint":"7.17.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.35_1610129600362_0.9211909277130803","host":"s3://npm-registry-packages"}},"13.0.36":{"name":"@adobe/helix-cli","version":"13.0.36","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.36","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"fc65784fd3ebfbf9e93ea176beee8c686e9b545f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.36.tgz","fileCount":77,"integrity":"sha512-DNkoGaMAQkXC+2SPJAl29FxSh3UIVCm6Rz0DbeuYFaS3MykA8UbTkwcaD8SQUMdffX1Sq1dbdudO5l9BbmtXQg==","signatures":[{"sig":"MEUCIAnSVUiPDcezpy6ZlzQ7OBu8r/E0yhhdoLzwqyPyrYHIAiEAhuHnGSJSj6GiBTFEWhvFdtY8kfeocX1OJ0mx7PeFZQY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":512795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+S6mCRA9TVsSAnZWagAAt0IP/17/He4eDQ7VOXCk3t+f\ntvTLIujamrqHeDyivepsIf+YKW1HNuxvnwh+zbU6Sy2jqYhUOpm4dJ7toHrV\n8l8g4CEG0GPRFMxu43XeBi2ctUrk2zx21goF1dyr6kLyFFq+Y/RfoyLWicLs\n7uWfx3TR8LRMKUjv3R3E0CBOSfS4RMdGZDSeHotnV9/nNqn7uz53HlmyjOVz\nUtpTfrKatvMro5JxuBy6W4pGL/kY3frisxPU+JlHTTzRyt426vw984oMNwmy\nn9k6zrlROGkKSgE9l8LIcrIDGnGfwhqi6ZAej584kr0+f937NW/Qs97230VU\n60iLLlRi5CCgePqRZXoy3ub8Ozn6Kw3tt4CDpE78opXsRngjDCZUlUPszJWh\n6C7GM7Hxz8jUM4v3ah78CBcesbRPI6a6qqts+elroZa1kAeKYoY4ZrKvipKP\n+anqHO4vlSTKbG6pV00ksAh/zvnM4ezD+lYtrqSbuAHvdG00XN/LvYmN5xu5\npQXkJKqx8vKEJcuXM9Om/Jku0vddXWynjQvy/m8TqvHSAF3qLJcuaPyUXNIz\nk47vpbClBAtcLrtMtnzr/4ROR2W6hDLcJACDgxGWMN7ZySkGOEi4E+DDF49u\nCVc6O/M1fTIx/7TYThuT6B4+AmqPwM9FSkg7r5HqVUirq9GXV2v4cEzdlalu\nh5Vo\r\n=JZK+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"cdccbc80c52285a0b4f0a6540d4851d6d4260fb4","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.10","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.44.2","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.13","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.18.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.12","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.2","yauzl":"2.10.0","eslint":"7.17.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.36_1610165925626_0.47463333485404413","host":"s3://npm-registry-packages"}},"13.0.37":{"name":"@adobe/helix-cli","version":"13.0.37","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.37","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"9d4e266135688140c405477d411263a3881b4ad1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.37.tgz","fileCount":77,"integrity":"sha512-vohADuw4zv39x4+PMHJV7XKy9aFU7oRjPsFbOqnYfTDhf5YfnPMu0o2OYtDA5XMzEmqaBha6GJaWn51diHnBKg==","signatures":[{"sig":"MEUCIFPfzVzIBqt5mJeiCQRAhF+BV/4bIFqIIFdI7VgO9wTlAiEA4PlhWEy5q0CNXAlYjDIbxUZaJnujPm3EjA8nMgW1F88=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":513030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+e17CRA9TVsSAnZWagAASP0P/0Fw8qkWM3nkMy29Xv5u\n/nCjf6YGV1ttdGdlOwTJPxpAdx4IVuB1Ub6qbo80We1sGEV+D6FghXNeIgM2\nZUGB0Biddmglo7MONgwSiLKvsf0VauKud7NqAO24gIMZ7nokdBY6ASjvyFDo\nQ9eDeiQp2RO0wQy0sjauoFZ0CrpcFQ/PjJi8y8t1ynsKcXpwusEcbFII1qkM\nXxMVhTTWuelI9KyEETDZDQl+MdL0nfQ4I8aSqHMvZIBRDpq86AnSxcFGXNTr\nNVAj1dunOX0ZIBOAlWfLz+mlZMZbTd9XptKwRl+LFVh7uwOAsI17GjWRAhuG\ndIrGIx8oVqcYy+4aCOgfagwfwdOBy21Q229fsAWf5tdy+JxhA+Ey3fx2rR5R\nuuI8R6Y1xzFBb9CpZSpREARd3RPrzt3xGG+bWQGyj/wMu8dIU+YZuq/gFgTr\nDMrNacRE6cmTcOp9zN3LHxmCLmVGV03gOPds7k8mjkcVuQVpa61lm43wB2RJ\njwyCekzsUNx3RPAeZA/Dw0DddfI9MtESSQZC70aCMXXPcEj1UXvBC1wdWb0V\nxm++UapmhMAj759wrd0rpdGpIFlaP82N/8J1gj1GNiRtxa4PeCxai5tCUt7t\nSmWXnOozGFBxiPgr4zuFgFZoWlfObVPjyT3cHBuAogDIWJGMaGexz344MENl\nJfWh\r\n=oQca\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"d41ca090cb36489f3ecf8fb92e126ff503107952","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.10","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.45.0","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.13","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.18.2","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.14","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.3","yauzl":"2.10.0","eslint":"7.17.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.37_1610214779323_0.17370422300789956","host":"s3://npm-registry-packages"}},"13.0.38":{"name":"@adobe/helix-cli","version":"13.0.38","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.38","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"112fc5521a0d717613ada5f6c79a7d65ae6dcfd8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.38.tgz","fileCount":77,"integrity":"sha512-XC2Q0cI+SWAIkQg/XIcNwWYMkB9dpRUgQxAeJlCOCkem4eDQplPbDoPzgJE+u8R/hIaITLpmpXeBBPYd9DVlmw==","signatures":[{"sig":"MEUCIQDk5VzLE/TZ6SNyiEZ7RvyyOEALeiO9zUv6G7Y5ZTr7bwIgInZA/xOrSzPHHtwi5TEGM7PkFfVah+lEwA+erVaWXlA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":513295,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/B60CRA9TVsSAnZWagAAgfQP/AurezhEyxCeTH5KrLdf\nw7lX9JR54sdf/mL9Inuem30CDVy32NgO/8PnR4gmJyo/9R2Jv46VcvMCPojz\n+PlKC9upZpO8bXgA8XhwCoKYBdzZGz+jcwPnQvxSnC5/a3skQ8vleYX5BmmX\nxeoK/T6FiYTkJufsQTFKAI7NNQniVjxPOFgy4fm2Pdv+Ccl9aDqyL+vvveO9\nPa3UWx9kdY/PqiwbYZJSQ5fTpHF1PkS1GpNt+CT+CqExaeSspYMB3H/ncEhJ\n8uOY048Q4oKeBRYhNan7esAMKBiEPTKY4BAh8pvQkng/qpbcOeDMbGx9S2jT\nqt38+TlIfSou17Ftxwa4IsJXStQUeybmvKtnpiAz4DKMgpkeRFqv97Jai+C9\nD3uQzWubnvwr0ZK/L+B9YrVvlTaOKa8OvAMBxt6B7CQ7uuOh9QiQAwzpBCIX\nWPhG8Yz+ydpqFUFSJDXdiunQxBIYydbBi/7R6EDRp3W5/vJ3vLzNhfDCnqQl\nBNfXImEwem5iKApeM04+PWkQ36eymWCDOObdiMw6nGb+dFVbgD9mNZNDeBeT\nKw+e3H3THUEhsft5IjZbBykIKzq14WbKnD7Iif0jTKs+kN/CXi/MrtPrEVVF\nyCu0SF0Lkw1+b4KulQBgiI3Zwqc6uDiU++HNVp83UtfwO1aRqAXS05t87Nl6\nvz86\r\n=iaiV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"635669016abae18540c44f851181d3e67c44d803","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.10","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.45.0","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.13","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.18.3","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.14","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.3","yauzl":"2.10.0","eslint":"7.17.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.38_1610358451611_0.2266800609915287","host":"s3://npm-registry-packages"}},"13.0.39":{"name":"@adobe/helix-cli","version":"13.0.39","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.39","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2d72aa5c1664c9f3fb681c745daa7d48babeaedf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.39.tgz","fileCount":77,"integrity":"sha512-szHdQp217iI8GEGTtOUNhAldEzHK/JJbjvif2e9vIx4EMMteHpc15zpjRttdJaR+0vkvmmgvyOpbMpYn90UpAQ==","signatures":[{"sig":"MEYCIQD3GbWrnn4s4TWJWFQwBBo7LMMRp1/HDStVLSHo7F7rFAIhALuTDZ/gJ5YWlib+K3dF/I9u3HOJ6g67aeXarExy25Lx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":513717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/mynCRA9TVsSAnZWagAALsAP/06lc9e6av3APQ16slhw\nbCT+JSlaaaKtpnthE3vICKeobdenc9S5j2397x/dPPktP9zzX188vAWW/r6w\n15dHgUghu/bYMxtg7d4Wl8bO1+4nT48XOC0+CH+Lff7fxqx4WL86QQShUPIG\nGP/KOuNsGOC2EScRnYQdZDQntBF4yitqsxKnA55vjzJaG21V6w5C/iHqJdlU\nHsNmZOpVfVf/9oAlf/s0ZbIY0UiskFRkKoRTlpM9zSO88whf0r6+FcvZQaNv\nyPC8Npn7ssJ7YUQxvEBcx+imPVpQ3UA2DaJpLS4QueeA6OK9wWLPCCFJ+muW\njevVv4wgT/qDW68Ub20Z9zecxwhBAoy7QImxmY4ISiP183qc+uEl3XqoEXBq\nFFnkjayvWDCuUIN4njrbaMadDaELNJ4dTnllSgb8vz8IDUJ5sFwZu4260N/E\nB11JTguvr6jzOV1gct3S2dN0KPEKUQWbLULfCjAV970o9n1iGrTRmmMreuCA\nvwnM8myNZ+auzvxbMhUgaCW40kKCWK87gWmWwFPGbhgDA3aIRbMf91XKtZPN\njvaG5rxy9U8r+LqJkl4oMJ4Vo52ys2ir7ukGm65vYZHc04v032FiCoVcRYqJ\n8jiLtoJZ/cJWCboLNLz+Nffb0GYP+skGG9H4Ivd7uZL3Q6T4ReHA5qncVyGw\naH9n\r\n=qdl+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"940e7424225eb120f21d517d221c1311c92bba56","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.10","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.45.0","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.15","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.18.3","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.15","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.3","yauzl":"2.10.0","eslint":"7.17.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.39_1610509478467_0.768412678784349","host":"s3://npm-registry-packages"}},"13.0.40":{"name":"@adobe/helix-cli","version":"13.0.40","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.40","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"62c2fd2adece1e49cfed1fab8dc955dcc4a8b3a1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.40.tgz","fileCount":77,"integrity":"sha512-CatFA58bBIq2XIId4tf8jRCuocJbWgVN/EyeBkSLEzURSTH7yk6QAq1PGU+Oe644AsGBdAxp9mQT87B2jx/Pnw==","signatures":[{"sig":"MEUCICHlgqPVTx7WXPt8N12cCfOu/Rp9yXY9G82svhiZ28eKAiEAkqm3odNV+Rji6J+/oLkshtonPum2b/UVZ8zUMQCgCPQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":514043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/7ifCRA9TVsSAnZWagAAaBEP/iGvRQMam+js5DqB02qZ\neoNrs0plgwcmABhKpDwldrOwa3GSsOM8IToWeeytsCbJ/jSod+IPneGkzR8G\nWLRoTe9ncVLl4zHg1EpXRLfTaIIrzoqAcoFsNpadGx3giXfJ7JwkzwVW9zJy\n0tzy8t96UDHbySb1/RQKUL6/zjhbfKJgL18P2vSKpXqYVi0Gew7CIjTUA0PT\ndi2D+wRiA/Sa3o77LqYTrHTjp/pbi/m5LbFzFBI9h+GUsYAFv/MbjBN3t4ya\nmVxoRY/AYfvjoDsTUBlAo/7LzPRdfCXkixkZHf60F1ydvUSD6H+fLEsF3RfE\nxa9Mj4BcB2n2/lF+u54isR4uW3JP2T3fLjvUOTX4sbs/i1wfJ+JSEU94TU7K\nWX/AAa0oAtDOQfIBIfaAK1M8plLgBmlDzogPF+iDvTDHDbIhds7p8MlfzrCW\nJu/dnIF8qXh/MkHOoLRES7z0/WQOtgoPFJjy2Fm2/pgVUhSXPW4Tc/IqV5YQ\nXevsO2RPyaIPTWcZvWpZetcXsIDoPfuJ3fEkchQSUcyerxFq/0+W6/ZwOSqJ\nV7ytrK2vI4AdYcpgJ3ZEGS8LPP29vvcVFFEUmF45IM5r1YaCMcoaDZuZB8fY\nWWOsIl9ICCrhqkaRR52oTRROI8rDCUHKn1BKLG0Q+OYdFWollimgWqiHRZYw\nkWVj\r\n=ex6f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"214475bdd504313ededb28258924be009f67e9ff","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.10","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.45.0","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.15","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.18.3","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.16","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.3","yauzl":"2.10.0","eslint":"7.17.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.40_1610594462945_0.05986004413676205","host":"s3://npm-registry-packages"}},"13.0.41":{"name":"@adobe/helix-cli","version":"13.0.41","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.41","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"kerrishotts","email":"kerrishotts@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"benjamind","email":"ben@delarre.net"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"icaraps","email":"icaraps@hotmail.com"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"mfrisbey","email":"mark_f79@hotmail.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"jdelbick","email":"jamie.delbick@gmail.com"},{"name":"dstrangio","email":"deirdra.strangio@gmail.com"},{"name":"tmathern","email":"mathern@adobe.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"pheenomenon","email":"pheenomenon@gmail.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"},{"name":"bobvanmanen","email":"bmanen@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b6aa66f8893aab3dc8224a4d7b4953b41bcf08cc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.41.tgz","fileCount":77,"integrity":"sha512-wavhUcdWEook/AmMKlnN8Mq6QAug1816aaC4j+kqcjSqm41tt/DNnPb2Rp5JQd5kwl2ALzR+IbL/2S/2Lyjy5g==","signatures":[{"sig":"MEYCIQDBJxi37JoI5XN6IQJfGXltt2WF6F21QTcOXHVVigrEIAIhANPmfKPkywLYBDsCBElPwbgOgB4nSk9MoL4+vMi80gjE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":514308,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgADeBCRA9TVsSAnZWagAAA9kP/2iLRZHX8e00Fh+8ntu4\nbLEVD9O0VeLXEL4xgccNdendfJQ55mZUQnHOM89xYZOFZO6Pbx59mP0+GCs9\n3E5fplJc2vUhUI4XlDvIgKn2Oy+1zYFZf8w+y2n+YNDel74pI4be0pLYDyll\nXOjigLgfD/9pzABm0hDcQ37kYgn9qYsRR2koPWC320YNgrxcNo7kVtlCjsz9\nJVnJ5BG0uoE76yF0HLnFBsNoHu8L3OMI0qAzTfYsPNr+IZwFZq0/QHxbZNk8\nFcth9AQzzfMXiPu9tdkpIAwKlFkKreeRuVP6qYWE8+fMTHVYvzmHobicf7ch\n/7+fiNxfGgyMsk0u2WV5aJlvPfOAH1gko5NZ4kFA0KncBC48k0TeVZRRI6bL\nlAx373tUpxPOXHvbrSLAmcLcMgtF8klPPDhW2irA3VqsPkoFxqN/vGr5a4Bw\nX+8M2LwSlerFCWzOTzZmoAnJrFgUyqU55K83rOB5JighhYd4xIV8Ez3xFbI6\nrT5joDMJM0fhNAWdt2WZaOKVb+1VVehLCTUkEwBFin7tTvkI6J8laiSXk614\nsry2pqRtTTFk9GpQep8yDF35MxA8TOo+Q6zVtFOPfomPieLDx5SBsRLCvTma\nE4qcKjrGFGXAXqdJXUGxqC+WCu+MZi+b6Y0CEp7HMok/t0LMrbf95Dw3zC8i\nBU2B\r\n=AcV5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"dfe23b2daa68a9cb3a865a6213829a61d323dd8f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.10","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.45.0","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.2.15","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.19.0","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.16","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.3","yauzl":"2.10.0","eslint":"7.17.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.2","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.1","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.41_1610626944392_0.8192373217600522","host":"s3://npm-registry-packages"}},"13.0.42":{"name":"@adobe/helix-cli","version":"13.0.42","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.42","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7d91c64c8bc25b915d5d5666ccc9296a6b1ccc0c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.42.tgz","fileCount":77,"integrity":"sha512-Z9kDokg+pyQptSWRzp8JGfihT2yjHUDWDTUXgZnCwy1bYrzWAy/tmDP5XiETqAKHnxqWZkSDt1hEAKx5SEorsg==","signatures":[{"sig":"MEUCIBxbLqCUq9crWn1tlwNlvCvGdwAQrcYz13y7+nI+GSNjAiEAyYeDceLQ6/oRSANw7dFwUYqZgndY3nwQDOnYDve0pgk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":514542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCF8qCRA9TVsSAnZWagAA3VAP/3aWrdv/frub99lsdcdv\nvhyUpoE3CkLpOCLCsDCIWwmItRW12MBHmlxrxfpjrJOrb1L45eU156sib/MI\n13fj8rBC+lh5i2vFQRsUHLFTBBIoZZQTRnygrhR+c0xYrTNOGqXf5wqv6w0P\nd+1Meu8u7EvT41XU1CwWQSQFrYuLJPVNdkcux6vZy2xoxVbmIBSgrodVUe/N\nfXj/p2X6gu4a/FXrl98G0bKF4Q68LtFfH/sGgpoBgcUBPY0U4Y/U3nbQSmgX\nMvIx9X8gTny2AIW6M/yHUhNZkU9iLbLQqC55KlnN1L/RscaxyNIh7wP2Z51o\nCvxEZXL9R/V1Dfq/IR7k/tPdlRTJ2VDS8+cFt94zD75CGTCJWjXTb8DqO/IG\nc9vqQY6rvkGRxnNEwIWQJLrPdu/D5dNtLAsQit3/9CCG6lgz3LAVqiD9y9w/\nl8Do9LS2Wey3omP97RBoHT3qsPk1+CShUiNHyTmOZlaXxRhetNiM966DGV/2\n/sv4yo8l1UlU2N0C7XWGHfaT7MUv1I4OuroUq0/vTnuOFOb9EVxBtG7zA59f\n3w5vMJvPyram8ClXXP4oRbz7xi3316stZpE71bw8uco6QA5odSGcON/23ghP\nTlO5arl8Fnr60IFzcR0CYnB9bE6xeTrAu7Se7P+mhmaGUkrwJet/MJ41is2F\nyZ8t\r\n=c35m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"ec892fe34281f5ea97ca542a0d0e83f11ceb9a1b","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.0","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.19.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.17","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.3","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.4","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.42_1611161385354_0.6602120197188228","host":"s3://npm-registry-packages"}},"13.0.43":{"name":"@adobe/helix-cli","version":"13.0.43","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.43","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"47e136402565fc3096d18ae4037901515df9dda3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.43.tgz","fileCount":77,"integrity":"sha512-6lmXWzNSwHYKo5BB/+3FWi4ZMdmwNiNhDcRn8/lJE4ArLNPKVRCsfQew2s6Z3YUf+6anMDTg0HVSjhfF6ZXx6Q==","signatures":[{"sig":"MEUCIEZV6BnzjPzxuE2kFpGjvuGRAe8Dd2moFioaOV69rB42AiEA+Pi/fuOHt/zCaskkIy1tLcaI/dZoU3Fm2bSW8CPOY7w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":514810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCIHaCRA9TVsSAnZWagAApzYP/0rrAiSDmzdBHEUaXP1u\n83VjFrMz57sCWqWj8czB5Kz7bMNMdYV5FaQNHXfWQ4jOYObrlZJptUyo9H7e\nDMa4uTAcdGoU+7vu+OqeEPShqtTWgUPKhpw1jt789GqMmMi9gVrisH+r2KYZ\n0egWdI/jwbks2ncoG/LpE5uaeIhSdI+kgy/V1lckVLq+ld0y/ASSq99xhJRU\ntsh/6Off3L6xxKp+BSQDMpuwN/u88hcAxK34BgmgwWhMkUYn+nYMpKSoKg/w\nqa8lrEeAZdNTUFa/+8Jw9rQwGU+an9+K70OGat0HM6xu1myMgzR2l/pZhf/9\nUG+I7M26/VF+iCyvhsk7L8rhk+UOPGK2i/W8ruCJfEdLA+CjnRKhaAYGq5Qu\nLZscZJfC3/LgJITsPBCs0jD2zD1F+2A8syZ7uyiUxjVkrnBIGnGmwua0shy/\nP0PzEemOfTUIE8dmxvnE+hLtVhhtHvaHLafHWoclaXFZyG9l2rj5y/JqmQQ4\nxTM5pdZnBoc+wkYFEa4nN5k0Avowonz4VCcL6qPGveaHSlJlSRAKPg+hQL4T\nkNfE1GepfO4DvLkLWU0p7umMGw0Z7Yf2F1pI4iQjCj+/a0zxb/CQ8snzsALP\n3ZRlOiTys4KQxPOWIA4ByIgnPu/SlgMEG8X0+S0/8SRI2vAs+V9/2ualoSe5\nhb92\r\n=CObx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"aa1a9e5fcc5187e8eea879c50be76081f278b9db","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.0","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.19.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.18","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.3","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.4","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.43_1611170265559_0.7994461625579881","host":"s3://npm-registry-packages"}},"13.0.44":{"name":"@adobe/helix-cli","version":"13.0.44","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.44","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"439cedae69738f74945a41708af8598413d3131f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.44.tgz","fileCount":77,"integrity":"sha512-rSGlCsWFdl7MsdImoHKCjfEbUDjkheb09tAcG5BWWuPRR0xRkZwlqfT6LOxHW0Agget1VgfF8u3QrjkdpC3JYQ==","signatures":[{"sig":"MEYCIQDsu3h6XoDp/sCSyz76RFv5HIxvRZjVk8qSnVawOuuCFAIhALEpK9g+iR5Q7gorFoUT6AY5/5gigL2FHpgLHRX4HCH1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":515241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCnC8CRA9TVsSAnZWagAAdakP/3MRSe1fSiKmFe3t6FAg\nR6fKLmzHErnozEJlW40MICXYfMkE0wJChEgyQrZfdxt2hX6PpPLypSkpjVaV\nxwylguh4uap6px2KA+P4RqITkWlKBVVkUeQyMOVWeCMykQgEivslOG853S/w\nRWB6AXfZhu8t6YLy6BX+RYG4os7Xd1nrMXCgJLjrvhRW+mN/aZ1AY/GTvM2h\nwLCiHCx6s4NzGq5y+RQlfjTlmZmsap4phIXcb9XnF36pvNy25Ne1JtK3SAqx\nROA4WNbNsMMxUofEq0h+9tIslrMpfYlgje5TZF0LF0bypzaprC1ZC1Q9VE8q\nYKIfGmtSAUm9a2Xrv5xrDm2n9DotbfXTRdqWfnUQYHos7ouZp2dnJepcOjrc\nmSrvtKz8V+tkhq+xzwnpHGEXena9Bo1KlHRm9joab6+7ILrh/nmnOkpt9wVd\nyTNeJ5mVp4eW+zDS7dq6BqJJ3EBIq6baKmbt18202c/VSVLR1MoCeWKmlFVU\n9QY9PBKRfJvaI21hyYHsPOVyKzFb5H+G7Ct8fgpTKKvE4IpWzol1W2EJdpy6\nZyTiuUv9MH+yp8SGBRxYxTwPfiIlQnhy4JisL61eZA4zlSWLFqScYLUFM1Pd\nUE58FybIXvzEk7MS5vR8LRdS7lK5tiv3/jCXr6GSODFW+sMFGcDQCXsesu+M\ny617\r\n=LbwC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"60901ab2c4bc324e2c3de01db35a787c1a6b7aa0","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.0","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.19.1","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.18","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.3","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.4","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.44_1611296955711_0.8219068690975493","host":"s3://npm-registry-packages"}},"13.0.45":{"name":"@adobe/helix-cli","version":"13.0.45","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.45","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"c250a1e7311de8d711f0d61214d7c7b0c725661d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.45.tgz","fileCount":77,"integrity":"sha512-R0XPHjalWJJd8KAbSV2qiCovceD2kR2J9KJK+dXn69CRxoE/lqDFgvvoRLYA3krsVdaPYHhpzVzwxtimiBjXKw==","signatures":[{"sig":"MEYCIQCDn6JU7RwLzWic3jyy48d6M4CYL2HYs/UEPv5mJwI+KQIhAObhoEH/H+DF4ul/E+HCvwqv4j1WYiYDnmkowepTB7GO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":515476,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDE3ECRA9TVsSAnZWagAASMwP/Rv/70tZwe1HkIyuyxUY\nsGCC1DyIQF7ApE3HoDnrPlYHrkH0H6S8bh3KlcosEIrfgnKZl4qSRZc/I1LP\n097YDJR+EacSmtH9WgaqijEpQamKNe9ntGTGW3gaZ1dX5Lj5X4YMhdIIRLbs\njMXMYNHj7OZkRTaNmUmq1j7z3XN34s1dCdWH/6qs0lqJGuolSFtyRpBLN2r2\nGhgfldn99MxlsC4Qs8zUNDcDNV69YpdI1IcBzAONO0JFfFkHNXdSiWMcughq\nrr68q+i09k1iu7RK2CZjOuqv3zRpK3EGG8KEGu13OOInJl+S7OuFIo/KO+hT\nt9NXCty1lDi9z6cscgvgJ1LM0BOP9HmLOBe3FvrpXSGkPljVVljWFSmwHdPS\nwnP+ZMIRZc8L519wIyzbX1SfgHQRfKrFeSODElj2tmz9vu9dp3zu8a90/1pT\nfmtHLgE/hRZCSvxf/GoetAay9aahYajiN9dq1JBVwWU9SE2n2D1pVZK/S6mQ\n7pqGoVPkhEk9LecM/+8ryYCWpN7YswiCaz1SRNsd45Ok870cK4MOTkG3Sbs9\n2w4bOZyXd/ftiK5NCq7zBlUx3ULLeCP8ZIdSTGta0HHSJuz8MEFoFYWWakoP\nJhg35uVZrXqvVZpGCWja5qllHFU1TR+0K6TvffHAj/NwJQlk2GiA+XIDNyZw\ntBwB\r\n=SBga\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"7bdcbce23c39ee1bd174cb7a49acabbf99228c14","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.0","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.19.2","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.19","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.3","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.4","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.45_1611419075939_0.6505262290304341","host":"s3://npm-registry-packages"}},"13.0.46":{"name":"@adobe/helix-cli","version":"13.0.46","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.46","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"fb216883fc11a5dea6028ce1da9058e4114a973c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.46.tgz","fileCount":77,"integrity":"sha512-t6MxWv/pq6IUinYce8JFXhVFOyuyGeBlPXy9x+hyOJzz47hF0v/ht1IClUVtQ0Rz+lWYKsZ0V38vdmfD5B2rMg==","signatures":[{"sig":"MEUCIDiz6M72xHZzHyd1fceJSKC9GjpYadQs92dWFDgvNmO/AiEAxA4Z09/+BQqGS9lrhRGh6FrI0X00qcIkrPOHScWyWMs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":515744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDHVSCRA9TVsSAnZWagAA0iAP/1dfN/4i9/gXz2t1Bda8\n0j0LNql9dqADFdH8YROQiEnQ4r1O+s78Vi6A56PSSgoj6LEe5gEvCoyZQCsi\nmYWxCEsHZiHI0eW2flksLomUYUEU78fFkp1FhBNy9ft46wdVMx1lx8wBJDud\nWtBYCferSx7LgwWI4iI4VgaGvRBPraDhYvBidMb6rvvMjHmBRrhUDAKR+ldl\n6Dr0WhRS/SN/saQIUWzf1wy50kba+cQipZ6HxJVDq4MrbYUHi8Msx9FhAeex\nxdIz+I/8bv9V7jiN7nwUARBQQi46pqg8OTlrFH1TOTIh/pbNF5hu/bdBND4b\nNnOexAbwJgIXTxrjR0lQU2+q65zystrVounJ9AekASYDIt29+mxgnj0Hilf/\n0ecgrB23P/bdb7kc4mftjKXQeEBiC28TfEzedCZ9fL/5Hd/AvyRpWYxst0gJ\nobeyfpOUtHaYhVed2x7iCo7o2MxR6WFZI+QtLLINDm920EOSBsk3NG3kFgha\nw8Jt+J6DzDJviQnfxAz5/+rzPRW/LjfdfmOO22l2DzAWPOExS6A8lAWuf0WA\nPMRMF6TyR1GCDh1M8WfizPONK4fVvTwxCkCVsKnAHga7uRzI4/SeK2NJ3g0g\nYMm0rSJ8iCJ+Hyr/7xCzUbOkvrSz7W6m4+A4epZn1FINYd0PsCw/+a8dWp+G\nTGkg\r\n=+ECO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"17f1e18b9ac9a3479eea0d459897c4aaccac0c81","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.0","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.19.2","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.20","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.5","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.3","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.4","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.46_1611429202313_0.6737377235158539","host":"s3://npm-registry-packages"}},"13.0.47":{"name":"@adobe/helix-cli","version":"13.0.47","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.0.47","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"yoshikinoko","email":"yoshikinoko@gmail.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"moritzraho","email":"raho.mr@gmail.com"},{"name":"alexkli","email":"alexander@klimetschek.de"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"himar","email":"himar@adobe.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"fmeschbe","email":"fmeschbe@adobe.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sangeetha.krishnan","email":"sangeetha5491@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"bgaurav","email":"FINDGAURAV@GMAIL.COM"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"spaliwal","email":"spaliwal@adobe.com"},{"name":"rajarju","email":"rajarju@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"5d90d4f8ef97acad81257c78dfa84fa03eb31a86","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.0.47.tgz","fileCount":77,"integrity":"sha512-i1l1w6cFcELqHR+mLHTeIB837czEvd0kYN6/02XEh5LFQWbNBZc7RWQQ/xVVjL45zF2i86bzfyo/YfTOBZnZxw==","signatures":[{"sig":"MEUCIQCovnMna3SumU/+T5QrDTST9Q5viqiXoMfi5AS/osJroQIgBTF94z6II1adhl8IdZmfNYy9pZZjF9wyHOw98DgbkYw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":516063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDjW2CRA9TVsSAnZWagAAeqUP/jzAcmsp6Y/9U3xrFcoH\no9wvSYBtQCTz6tEjJfBnU1J1E6b+gs2y+fsQXnjNn5B9fPhv1vHu4SqVjLJg\nCaDalgSeYYF4ZckRafi8U1ah7EjK0gLk4V0pUsnLmGXDy0JnteZtubcdMLLu\nzTwvJAxR1z0YTIMPLGgQW+2GuBQkNx79icTjPqfr/LPh9YRlIIyCFyMo3URF\n9Vao2aiXu5sYk81JS12t788Xls3mpjAhnqDNCLSy4LoK/tXcFO10ejoTO0Zl\nd1KoHOlVKpcKELLBxjUCpIKMJFSZZ2HvKYrQZ+7TGvErP8YbzDgtBrzoNf/b\n9Au68ZF7f1ImNPN8d+3OMcIlRKCy32SP6krQxm45QroG9C2nFx2AIrlYZ6/H\nqxiflH7y8/P1TWXFexuxhr053ruF1XfXNRKrAvuI9V3fvnH4nXwpKuxxsxo7\nGZ4pHZLMPiC9/6aA4wtp0EeNDYMwM+QHLTT8wYSt5jUxgac0+GzPCHfzUndq\nQbUGoTxwgd7wbWq4ikngXthQrjvnKnbQlEgw+oa5x7IHU2MsMq20Z4pIrGvb\nVSZFR7wJf0wWynGPvp7SYmDG0yJ262ZFlRDyGJujne5fn3Iz+yjdWc4w4eRC\nI8XoeM3Wt64TFwF1cAuVrzoUf1VLhJY77BaHGiGBJCdmgGCz8zWChkYmMdLT\n3YAC\r\n=Vjyu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"2b552274c4e4858a24babb844663a6e55e3fe9c9","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"10.23.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"^3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.1","@adobe/helix-fetch":"^1.9.2","@adobe/helix-shared":"7.19.2","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.20","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.6","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.7","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.0.47_1611543989907_0.5836820877751239","host":"s3://npm-registry-packages"}},"13.1.0":{"name":"@adobe/helix-cli","version":"13.1.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.1.0","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"mirea","email":"mirea@adobe.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"indra2gurjar","email":"indra2gurjar@gmail.com"},{"name":"mohiaror","email":"mohiaror@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"797e4d2877f239961f214324f144c8b3a45cfe0d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.1.0.tgz","fileCount":77,"integrity":"sha512-jni+RugEx6Q1tmKny/Dx9qan1x2Y21LZxCVSI7dzTP20ZA8BfSTiqMqIIw+MA9pqF+4/FXHz21pBm+zR0URMyQ==","signatures":[{"sig":"MEQCIEYDOjAYNF1NqEQ5coQreDcWTKgG+r0SeAh2XZhKo1KNAiAWALC/S69oMCf3cQ/wAV76FDWLbeQjkGd36DoP6OXMCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":516932,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFA2CCRA9TVsSAnZWagAAB+0P+wSICtEmiuJsf8/AmdLy\nZSUJhwfRuILp0zvNg8IP9qhbKt9Ph6sRFDizLpDg8udEUMCCyjV5EyOs7zeR\njFwdDocFjIheEcpIjDTW0rrvQhPpmKd0ROAth3wXxl2gjG9eM9bdlgI+2trN\n1kFVUQzb17qluHnWLaK6vcB4xNBDWFsIjmT7G/iKcgghTSwu55SLsiJbFvqm\ngFlVXKQiBOE3lsacRaLEx8jR7eIcxs4h+msLb22pbprXtyriX4xqFWO+B95h\nAF8MhQe9XNArKx3NYiQUAktU9oIyZXwnXrQA1HBxIHaSG7HOrSVdxAazqfL+\nzTjiv1b5/fAuXIHB0d4TYpvqq0x2AG5oOAP3fDfAmfNNvnBdRmEQQLDbXJ9O\nMezqJXsztI2AvuxdGCWpxO4JUxO1pNETZy4GF5ho9GyZ9N3xIzMkkdEmuI9U\nprTmLmaUgNIDMFWbJJDp1Eve0V1aFCiOHroZAR2p8NAFhmW7aMv4mInXP3rV\nGdG4oMFqxU4oxm3P4IT39KNKgzxbil098UsLc9POUdbLauUcLhyhFj9E79p4\n5bENuOtEvShlLa3ObnrmxC+jyzbRuuzT1XK/w/h+BYg2OsStZhYIIKOkWMV2\nrWp+EnYKA9ZrRlHAYOJxfYLGcrctr9HSf/9V96G2je2dMez3CyK5MZIGgrxZ\nab1r\r\n=EFMU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"6587efdc16afce7dc8b4944cc849edb3e1d27195","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.2","@adobe/helix-fetch":"2.0.1","@adobe/helix-shared":"7.19.3","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.20","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.6","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.7","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.1.0_1611926913398_0.8815280401692815","host":"s3://npm-registry-packages"}},"13.1.1":{"name":"@adobe/helix-cli","version":"13.1.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.1.1","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"384e2fb0db943d759c518992625be16a1ddc3c4d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.1.1.tgz","fileCount":77,"integrity":"sha512-0UOyiJwZleGfwEgxOfPnuTk9Fom/XoB+BgdY9RSrIUOCMf9FPeYW0UbyAFcl6FoJ5pqF5RwVSZ1u+qMT/jB2iQ==","signatures":[{"sig":"MEUCIEjylroX7smT58RirsCMlOJOksBNgHpM82sz8SOYdijmAiEAhuJpwhtb51okBPHUdS+Z57UdR8ex+dqKNxn7xE8Q5RI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":517164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFCHgCRA9TVsSAnZWagAAW0QP/2b8U/5jEoa4zqceEZfs\nZ/QIiZCOUP2J3J/hidtvO7WbAeEwCbjb5fSIOChQLsDdMQudtqlZZu8ntoMg\nty3n3VsJEYIc2VYGOE2tIMCHrpNy3b0quwS01DlyZHMtz5dtGVN7ugnz3YRJ\niPkvtbcczjxA5SVxt7qGjy25aagSs2pee/3MST588UTL2hIe8B7c/E++cPU/\nIxxGUsVdOA8ZCjUp48NrlMROlKlnVrGpZGKALxQahRA1M8kDwBteNpcWQbCO\ned+ZUDpL2PSpM5yCbLAmzZYhj8cyGU7eTFziwYkGrkbuUSdYpVUJLCXu3/GS\njoUcaN/9lJeh4VbJqA/y+GHdt8gL1y7sjfXAzaapAR8iqQc38ccnJxZMU1Lm\n3Ow98JLLD7ve9O8rZ0J+zsaLI8b5uOoYbYssv2tglb5m/NFNGv8g9sE8jpPV\nGsSi1ZQ1qEYm5bNA9K32zSCgW0S4HG1dfxWo7CFrGOQWGPP4H6igsRjPQepc\nSLhgEQWaghuv3/BO1Y/54C1GLJFjneqL/847hbKRWxWNwtUt170I986I5Y9f\nOiQGzeGMEcgpkgUpwB7S7xhAa7M7isgZz8PZCd7L1izkrITYxKQ0f5H0myH8\naH2A2qwSMYnfxi4usOTxIjLHybgWUDSMe/nKvv2ILX61WyQXJiT9essG0wiT\nOmO3\r\n=+sDM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"0994cf84573874bf7fb850bc406f6851fe8b8453","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.4.3","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.2","@adobe/helix-fetch":"2.0.1","@adobe/helix-shared":"7.19.4","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.21","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.6","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.7","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.1.1_1611932128129_0.3648390476785024","host":"s3://npm-registry-packages"}},"13.1.2":{"name":"@adobe/helix-cli","version":"13.1.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.1.2","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"aad2292d5656509993052d5265fc507efdbcd6b9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.1.2.tgz","fileCount":77,"integrity":"sha512-XqkOQUXCofdxOCsZWpJlaa5kJOnCyMK0FMjxHNNis+ld7hNfAFVnmFZtlXPigk1onM0lzIyCQY82lVL4AOt8mw==","signatures":[{"sig":"MEUCIQDFXAEWcGSJMME7R+XM5NVOXks30eOiqKqi+WZFcdtyEgIgEFUI6epRFTFl6CGbsCQrl1xXMQANaEhPNXNrzX9E9qk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":517399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFXgwCRA9TVsSAnZWagAAUqoQAIxFTL3/y7bEf7FG9etQ\nxIn5VmWDLkY/eMO412RcJekuNnY02c6z8OIsw16Z3AuuS9uhsqnIbmjMbIVW\nJCOoIGaeJFGM0fKs4K0Kupxx0It/hvfDmA8mnvK+k2dK4MNzAJMZIndqTPvr\nYPwbCiVmkKp+/gtJPnTvmn+hpJzKSiA6cYgeMz6lIrbEcOGgh2+N7iFmiCWu\n1to9Pu7txFZd6ydkrrqH8A7R2lxFf4rJbIbBP103R59xF3Y93VybrV3wQG06\n/bjjy2uxMITSSo51/s5vRsqjhuuD4GvNTekl/mQvEHnuUVpq6eSamYBrcSzF\nWGAh4S4ekJRi2y/28Mta2bl8UsBm/VVOf6WSzKoMxRbf20Zj2s2dmi0UfMwZ\nZoRbzgJtFB9rUZp3cSXuLUdcvLNy901PH/Y1c2sc+towRRwL7te6pCnTUFyU\n2ASE7YcqHARYsmyjKe68ZfaDe7aRW5KPRC8V5mQjmfWavioBnSZXJBjVW3mA\na9TRxpO5mgC3JAoeVFGwcHce721KGZ4Eb1XIzk7cur56hrlzhjcafbdc4DqA\nHDgeLJyBrX3y90mcr9V2AfxGr12A30NhBiElPRw3GhnnKPriiB0+B1XLiGk3\nH6d2vpmdVIdY+WtNtCykeonMkQZvBcB768u+Od9YRdph4pGL6h3fd5LEytqS\nE+ok\r\n=PqAA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"060fb2797b17ffda600568bd6cb8e58050e339b2","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.2","@adobe/helix-fetch":"2.0.1","@adobe/helix-shared":"7.19.4","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.21","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.7","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.1.2_1612019760053_0.6406397164039985","host":"s3://npm-registry-packages"}},"13.1.3":{"name":"@adobe/helix-cli","version":"13.1.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.1.3","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b7afd423d37b1caec3b8fcc7bd555a0e937d94e7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.1.3.tgz","fileCount":77,"integrity":"sha512-kSp/Z12RBg4Ul94ijOWPHOWVQyb/O4ookHFnkbqh66FJteDLPWoi3IUUawhw3MnC3w9DX+wHQrU4qIiuxr3ALQ==","signatures":[{"sig":"MEQCIARcfVc1YGss+Mu2Hl0tLrw6ToLhmksckFJe/B0ZnBAcAiAea6ivCDBc8FJJcleapZZBORO4hBn03qeqTpX/85dr2g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":517719,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgF9R+CRA9TVsSAnZWagAAq98QAJrJLQsbDXNvwk4CQ9e4\nzch4OfcXh4vJ8K8qNoiUBbyGxSEX2SkHx0ZfCfiaqkqlsCTLuJAOTdr3g81s\nySyN8YNn5dpoU1musRdiPUIhOBJddjQFdQGcTlTy/sOkiRdbh2genfrEY3Nm\n9j9QgEYtYiTDRwmS2fOIgzxk/QtIoG1FZe7uTq9nfJKj52kCfmdHzqd/2Hx6\njiUl+vL0r7+WHRyph69/sjwjWo7NHTigAS8dZYLw1RzfNo/9XZ5NkvCCCQ1U\nVFl3Hxs61ikwlzlD/6pI2fDdvrSIbydZAiwp5DX/odXBIecUHwfw1ivlKje2\nnMNjFaaX7vuWTYOi5WL3N+oRn2pl5shw+nwK9ChnwSLIxi0ZYxphgWC1fLwo\nXWp9qWjkwmuNEh8zW+JRtPKw0JVN4L++kRWIS51WgJ8QyLFFznt2Pb33tHbh\n/ZGcl5ObzPi4VmxrRmxRIWtZ2FeD+RT+X1ZPKeeAbuI57yURsJlrCI6STF03\nO19TJH7jUIyn+NMVXMHGxpCWOGVaUwYTvZ1fwOSOL6Q7zPZsbg6pIf476JCd\nkbYU7UoTItF+i7uTVtJZfPVf/d98Xgb9jxvSpJGMDr5xLkhFokeOVC9121AK\nJlEDF99ec9dTCF9Q98icLDhb+I9VDg7CvP9xE5Z4OWylct/fJxmrHpb4r2Uh\ntVsy\r\n=IXwL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"ac463ffc94935a3475fcc63f03be764e238422c3","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.2","@adobe/helix-fetch":"2.0.1","@adobe/helix-shared":"7.19.5","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.21","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.7","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.1.3_1612174462320_0.50163163139532","host":"s3://npm-registry-packages"}},"13.1.4":{"name":"@adobe/helix-cli","version":"13.1.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.1.4","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3534a063f101ef0defb4023efbd82dd70bf266f7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.1.4.tgz","fileCount":77,"integrity":"sha512-hpXZLGGjT+K0zZMZiqP5NoR97gEhAoSzzrpPvYXuUy75ejgWf66/1UAnD3Ji4MbMNzYT0lwhC/kZJysRloIHVA==","signatures":[{"sig":"MEUCIH8NTaf4E0VWEH8DluN8IGhxFFaz1TKBzgPNJIY0564nAiEAlpKeTaMSz4O9McqcCCTahztBm3BELJ/aW5zm99U4JGM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":518035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGQisCRA9TVsSAnZWagAAdswQAJlvJkY/61Qr43PYB+cv\nPcdXO65LQiYHnH2Q9VJc+KV20A4JEsSkKxJSmjq4ZnkOJt+xpr+9H4NLJ+cX\nEn5DtdxkS9vJ6MeRjcQ57dETT9PM5uQ/oatgVoJQRhdsQV76WRkrF+nfpyB8\n17OfI0keF3V3fIF6kXMHmeaPbBchp2wQNoM8denrWXSeKuOe56yXDRRcqnEN\nR4E0gqtf0mvL5gVAZ71TsaMs4lyKo+U6BMRqEMn60bxKmTj1pzb2/iuQIufX\nPGzt6M6wamxyvdS9WmPeqL2GWrOWMe34RDk+DgQbiTyas4O5ot/h7IhffwbR\nyv2tsnp7cNsIDWOhXXVcsOrX2NLhKa9+mwPvcA31DofVRncdD42A6fmpT9I/\nYd5UJ4+ZH4R6hTWql0U2MQvm3/jnj5otg8gSbxJqaWGRQUiuU8oI3miqj0SW\nWlP7hUJmz52zxX+iR6jFY3d03ORi6gdizeIshU+Qof2nKmA6xxhdDYm0IPpp\n4Fbfii9yvnWF2zHMGXuJBaWHyEBOxIy9HF02jgKxgJLTWphT+GyXHaUKqqRv\n5+qvELDVTPpRbY6Ndz5eIjnrCDOs6HpviGfb2H+yFC3encpHftJ/z1HNntah\n0gQRveAmPlsQLNWQzk9mRBXQ+VIY8bf17bEhA9O+NfwjdMIyIUukWJGa9XNG\n4jbj\r\n=kFe/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"52e1115fbc3e6ed48bfc478ee3ddccf3713eac36","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.3","@adobe/helix-fetch":"2.0.1","@adobe/helix-shared":"7.19.5","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.21","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.7","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.1.4_1612253355922_0.48420207879163835","host":"s3://npm-registry-packages"}},"13.1.5":{"name":"@adobe/helix-cli","version":"13.1.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.1.5","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"94af96b19b05235bca838fd49485b3631b986e5c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.1.5.tgz","fileCount":77,"integrity":"sha512-pRCIa+S5skheP0I/Pd23XYLgIa+im/hrxhJBJXCweSMkFuodveRX+HeyTL4GKtAxqcwTW4Mno/uDh60s04sjKQ==","signatures":[{"sig":"MEYCIQDo/yPjocxW9Unk0zHmGKDnFEvKcJbQydz+OQpl2PnwPAIhALuRKqMlSfYaGScg59AppxPlcyBSyr/bVZVNlvxmxsCM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":518351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGi65CRA9TVsSAnZWagAAuNIP/11KbaUU+NtNUulZOycu\nci9YD0E0rKLNj5C8256zxYzR07IAevCfAyL5fdni2Y71oJRNOBE6R9FWrRVJ\nNJZkOeZAvWOGk5MSIdeFBpElTJKr7kydH94fOV8AecNT9SHlafkSYA/iVKwO\n3U+xVUH7+FYl6ayfBDWunzjhpE2sVmkM2htMffBvNjp0Pg0PTXswSkTfhplT\nNx9JA6XvPM3t454ymvr0LXUhBCNvgZvIZexbVDCOgOtdcKUHERbJaD57T5N+\nUC4b/mJpGWrMyU4yTCKd74u2yetgf50eiVw9RkKG5KF5plAB+UaZkQhQnthI\n1hgawolon9Jfbzv6lL65VE4dJiIfgrkoO5ay1edsecksVncp51MyfhX8swFc\ndlWifi4Jn7nFTQIr9gpFQB/ILm8fN6H9lonUp5BeTpBMsIdKeKdHWgxNxOsa\n7fiUuFOAsqN7SAmyuG2jdPDJMsQJZEhxkjXc+p1nnHTVzYblIgZ+yWjSR36g\nDAUO0jSbGgmEBVS1kB6x35kkusfEgWXWtI3KmKsYh+cG4VXh3bVimmsyH2OA\n9fcBmORlTr5SMI6ghdJLAfhbHMqhiHsAty1kYqfp5l94QKkQmBEVcKZcEN+j\naQ8FRa0AprGdQ5OZ5DG6jF/eOui6dxDrtRyuUHomfxMphrXJSuJcZfqybbtw\nV9t6\r\n=aMAi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"668318e4c59fe7ac0fd5c0bf3aa618ff0ddc68e6","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.4","@adobe/helix-fetch":"2.0.1","@adobe/helix-shared":"7.19.5","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.21","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.7","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.1.5_1612328632325_0.6200715717981302","host":"s3://npm-registry-packages"}},"13.1.6":{"name":"@adobe/helix-cli","version":"13.1.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.1.6","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"bpauli","email":"mail@bpauli.de"},{"name":"vladbailescu","email":"vlad@bailescu.ro"},{"name":"andreea_dracea","email":"andreeadracea@yahoo.com"},{"name":"jckautzmann","email":"jkautzma@adobe.com"},{"name":"msagolj","email":"msagolj@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"bglowacki","email":"bartosz.glow@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"01774865624f77f18aa060adf3dd00b954789e45","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.1.6.tgz","fileCount":77,"integrity":"sha512-wIimH7beKsWaSrwXmiE73CnrlynqFRrY0zvsRfyydc30tTsEHoLaPiFGoJjbVdXQpv86TIwqG9Zg91I7WvBDbg==","signatures":[{"sig":"MEQCIFsejZm3t/PrRvS05iN9K+rxHbPlUeqpcgoWiBHYq1bXAiBfhMa95wrJuf6nWImn+0TuiLDfytxILTichPXbjT7aOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":518616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGs27CRA9TVsSAnZWagAARREQAJ0s3CS4tUrbVjy/xSuP\n6QR1n3N/AaqhgutCFJjhEt0wrrBVSaob2R2RIS71eDYk9RcQgCa0gsFRhq8r\nW0W6UjeUDdPH08Hzj5su1xRtJP0eKeoxsReMui+WzKMBJio51tBk62rTOBFz\nvw3jrGVXC6c9g6zZzxIrSTHhsjIhgW2wKJJB4nRqfQ75XLi1j7XLvK3SaZBJ\n49amc28u8j79vlde1vbEFFZP7+1yqCvq22uzixB+t7AiJfy/Gua2eJ545TVh\nRJy+D8O+k8VwduHXiI5zLfeS2dueT2Uif1lPZxzNDsAr1gOdTMyhyZCH93Da\nABSAgGgj/MZ13X9FDrjStmuFsYDKAqBDGh5kMDcbI0CpQdpsxqndCI5tzv75\nWl8slwBSEACbAQgkE5wXBh50vy46WAOo7DYwEIC/FVvUs7vKdnKZ+zf6E9K2\n7oEHpzY5KRDqyQmcCaLeUZ0TQUxlfmxaJVReNHpre5YBqxHF01Q3J1FHLfPt\niBThM7wRuk1heW7uQx3JUBMtC8hBAr8NtanRI0nz7u5I88DLotAihfoEnXmO\nq5sF22j+01CtTj3boLgX8AdHtGg0TRQgtiRD+62wWuZtQslBXoisH7Aq+pCX\nU/JUHCSvqI/cJbroQBiY31wKLTqD2xIbeRygfjctquM1IxPk/0U5f8+LvNSK\nvalY\r\n=BIG/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"de6efcffecc6bfd914ab77385d9781dbc147d383","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.4","@adobe/helix-fetch":"2.0.1","@adobe/helix-shared":"7.19.5","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.22","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.7","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.1.6_1612369338584_0.7308244542025126","host":"s3://npm-registry-packages"}},"13.1.7":{"name":"@adobe/helix-cli","version":"13.1.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.1.7","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f393d979af17c228b2c87bf465f4997200f76b1d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.1.7.tgz","fileCount":77,"integrity":"sha512-yFDlY75GRVRbKDkhOUEPVzdCPV8kY5DAqfYeP2xxPkpdRpeqn4TEie7i0Q9TpGCCL24fwZkc1tBsPhReZRK2Iw==","signatures":[{"sig":"MEUCIQCfKvtTN/Svomw7ZtQ3ZYW4m0R77Oxj27/u04hPVV/39AIgBzoKSnCboF0yaWCBhruDfiISIKKP6BIszJ6G2LSSYPA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":518874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHNnhCRA9TVsSAnZWagAAIf4P/3O7M6hHefdA2ZLbYUjf\nFzB0Y0ba9z0ZoqqNUAl5JGaXQ2B1KWImOsV46IZOLuyHKAAStpnsVgh3d0i+\nTLTBF95NuRjZb+YPQeidJfSrPb5wIN7WFz8+vPjreZmzp83jFKcnL419xMaN\ndnmiGZRZHn2xBe75SxO+I8DgOqSfSpnXihoAkRMmvBSsjzdTpwEIeP2eNEx2\nCtdgc8EhoxIKQ8B0on8Fa8ZzZLdvISVZ6/WRVGPjWtiDMa+xCgsIOVEUudxz\npuveH0pa158LgGtUU5xcZ1IWxvmn/kRZ2a8FVwbRx0v9wMb3xgN4YS4b7azw\n9JvaUIlhfaVTWf/VH3oAnYl/1W46FPmUJ+QOVJeT0TVUZAQZBcK14XA58v/z\n2ETUAlj7+VxmURJI0a8P8DU0FLfozh8XZRlI/jzCqMy3BEHvA7JAPSQCahKq\nrZRDYeeMwfWqH/qWgAim+tWT1UhQaiD0cm0tq6rcTMeEp4eRyhQ4fsjEJHWp\nL5jPjlNrKlZStsJfmM0O1Ifc74JyZ201sSTQ48bd2lRxpTZ2YX8p8Pnf2Rq2\nDu36dv8/tJibUXumzVGG5/g6mLnAaHXv4O2BBjUUUp4lHJFTtVAM/xGANSsI\n3MRwPmUqCUWEX4xmuqekntiNIAMxJhTztQYHTsyo4FdedKkL20DiJ5JVrPma\n1A5r\r\n=7mES\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <13.0"},"gitHead":"ec576d15f68e42d9d6ca7a21d1a65e813d40518e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.5","@adobe/helix-fetch":"2.0.1","@adobe/helix-shared":"7.19.5","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.1.22","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.7","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.1.7_1612503520895_0.27003094116414816","host":"s3://npm-registry-packages"}},"13.2.0":{"name":"@adobe/helix-cli","version":"13.2.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.0","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"322469c80f0d9d9c9efe035422e7f9b3f3740845","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.0.tgz","fileCount":77,"integrity":"sha512-We1oyRj7lK+Qc1BeHoNA9/I5YvLvD2mktZuKTfiiS/U8g3Ak5E0Nl1pTFPi9Ky6vv2YMBQsvxG0AdPxTcdqHGA==","signatures":[{"sig":"MEUCIDjpTBmk3CdoMVap7ohRhhv5U0kTXhI/C8aJUKryzqjfAiEAiXTcdbmp/KcNAswOROIi6iLlRBTL8LVRq114xKgSYwY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":521060,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHUKgCRA9TVsSAnZWagAAw1oP/2QdsEVelh0sc/M4ixav\nABCOvnMO6M1jc70vILXRK7A1UM6EL+DE0837atIsuc3tm0ca4SRpxKNh+xCk\nf2jsTcIP5r2MOxIxI3fhNyr1CuIt2wGn8ROD4QCoMr8sFFXEJvwlbQpjqGHv\nW/5DDfAGFk7+YytGgWXX7/poJmCtGi/IJrPaRUfoFj5vMT+dAozG6lNBonts\nuXfO0yoXnNfxrkn9M0+a0JU5LMtNhJcvoLHOhsq/7/dLSK7nsoAkey7yB2NT\nUH2wvFmvY8P48Lytq1rxPoPDHbtIvjdRAtVpDIa8T0WHUjW3ANfHtloILZxc\nSdZcda5ueMLfaqze1q1S32iOGV+3cgKPuMQTZstlG6zjjl6kXeoiMFsjIl8e\n+/qcoYv3/iuhsbwUMiV/KlDyMA9BJQFT3XQo4ho76+9f07ntaIh+USG9H5jP\nX86KF6Cl0ElKOdGeor8xsNR9G3LmBMiFr4ZpRAAPJ5pNhEwOPHeYNh5zp2Zu\nMPVsxynj9mMLi+hLoWz29H+erSl6dUu248sp6FQs0jk2tGuEeGdxm8CIEhW9\nkr6kebkHosOGjwqvNJAYJ8II9awZfAFP5imCnL1ohA5MbMDUl94rTWRZWWC3\nhxzv9bTKEHJ9+leddLtXi78rb3haMdu5jrXJBZhq8/mBoLz8Q2E8lwaXE3NT\nqrQm\r\n=+Dsx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"562f341a1ab68827f4bac0f0181cf347743c9f9c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.5","@adobe/helix-fetch":"2.0.1","@adobe/helix-shared":"7.19.5","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.2.0","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.3","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.18.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.3","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.7","eslint-plugin-header":"3.1.0","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.0_1612530335572_0.610810113002044","host":"s3://npm-registry-packages"}},"13.2.1":{"name":"@adobe/helix-cli","version":"13.2.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.1","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"072a9713c4767ff1122971bb80fa63517b1cc509","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.1.tgz","fileCount":77,"integrity":"sha512-PweFpQQTGAE0Zry640rz9CKCpatxAJGl0k8kPQWiBINRMMWXZ6xZ1SDxbMnmT7h0S7wW/OvaTWt0zzkOt3ePGw==","signatures":[{"sig":"MEUCIQDgPC6MTfruyp07KFe0zPIZXDalrsgOD85LIE4gBjvf3wIgb8XaUJudsl/zFpc5inIyfLd1TDaHOvQOlN0NFBagKmE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":521789,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgITU5CRA9TVsSAnZWagAA3b8P/iL/F9j1oHZb/cDcu/sq\nnUfdWycXNqCmwlQDlvUBAnzwb+q/vEL7ytx7LNlqplrxBaV6wf1gwGz/Dupv\nRW1dMBKdaN9Bz/+NaIIUPK4NRzc57quQRzLmaTujyXHr6fTudj/yRoSnEkg7\naAUpEZkp8mcM/74DiDmogyWxleuI6oTQLWL9YT/RgaZ55HlcsIvCevKJUg3a\nkLk37xloY+Xai4gAHYUETzdSE2Dzm6hEYRM1ZrQnPcz5s3/3bBtlYcMuw2Ic\nwIdMFsT0mYCcBnRs42FOlBz+N04UHCB4wi8AmzhkUke7N8Uf2UErGHgKDvsy\n37xM53G9RXmgaMCdHvGR8Kh3ynsWvm7E3KGMuIzRVGkuAuwecuCzeFQBu8AP\nNz4fQypGwN7IBeCdOE2D1DsIEZn+4NA/iW2u2HBuTwHmdycBy05/TIh1DThF\nP7ZAiA7NPa3YkXi0VwLJIGy5y2onpO6iRZRhJNBLlkBJpNm/xuz7S3k3WIAY\nikkq3hRsZlaDLfBJGSg/3+KgnPe9g5E1Sri93oPmQgooiTR0pl6ugaZ+Ho+N\npK1DbujvKD7Bn4uKr8zORLv++P0KE7tK4UfRVADw3oM+1+3ZZGNUIvtfsRJI\nHgCR6eisCg+011qsf+TYaw1hgUdaPjzpJbB/Pu45wM9FitEsB71ji76jE1uG\nBnly\r\n=oIc2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"247ef6ab041ddf8afde4ee949a2fc4135ca577f7","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.5","@adobe/helix-fetch":"2.0.1","@adobe/helix-shared":"7.19.5","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.2.0","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.4","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.19.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.1_1612789048406_0.9693814687403992","host":"s3://npm-registry-packages"}},"13.2.2":{"name":"@adobe/helix-cli","version":"13.2.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.2","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"388a7e6e89104953cd693e391a1a297f7430f7be","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.2.tgz","fileCount":77,"integrity":"sha512-wfkIKzrXvOS4o10ga8cPgYe/LoX9zUhFvpx2X5elf9UtUjEv9nJfgPxjIoBsqXzYSNkJwBffh0IdLlhggzt9UQ==","signatures":[{"sig":"MEUCIFLJndF83MV1uceAEt8a9g8fkUQy/X7yaAB8E5At7/hDAiEA6viahwh4UvkPhGO9MHWWUR7vHOew3TPAQk6lpUVsPB4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":522107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJp7BCRA9TVsSAnZWagAAjKcP/3nPV6gzR+oWULdPZZ5h\nJaqHgjYID93lieTWkd+7nFJAwGTsE7txYOZdNyhn1Qv8k8ZCjZJfPNYjJUTT\ncb+1MuLgHrkeuiUzAXuefAKAn4nRVx1jSsq3BKAjwBf/Abi0TP3zqzQVam5g\n4Ic9g+40SxeK9TN9TxrFDQ8f3ezEb8MYCfUyFyyQgvc9rfV5xvMTN08omLkq\nbefwnIMO4U4GoVabJ51KyuuYeMa1xPSear2vlX3RHZQFag7K5uwKBaDEmOQs\n9Pr3pYZJEovxdjdMc3w7t0VoWVmN0V4TxVWAjsMUFELcfJszcaPPIw0WNtbY\nDRZDxwlSyXoJbTTQVrFurwRYezbjUApwX4HQcU+4EoSEFL8B6XqcyUdZyCvW\nTzNA2WXHw29C2RgcxuohXCbZohj6bxtuAg2OtsiFJ5iOavG/xI9D4Q69B091\nhxJxlqxcdmj/gZkV17wvwCeR3WVo+M0TCbKZeZlst0cb+3HPJPW0dch1sMos\nZqT4RjqU10s4ir3apOj0T06AJY/KS9SooKmc/k6znZtimxiz/JJlH99z7i4W\nkR1b2Ti0ZLVZVw3VAiQTHsY/NwPyD2Da8HH4/Sl76OYLX6w0CE8gShiMDD8A\n6F6+aNYiiROvR9pF0m9Z3OXEglsY9sV7DEomXxUYF0ZJeMp/IrQ9678/qlwG\nFCx0\r\n=Xxkx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"86bf5b4d4fa3b407750d22f19f0cc8e0f8360ae8","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.5","@adobe/helix-fetch":"2.1.4","@adobe/helix-shared":"7.19.5","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.2.0","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.4","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.19.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.2_1613143745029_0.7573347705950104","host":"s3://npm-registry-packages"}},"13.2.3":{"name":"@adobe/helix-cli","version":"13.2.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.3","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"585cc37fc20b2772979a35659689608364eefbbf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.3.tgz","fileCount":77,"integrity":"sha512-d4UPy7rNlm7jyAyCrzv3Zyp9aznXaRD10pzi8amLCD31M3+MgJRy5oxl8woKpfvEq0/cmOSQR7Ckc6W0b9NrIA==","signatures":[{"sig":"MEUCIGRCfMXbFAqCOQ2pQJzAHqd9NX2hh8Z7F1cj7TZON7R8AiEAh9GaxPSIvMv75+2R7ckZGJP7Ihv692QO1ZDfXR917Pc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":522397,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJqWoCRA9TVsSAnZWagAAPLEP+gNN8QIb9vfm3Mz0qXqR\nJQu6sD6W6Ur8PVGSJiqtXGtBn7g1cKq4Xw/oX/Za/3Ev2S/xg8q2l0zGL3QQ\nQzdMYcqZiy2TvNYbjcU89NLjITrAlIA2rzS94JFkXtCc0yx6SUB5O06Wkqm1\nSwnrK+8cpGPLMRlRtBqDQARErlBaeaaJpiD29wjs7EAXauyFctRQmBcUJE9b\nAEYvlEc9iZQ7Wb+CrnkXy2dUaBeRCMZFPZm31RqjPY/QFmgt2KOv2cd6IrbG\nPNJ6eRvXl6uwA4CP5vT1Kl23Akl7mN1cAVAZGajQgX+yUhlVKS7xYXdMfbIu\nfrN3/Y6OUlMSdamVtwAWhFVzqe64W6VdakdrL2vP/46CFo1L5QpX4IgJuyf7\nhwvjbNFJDMArJ3Ha9Vv247bGh8Z4ME8CnEFMA6b3CCLBeECaoGv6NGN8HeUX\nzPtzOcyiZhQJtTDj/bEXdvmNZHkif/cnQmUsqi2P7Vi98NhO1kkes7FPaHLg\nuLgO84H3HfkLYD/BYU9onyHgWs6vLFaXyXWc+BxXhK5Mq365d6JjMCeRcIMs\n3yU72CcF7hCRWU8SnQSMxy3pF+O/AB4sBRWpftE/TeVfjFvFUfJo7QVHRGVT\n9PUZSygfK3hROq4TJzbf5/c073GT1yn4hrLIRFNaNd9qHJ89Ca6yD6YkI7XD\n3NR+\r\n=ez1+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"b8930898ae3bc834754277920fbe06f207744220","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.0","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.5","@adobe/helix-fetch":"2.1.4","@adobe/helix-shared":"7.19.6","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.2.1","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.0.4","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.2.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.19.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.3_1613145512334_0.2500055259881879","host":"s3://npm-registry-packages"}},"13.2.4":{"name":"@adobe/helix-cli","version":"13.2.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.4","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"82d2f56f990832877e072f76f03b13b1f9a5e6b5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.4.tgz","fileCount":77,"integrity":"sha512-z8OGwRlNPuSuzxI9IurQnPsCCvu1G0HrT2Qwql9GOIy76I0XryWRfrci+IJVV+7OEFTVEuo5v0FmJICXzymHrw==","signatures":[{"sig":"MEUCIEmc5ouWmI06eKpUIExpodA9tLvWMNlwKVBZX3MXIL1UAiEAx096ITDovbhPlcyw2YD0zDTwN49LKZ9hdPvJG3KmB3s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":522661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJ+8HCRA9TVsSAnZWagAAgEcP/jZTkeGvxk6F/Cr/OV2A\nWmXcCB1aro4PuvtVkWq1OAuX54Dbd7ErhQJLmzusYKBnsMmInJrpzYx2+1EJ\nQ7RfWSq9QlWLH8Myo36QuV8lYk7n9BrlX79JiVaZ+T7ShXUd9X9yi+zPGGFT\nZLwe23o+IlRClStDTTTB7nqKJgXutmZE/g9Gan8jiCz3KTc6DmSUO3wkmn++\nwVx0vTxyYqKWNL19E1lUVY214QAsN+bfu0+DjfmVnslxfQ9Cumamsu76aY/B\nj7TCj1Yau136+LXGGfyBFt0ZSjZS/rbBAosEBVkua+9JCo6QWo5MFPledW7R\nG5q/Qqa6bQ0uYGBJE+Jmg0SaUADDM8684hJO/W/nnf8BMPY6I8LUYx5AtnQ/\nlWIwTUgM3ko3iXZmAvvF3qc6b+1wB57l4UrH6NKZWojqbrU4KFNlwxf+p3ZI\n0fgrzp06ibetkbbJJSMt6+lkqfNVNevA5bhMjn7lHU3qD2JGaDWBktyoTbZi\nlcFWnIjgjbQM+D4vuWDj/R0sPbNSMNmMQk6/KaBTRWpGgCh+SZkWB7vVGEDL\nKkIqkjCzM1jNGMq32tnaTukXLiczo9HhGqNwnsj6glZwuHssZSzxUL+OXyUm\neaC/rMGv4ISlj/hOawz0iFoaHdqhNmSVy4xkyW0t5hcvQPhY1+/pOK9yO9Ju\nuIcR\r\n=kqB4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"49f107bf5f075046378b3ea305183c76a0ba5dc3","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.5","@adobe/helix-fetch":"2.1.4","@adobe/helix-shared":"7.19.6","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.2.2","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.0","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.4_1613229830674_0.7772023983428091","host":"s3://npm-registry-packages"}},"13.2.5":{"name":"@adobe/helix-cli","version":"13.2.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.5","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"9434679ebafa8eb10ab11323c2972656913a0938","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.5.tgz","fileCount":77,"integrity":"sha512-J7BQbSYkgSNDCDWvAUSMO0bSlcp/cL54lixcl8xSltItAqZ4fn7UMa7gqf0+zYtd7JW5Q+U4+sdnOZ12Q6iXhg==","signatures":[{"sig":"MEQCIENrl2S3Ue/nGir+x1p7TAZTCJ1PWVfum4znRnQj//irAiARTZ39jVzsEJCJqTD2qi+CISZsiFW4wImhiIY0IeXueg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":522981,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJ/6ICRA9TVsSAnZWagAA8MAP/RmXbtzDmDSt93/4+zCQ\nmWp4Z6ip8y0jbhXyJsvVptC/3gDLXCu7P8MwTCFz/Cc4mJvNlC+pHiFBLy62\nm0IPmZ98vaUMqIvR2m2cL24iGbg4FrYe4Vj8ue+irieMHBWIgXBwmWHZWho2\n5ps8Io827ls+kS/T1nYMDbXhMTnDcdeymrMzmcBGCyGUjO5F4cTjclnd3Jyx\ntB6tbxuA/esyhaoiu8zs079iI/TP5W/J9bRc0/adnE3UpeCtn8lvE0pS58CX\n8ckF5ASi5G6BaNJSIcA0E/3U7cbvZ556zE5i66C/wONTxIWgYiNXdb4IKvG9\n3TpysBG1B+EupxKCEUdOp9LaM2UKq7QXYwNnfj4NqMR7nmHrkP7ms43PHzeZ\nvXq/l8Ub0VdQLx0L3Lq3FxczB2b9XMt7ioHzH9A8eqzsXz7o0MUSAW1PlxTV\n8vY86GuOWI2LN6owntg5J55H3IBpQZ3a9GJVxLKNaJDYBDVX7rlM/oAzxf5f\nyis9fJzBiDd5zaO3G6yfJu6jGsG0chd1887iotiN4hrdLJrEyKrd+QkroT2F\n+vX4VhklsLsfUv1XhK36mKZOkOHYsc9bWeVOQ30ZQ+/3eS+Abyi/0S+rlXTy\nVYJwg5eCUpsNwk//QT7ZTFrd6ZKisjvDfTHToX9no9CcCEFB0O25bZg19rEa\njBs3\r\n=vFkj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"73b456a41895f89d60c7f97b7e8757adda252fcb","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.5","@adobe/helix-fetch":"2.1.4","@adobe/helix-shared":"7.19.7","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.2.2","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.0","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.5_1613233799415_0.9297387024597605","host":"s3://npm-registry-packages"}},"13.2.6":{"name":"@adobe/helix-cli","version":"13.2.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.6","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ea784e2f813eb0d82d3cc7725c942b34e980b1fc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.6.tgz","fileCount":77,"integrity":"sha512-k/NhG1SQPo/sh36Fh12vialULfKeRoUVZrktKF+gJ8zQITLmvo+SvBLKJwJhlTkFMTZS/aWW8++1OfzwREaGLA==","signatures":[{"sig":"MEUCIDyZaD6Dt5nMy2uqEHvPQtVbNsm+skxNQNdsx8x2NRlsAiEAywEcBMR49KZynRBd4DLA+9qAxxS7PrQj1zarEC8QrBk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":523213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgKDMyCRA9TVsSAnZWagAAOz8P/3foZNVmeg4jfeHDxMA6\nO1boz3jEpEEhSH/2k5POjEVWHdDaN+FOmddTY8eD/K8MB8dl1vv9Wz0AWMew\nGSCXEZBlrbl2SF+QhVwLdGS/vTStkKQW1LFJfmY5R+zFSRjPdkrIDfadd17o\nQq3cf0BFabDlhhiYROt58kc8qoozSkpKCtazcphwDHHjtll0JzNCeqb7PCfB\nEuCbCOu5+hKVe8TrV2P+opvMFshxAb56yD0rZ+9pSACtXPJrt2nJN2VG4mTA\ne+8Pn1/vPvISpjRIggZkn3V52NIuyMj1sm0/lP3oc0E07EoTSgnItS+MImQl\n8LOkNwV7owQNp/fVlAIRvUUz9ilYXYmpSt45SnIKDEevEz7ynINk7jTqmNHQ\nBfPdWFwibCvm2hD4ALZdgNyGO7JAkVerDGtAjrzg28CqzIpyKctb5XHPfVn9\n+qWudKdFWtYKjIdPtiGzG47xSnmVG+8Q91fqkg+yS7t5Qo72rxNgJAzJShzP\nCoH5eU3pkLzuqTAKu8rAv+PQd+e4DvemjKcqqcKY3iyDq7SxH+OfL7HssZmS\nmMgNuGPZR3hiOHi2MNg6mXwZudpn4kqxHGB8bb5BYPWUXf0DYnSYnMQt2DJ7\nn8PDZgmqJOiFHi/F3m448H9w5Ah/u+BLda9adJD7yoPjzvOnMktYY56uTJ36\niA5P\r\n=/nAN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"c44ba7f4d565aff0c3c9e56e67c812ab4b248c4c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.6","@adobe/helix-fetch":"2.1.4","@adobe/helix-shared":"7.19.7","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.2.3","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.0","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.6_1613247281481_0.591770771968587","host":"s3://npm-registry-packages"}},"13.2.7":{"name":"@adobe/helix-cli","version":"13.2.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.7","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"c1fa0bc6251a3f9cd28183092c2f99779be471d2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.7.tgz","fileCount":77,"integrity":"sha512-iDvg5zRvkVGHH1px2g0+elu+PPnjTjzoexkCCqznl+zETKcJIRS3DVq/p/IUMwl4j0fW5toT/4tK3vLTk/bEQQ==","signatures":[{"sig":"MEUCIQC8nAbL9+VRbOstBxTp+K9jGx/OC70WEPfzzovs/N4glAIgDaPUDKGHKajJw7YL2QAs6TT8Z3Z009WJ0e3rSafDuzQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":523529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgKy0YCRA9TVsSAnZWagAAchUP/0cPlXps+6klT9pjGheo\nK83ObRUex9qegtu+hwkd30vuYmPxN55fbz9NDcH0j54u0xGQZTy3AfNliugE\nt0UYs05gXWi5R9+IPGQOLwNt4rc3TQqEq8HAjtmZa5EaZNHgc4LbGlS9r6hN\nj+PrNrjOv/t9fa0AAl18kK/JqJBAZPqCgbpPyDxuIGvpyVacKLIe1hjMXD61\nEjo1caJZKvyoK196a6KUfMR5oWfdaUPNIBIGVyJzKoi/tr0ZYUERCn3mRLvp\ny5zbXZ90m/pZsD75Hy4fbCerg5MqswaMLqM2LCItvsNn6p2vbvzHmqcPAsdU\naIWVSFhM2rN9sHYRF0rBsNqz1lzN/njFbwz3wxZn1eh35ZPYL8WcA+POi5qe\nXD1SXYMjIhQ7Cgh741IbOJM+x6k8gV3vHgaOHOSp3iwMtmuX0t57o9WXWlBO\n5LnkY5fshXx/4ysWid+oVD+E9DDNtKJ9icfwQ4TapvbJkL9HcMwya4LO9h2/\nIZkBGRoOUYSqsf9r6kKmCnL3ILNI5JaqTVhArPMCKkj4vXnI4pbR1Ss+/hEl\neywmq7Uw4q7OErc0xQmiu9lXQbozixzQnxxfvuvVoCS2iiECUL8JzIwQ2Nbi\n21SWZ5m2ZHDR6uOnR30PiU1cjhoqfevp95zH8/StDRIeB0ab2FbbBoqSEA3i\nTR79\r\n=GpZS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"7dd286f1a874e0350a2040ceb8af121f138e8154","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.4","@adobe/helix-shared":"7.19.7","junit-report-builder":"2.1.0","@adobe/helix-simulator":"5.2.4","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.0","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.7_1613442327893_0.6678697505781506","host":"s3://npm-registry-packages"}},"13.2.8":{"name":"@adobe/helix-cli","version":"13.2.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.8","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"60b23ae21abf12031f088c112b3af2ccced95872","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.8.tgz","fileCount":77,"integrity":"sha512-Rh2T8xYXxcxCJoRMbaFL4zvNupGbS4hSZ0ErUHpIpPz7qpcqsIx3hgQ7bCCzUG4VUNa/FednxZvrrIiKc5jYhA==","signatures":[{"sig":"MEQCIE/5dATARsY/FF5XS4nLofSgYu52tV4+WXYIHQ+ncOqOAiAK4R6GsZO+80zwSVGaw3lxCpx3FATfuMpBwiqCGaNERg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":523845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK1ASCRA9TVsSAnZWagAAlbIQAI7Hksn0bDjPMskDUbz/\nd/uXtKBVEsV+C5G530LWANm3PKg2zNUDN1m1Ztfac/rC9wjkIVV/ofTFiVlW\nKsia6TWp4uVBC8V0/jMIz2o0WOKGc5Cvmfc/HJ9oEpzM1mLtf9943hVb+UrH\nX9kXWG5yIYRHGYAsNK9lsyNnqM+U+bYUECIAV3DDRnRrHyarahgypv13rwWX\nEv6XiwPp0/Cpe2IN/qbSUTKp8tToe4ystiyUZmRo5kMVoUnJzhDkzNDctr1R\nViNC6Cv3dJTzSphXkTXHSr+aFcFJYOAyjad/w5/PE7BJNEc9u/ekLZ9l6ra0\nqOzSFPgMqmubKnmxnn07axH/+LR0ncxgC9QL47ySe0xLCPHrrYxdhBNeHT6H\na1ERsFwmQVv7pb7JiUdpkVSMtbFlorKvEa0/n9qhd9pQ4oCMmfaE/ZJLFAgu\nCAprUSEu0ZKFsYRJx+mEjGnY9aOWGHLcwi8G44VBJx1J43m/fSScbXbdhMLz\n/516VzO4xYvN+G3IdIM5eaJJBUlZbATw+wdZLvZXZHCJTcu2cYQAHVgS2SpY\nRC4Y/JCpM3iEsWrpaB3zPeEhCnv1WJ7zLnlcXSfs84+wpFtZyKd8Cw4iTf/K\nG7sXFRYgQcWEkzXF5G9Lcl85FzU7wLHc/g2FmhmHZfAjJfSDZK9rOd+y2v1R\nW51n\r\n=Uvg3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"1301211a3ba3804a3ebb5eddb65811fbce515f3e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.4","@adobe/helix-shared":"7.19.7","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.4","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.0","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.8_1613451281853_0.484373883058407","host":"s3://npm-registry-packages"}},"13.2.9":{"name":"@adobe/helix-cli","version":"13.2.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.9","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2c047eef2f11deea60eb6d7216f1d84e6ae6c528","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.9.tgz","fileCount":77,"integrity":"sha512-eLNmt/hq0x5fWW46VBjjCCt6W6T0F9kGFTMEF/bBidEg12EgVQO/aexu5X9wZ04VreVPu6UK0yMxQdeO6ihz0Q==","signatures":[{"sig":"MEQCIFCER/1lY2OBqRmUCAALek4rHkSsQUjc8gmszDD15ussAiASWgIhwUhMMmdRTDAClKK8Pp8g1VB5+Yt9fV6oSnp4Tw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":524135,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK6kyCRA9TVsSAnZWagAApWYP/A72UIJbCsZiCgnQaUk7\nSpekyj5+9H0PEszOvn7oXEvFza35yD4Lbjj4CIjTJcb0XC2GfMf5izvvj9AQ\n/4uLQ6djwblFRxvQr63ZYVO3edeLanwi+MRLbzSd0q5KvPZIPdw7aRit4Feu\niDZvLSQ/tbsoZGgDvQnekjvdbMTlliyDz4t37TtjZE6zL9oJt/euOfZ+prYX\nghUj7shA3B6mWMVsX6mmgHzJ3C0dAScaPUFQ5QwyaXoZjFxTsrkBJpyVA0id\nF92HcCd+IuLofjkOdRdAvGpHQK1Wqx2ZAl/a97e9Al6GnQFu8qmiCy9FmwxT\nHs4b07QkZ2MGcqvXroTdrotcWoLM+9e/gXNQSd78ILCMAqxBIFoXDNigC2m5\n3WSjmQixwUbhIUEqK7z4dCx6cU7Zbo0XPpAGYmxjpRAebDSue3RRpeMN2lqC\nlTw8sM7fSD1ZHA/2h36as+YgPSYnonlS+w+ZvM4956WUo/wP0LbsSjwaDSJc\nYacscUPdbWjroNl0basrY/ajWZZ9+kKbNL44srJGVF0cBm4x50Z5sYC4DV8p\nM+MGQ9ORg7S6FVmdcd7IKHK3xei8YchdOeGb+5tEbN1A3DDu7s+pe/56Oag2\nG3JGZo+dHfVFueF4SUGa4m/CogH5SPqkyXhSljlDc4Ja5QWfpVWDIb1HdKTV\nZPPs\r\n=f7en\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"97f4b45b711cb7a3db4b163f23d575f17653a087","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.5","@adobe/helix-shared":"7.19.7","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.5","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.0","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.9_1613474098254_0.447945760591115","host":"s3://npm-registry-packages"}},"13.2.10":{"name":"@adobe/helix-cli","version":"13.2.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.10","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3b1a8ae28aca87c1ed0b911575340b23338ab47a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.10.tgz","fileCount":77,"integrity":"sha512-893gc1hObNXMv1uiSe+FdMTM2EvukEWRwa6lzFAkDkK83u+8MzbxIGHO+aV3W6VN+ERX8waQ2BfSP56s/Q9fAg==","signatures":[{"sig":"MEUCIQDyOV0UcuOL7fnjnoBJH3/Hk7lByhN8B++oYzl/wm80pQIgUhXmezwdRZSjOmL51c0mhUwyTu5rEXj1gvB7gJ8r3Eo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":524458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK7VmCRA9TVsSAnZWagAA2i0P/1eIiYqbHO3szb2zC120\nLcoctV0EhDnHGUHZjjrt5CPZPouo0JQ1mpWe0DFSrkWvfiHMz6ugab81u5xq\nsZmyYF1/be7EVAxqEvAceMy84gS5BobbfR7rqE1569TgJzX4Fal794sXDHg9\nCEp+Ka3ffsFyVoX3/jBwCJPxQCV1uVxPVg+ArBMeKadkjLu8Yf0OV0+uO37a\nsCo2gvt7Oc5+Pnf9bVJbYN2t5mjwFKYqwiXgJww8I6O+bfJ57iK5ucd/WxSA\nLjeM/DeBnHMommlPjhl0FHDYJhkHaE2hF6Q0erq+pN7kIHd/Lsvz1F/lp3Wo\nlJaQq9ly3l+0x/Lw6WFPsp0sHxkomP/rDovHjxsBtEGPbTm2+Kxe2zbJeZPV\nnwBI0gZxokkZFeIT7k/hoGwg7/TyDbqGYPNsorHZEY0kJxdddiRuNZQNKFuV\nXyery6CqcR1NMrgvZ3DIylmRJ8TXlDS2cBGU84RUXGeRBU8rQLXZIwVCFXEE\nQpaB+6PKDMX48Y4xbox0SBPmhMnVFmmumvrcvHyBKq/8kqeN3IbF22Gb+pWc\n4LZLA8m0GNnJSbcA20cMwI1u7f+0+7xDBAGsFgUZhdu8ycrfKvv8Dtaiqbmn\nGUVuG+0SQuQ+KRXnx3VMoEgAzMw5TsfskUa9WeNpx3nUdcc9dUbutjKfoyF9\nHhLR\r\n=ATGT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"7ab9d4eb31a6c56e658341870c0d4961141e326a","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.5","@adobe/helix-shared":"7.19.8","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.5","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.0","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.10_1613477221688_0.5946995313466605","host":"s3://npm-registry-packages"}},"13.2.11":{"name":"@adobe/helix-cli","version":"13.2.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.11","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7806c8776d3661c7a3663876d592793cb9448472","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.11.tgz","fileCount":77,"integrity":"sha512-k25rva98kNVagZ6CCT3F611/3hBbtUXkB8b7hFGK3VBJfUzOIWhGoFTuRczhmVYh69pwurLKkWXmIC1tRFIpdw==","signatures":[{"sig":"MEMCIHldWrd0oCNdgopDP+ZSxbxYNleDbw3QJ8GXEpaanhvNAh9vFMW7LLcQeIrM67a9jOrekOHpmFyZ61X79m5EzzYH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":524783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLGgdCRA9TVsSAnZWagAA5ksP/053yAl2TXhXGq7agOko\nDdhHpkmsK9y65t5q33LrCXSWI1lPGFbkLh2Td5CA9nPMeiuALVKgBnkzlSke\nHARBCzrxDxxU3J/cotztPiOTM82YcNuRIvalzO82O98ibjfyodU/lbZAwB8W\nuzPBPHuVkWy+R5+5WdiDFos291WDWD7b9zEHbGj9Zv0yo7Ai0iA5YBhnwS5J\nK97vJxarS+JaokzQvvsZlv2//ZzZfAHxm16tFP+pbNCBOoy6lmaYoMq4TeQw\nky7Q4Fc3+tD1ph0HQ+y/8SJEGJjqQEe6O1zKvSPY2Vghc+HsLZdGxr34liiU\nY6W5e/ArF2PIAxCM3icNb7Qz6undCkP3EwLp9Jityl4iOrCOAbCyThaXo7pu\nhVjM0PFqzQbv0rKydNysiwmjGpShtIbHgCIGTmJMY7nKNRp7b3dHLKgQ/20e\n92dgXf/Pg4bSk6dAemovwL4asx7hyx89BbITip1LAZ3Qt9vsFZAuS7VR9+Pg\naLuv2aHxfPLpX9HXnKhQSBR+xJZQdabLL4Mr8OJu75oGiSz3iTTnpXdXqAWF\nCxy0mGShpjREx/UoGDwntvksSnFsEvtXU1sZPZWMxi/rBiQRjhJwXgHoxMct\nR7m1iJ8rTOwcL65gZoHy2+O+Hz2769N+d9/+hiCWLQjOBtJAlbI6Wg7drLr6\nI71T\r\n=yM19\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"9b0457b08e9c05ba320ab3041b96245451e4c03f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.5","@adobe/helix-shared":"7.19.8","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.6","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.0","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.11_1613522972957_0.44989572378980136","host":"s3://npm-registry-packages"}},"13.2.12":{"name":"@adobe/helix-cli","version":"13.2.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.12","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"e99d4db1fae734d0df4645a3cc420ecb78ff93c1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.12.tgz","fileCount":77,"integrity":"sha512-4bYP71y4VGvQWTdtaNCsMoN5fCNyJAhZzQugRt0W7HKi4e0hqcihfqDkEOkSIiNpjrIxeAVX8zz2nWVv66KZgw==","signatures":[{"sig":"MEYCIQDFT1iHnrBqBCqDTHwx9VnYAdTV2NpuZrDD0m2P/LB1GAIhAKDeMLPV2CzPQDEUnHUQUHUfrcET40acnDxrTxWJ8Xvd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":525005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLqHOCRA9TVsSAnZWagAAFXkQAIyV+busXI5bUwZ7sPit\n6KCKfhTDZXGTStOeOcBf6fls6hS2Vtfg9NdRqRweKjcUeSpwpalkBPHR3gB+\ni/PK/Jw10BADRK30QQurxIIVmwn4YfbRdkypl3YkW6zbHklq+1G4U84uadDX\n8wsQBnaPTt6yhr6PNnDT5+BWrTSuPH5iWiLvzryMONhtgMP4Iu5zWYGsDljG\n4JQ0DlhPhzqQ8oBa6DPhO9iLeiYZIf/uFFoCsZNn/INtYEzIjGctvL2SmqBy\nsMiCn8YzMbkrXzUPnICgWQSRztMy/O72uQCktpj3Aa/6P5noIc6SLOwFdKXS\nfJUT/oZUxN2e25aEFrTOsgC4g/sUsSz8L8LVkO54GreDhSj9FfOXYKivMQ1V\nVk6N4iPQzbnEBGNykNCNNVEKZ1MQfEYRTOQgRnESfpYKE7DRlHEckxn8/tN9\nItSpOb9sBOmCrcyNZVQZUZK2JCCbNcxQTnODAOHKvK7+2rITJJdQMmTbV0Zs\nQ+hX4I2YVUg8OxXCXC5vZJY4LGolARpy/1lbWx1GyrxLF/UDHt/GGRJcUcYc\nu7n9jQtyWkBUu5f8ZvRcUUFLR2CGHv2CS4BsvJHVzH+CqM7b+HJ4hUs/ctCT\notsEonhxPap5EKjus7jOf3hTMmS0TYeJQfTEFYBMon1a4CuzY6hy+mUM6AFq\nhqQx\r\n=tHZ3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"ccfd9f5321614368821bef347f466611da0734c4","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.5","@adobe/helix-shared":"7.19.8","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.6","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.0","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.12_1613668813536_0.2082890288145165","host":"s3://npm-registry-packages"}},"13.2.13":{"name":"@adobe/helix-cli","version":"13.2.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.13","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"09181b0df88a089e19afae4eb49a6414b42e88be","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.13.tgz","fileCount":77,"integrity":"sha512-FahRZ6fHiaPrr695kHzqATJwZAEeAeWryVzPTr4Gp3QRMsn9RiY3Um+sghUZn+xStsCzSJFD+icg4/4MfpxFTA==","signatures":[{"sig":"MEUCIQDM0IOZRM8D37f6wUVzDKTjzwMUhI9MwQ5XrF/X7tjIFgIgYO2NLTEsc4TB8UaZkl53Yyx4TXirWEM8gURsbB1Ylhc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":525227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLrBnCRA9TVsSAnZWagAAEFwQAISznds+VCoYnaUOog9R\nVz22E5dZjwyeOr1L7xY7G8xsMD/LBZ074/tocKLsen0PsDthzM8SXZWIIuKV\nbTBAfeRoV3UC0ltHX+94dobMDz7//iw1d9MZBQrx5RPvAcSS4ZzijcLPs9SP\nXdLIY1ajj/09rgrkZTPMNu6dWlfl4ayyTDx+aiTB9Z7M9HzLIxUtejsUS3y6\nJn4UgpF/QsEXLSCvkfm+Q4mKGksNtpu5/FJ+N3ZCEN6sTuilhM3GVn2BuvXe\nSIvCTqAJ6VCsvkkJebeHXdEJsELGblhJ3ob3o020LFp31qv9Xj9Ki9W/lCDN\ns1YxcuFXAXAj2vuAbw07cyCecKL6XePdb+FwZ5DiCiOhf+fcdLl+RDVaSfFE\nwO+fZSzDKrsMnobkaIfe4Z2l/9Dl81HhWafzHsbVEE4YXKGN39n6REALS4nZ\nV9yFjOXV9EjsCHDX9fiBiS4gAao3MpO1Q1cBm2xFw1tmSBPtqUa0bnc9fC0x\ni1P198AzXzuBj9BlJkCdmBuTigXiVcFpfaLPowGJtivWmm7K1D55ytV/Z+Al\nsI5rfiFM2Fmc2GtIWTtxkMBVr2W57BhjVYa+31yMxJWFEjyqR+mpWEwYvvww\nqR+aff9ufu9Itdj8t8dwmO6DMZ2wmhF1wwl4XbRWgtLmj2cFeHU8mw/p2v9X\nX/CH\r\n=xjFH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"b5d9b940f529728862321825a21612d0a946ed09","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.5","@adobe/helix-shared":"7.19.8","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.6","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.0","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.13_1613672551093_0.2997762642673698","host":"s3://npm-registry-packages"}},"13.2.14":{"name":"@adobe/helix-cli","version":"13.2.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.14","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"275ecc7bf6f985c0b1d697aab7d95f88996c7724","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.14.tgz","fileCount":77,"integrity":"sha512-YYZ+iGY7/0D1oqjziEXcTPPzM2mrXn3O6Quiss4bTTvEaN4ZL6UcVKA21YWpE1k2wEMDQW9j5NCSFuDxFGMlPQ==","signatures":[{"sig":"MEUCIEeipMY7wsMgNJb7y5FD6q/ADgMYyPfRWE5+So6A5a+fAiEAmWgCOPQ/mSDaH6/SAlDGhsOulKw+JAGfiOLJS76xQXQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":525550,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgL4BRCRA9TVsSAnZWagAAAP0P/09IxzqzM3TF+dHlXisl\nkY86PNb/sM4W/GbQ7Mfox9hKELQsGuCC5lKOvhKogYJux69JK6+uNRIOwaBY\nCfylDMQqez8dYqxp7k7Jc+qHXfTT9DOiWkohDwnArKcv9wNLUVrAGQSQZgvz\nMGCHGGvWqGQeERZI48792zjAAexwnKwzz6Ejd4Jc5KT4v0DnrappBj6xCdFK\nZIaJzJ6wR/yT4CHXx4alEi3tuwr5D98cx/3Uq1A8V7t0z+R5YutYTBFOaXw+\na8TMfe0p1LNFv84fY7bm/oZyBCH0VLTHkUFNg/ja0ZMwtgDCzuuvWkBseuSl\n+Ou1KSZ+K/jfFXjb06VEkE0w1pm9oDSzcZYe6zWOWng9R2HqRtpdbl0pTmI3\n0PLvTthz770ESFqkfAsVFm2OmT8u/lAmMyU8yn8YIzylt8hWEPLaZSRqNHKB\nvtt1Fj48GFI4idd/R1FwYtkk+qmYz6W2QhgVsZjFqYGs+u/p9nrbUMSjLCaz\npPqHXUwRM7z4jNLpTi6jXwVkcOTZQ4RUMj6bp5aSE/JQhTIb3hH7iSPYPUDR\niK/gibxN2R/zQeZxHhlhKa9VWBSeHqYrs+/6n4lQMmB4KwYibMzq4XRslYR5\nXhAHguxXKUZLDyEAT6RkUaDaq8yeTQzOQsNzUYTm6KtIORyBOEJTkSKd3zZH\np9S6\r\n=U/vu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"b56e65541f0e8eb2c055811627ab79cb7a816b04","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.5","@adobe/helix-shared":"7.19.9","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.6","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.0","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.14_1613725776877_0.5238895112616984","host":"s3://npm-registry-packages"}},"13.2.15":{"name":"@adobe/helix-cli","version":"13.2.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.15","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"edbac8f653c4db4e8d5066152f4dc1b5b416a1bb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.15.tgz","fileCount":77,"integrity":"sha512-WLsbQ0caFe8LWv/58vHweeOr/BBz2FpcjLWehp/3ViIgI7QhRO488ByOXjlfNX9hOGGRA9cxg2aY6docdLZQLg==","signatures":[{"sig":"MEUCIQC8kCnXBq4rEp1AOG5xn1ICKdr9e51mLZIpOgomOrMdewIgeE7TDWrSu+b89j6VQL7Fgrj5XomIq84y07986jK1kfI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":525875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgL4WVCRA9TVsSAnZWagAADqQP/1wsxN9L/zGcab/CdWMx\n1JueyHs7PoUYIXlVOnW6dgYs4k15awnNI4q1oN7KKNV+mrAxSyS8ybGmTTCR\noAOsgIzU5mUxDquLFZB1YalS86NgcfrN6kKZFde13D6dQU08EFq+iYizWLIG\nLJQ7ht946y1f28cJN5HxKPtcdGGhcym7HSGs0X/rchgzslqPqYvukQNg1pxI\nlpwrkAQ7KHUeqPvdvdLiVOEmmvYpf+wnT9U06sauq7gw0Q2I0z/Y0CNy5ci3\nSFmOxHmoLfUrGB4lJ7RZsWbXFjk7CCVyNKSI/e8nJaqHxLvebAkCWi/klTCN\nA+HQnpBRYWmL/LxX4W7NElrM/06QaDbBfj6nxSa8X8vixvdvrXwbCBkImoa9\ncXGK0W5OlnLv/yWSaupf5afmZTO0MdUDqiSd520NmJmA1qpOwlAp5Mc1RsCK\nADemNrZeu9vHznwGhrEwMc50xQRBCBW5iT3oQmDHixe1WbI+/CX0vyqu6PsW\nxWA//uO415P9cDBnqbbb+sR/dExbxazu4VOIeDH+xxOkkA5IhZMDoQuVAUf0\nhZA0BdjKPRgsV4fo+vKtzUUBPphgoWD96bQ+cryTXbGSTu5WujqJjsBvQGPU\njJ2BT84ZTwZ75bkxAbb4c0dxwa2r0AXMyeUnPjW6l5rez+YCGMtrAAMlJEzr\nibPr\r\n=Jkip\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"314d164be2ca9278c9176255fa8b5bad85ddd304","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.5","@adobe/helix-shared":"7.19.9","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.7","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.0","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.15_1613727125136_0.056523994820833146","host":"s3://npm-registry-packages"}},"13.2.16":{"name":"@adobe/helix-cli","version":"13.2.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.16","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"888e0c230164b56b1c2ebf1d65e146ddef2a626d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.16.tgz","fileCount":77,"integrity":"sha512-4B3kzbBmbcNDfpILcPSRaodS+5dZhOFzJVIe/73s2DWPtJ1F4sANCwTJpMNmgPj8Y8Cm6Qa0oZR1tcDZe5aUSg==","signatures":[{"sig":"MEUCIHVjvfZQC9Cbg5J1zzLWMHsUDbWSAFh0/RXR20iUMFGhAiEA+VszPDntz0+dB8PCrqrGv0w2edtXWoG+8Yej/Cz1S3A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":526142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMVfbCRA9TVsSAnZWagAA2wwQAIb0zVP3JUjo09CD1oKi\n2/c1/hHdmD9XkNqcjnovE9q/XsH09Qq3x+1P9Zjl3XfhidXQQYqTUh6nQeYB\nk7bpWsw9IUfMPTmMP8whvDnx0YRt4n+o2wnP+5XmBbCFgN4r3l6mGaafjGi2\nphnmAHgNr8jI1WpJdKbLGYFQ6XUDj1qgbAxhbQXPbnSzpyb7HtzlBgtHhZtY\neCnv4cfoVxWH7sR7OyqbnaoCVs9sofs8BwStcpiJLgvWVmtvo169O7sBLXVO\nhSaGt7GKVBaziXDJu3dUFiBGj4aaQBhTa0TggLfVSrLOl5WBBggvaqukY8mO\nrecz7U2CLAVP88+2XpmXxi/+rjetZWDAGRPotviQsodHL2yxYpxKvgqgiC7+\naAfnZWNpEr9f4QGkZL/wkkvyp7vJJnYAQduq7s9BSElqg/osPh0Y1y8o/xYC\n9MWXyXvIsOA3lt30GNQLn3Xi8zOfAeDaU09Qi8chWqn4l+2MzXLRAwcjsxUY\nDWocNHsjCfcCJrHhIZKSnHlMlbOLTcgUzUjPfq9gEuwC991Ec2sGdg/hw60g\namVdE86ie1+YN2pWIk7krVyyUcq0BrXum31OPq9aw9OmAg/Tbqtcv72gOznJ\njzf1zzdt/G8LfqajH+qg1QoEty8YmxwNnpBEhnrmEF8T9g/10IN8UYnQqO6m\n1mD3\r\n=Ngx7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"92fde76dd988aca0a54ca39324d99f4881920cae","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.5","@adobe/helix-shared":"7.19.9","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.9","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.16_1613846491152_0.3229864034333756","host":"s3://npm-registry-packages"}},"13.2.17":{"name":"@adobe/helix-cli","version":"13.2.17","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.17","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"e80caa04ee3bfbafcd3aa094803e396f162f1fc2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.17.tgz","fileCount":77,"integrity":"sha512-65GH9Ijzj7qod0hHwLUDui6PuMZZ1X1OlPem3BWCrfjhzQojvYuNjbe9GNGfbTZDrUdhYWKohtUlohn/70sJOw==","signatures":[{"sig":"MEUCIQDAb9KWPg+5wgKs/ef0vJXMaJADlRx0GxlgiQ1XUfeYeAIgbjy25ishFwIuDHiEH+K/yudWAhfx9r8js7+10QtVkCg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":526411,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMZ2iCRA9TVsSAnZWagAA3XgQAKKaBlxF2uncOUpf3Ty8\nvC6uOTYMd1SMhn7n3dqu2/n/A5wM4o1dghY/h3IrFWe2VeNAykz2mKTt3LA2\n3YCz0uEPnHWjhzSUfjd6TSnDQQdl4Df8I2WSRXto8aj7jP2PMLK955pCwSiY\nOIbkZnw5C2CjWEYuwGPpAdl9nV9JAmN0ZjbnP3EfUt/es7VJ9DGZXFWq/vzT\njA9B33BN8QtUOTqL4UDekK3WszyDnbziVZtGbAG5rR/AzbRHNKvqofJ/2nEr\nxD/mYJMf/V9kw2Hs94bqrj+VopbjMSS3I0P9Ue2FHVNqZm1GaXXhif5XmxrA\n7T1ieMqWjSLzkUbpzbqcMNzK5az2zQmARnMAdjGiKS3KxzST5/54DQL6cew+\nk7qTy5aw4zfA4NpTjpiL1z3Mjzt8RByMRFcr2as8Rx/FBlJuSZiHAceMDFcS\nZsDDC9TiDUxeau7OhMrAhQzxMdSgVjErEJgRhTXSlLT9FcE1NKpPLM4ecYYs\nDBrr/pi+vBvyvLNgCrRDBJZ8yrFCG9laviLtZqLhY4F/3iOAYFdw8PotgdMB\nX0AL2rmdYi/a7La1+xFwPV2E/Mj5eBHVooqne9q2iGlWA9BgDD3KRVU7PbrQ\n9gXaO9i7r7Vq04Tl9Z0ow8+Un7MEK4cLXjvqea9xIvZN4bT10wECsiDOFNcM\n1OW7\r\n=S1/e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"4456b04b1401db82c7dd182449b50f538ec84649","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.5","@adobe/helix-shared":"7.19.9","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.10","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.17_1613864353085_0.6277722750129655","host":"s3://npm-registry-packages"}},"13.2.18":{"name":"@adobe/helix-cli","version":"13.2.18","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.18","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"904dc9476eb6030d9668ed6a4a0d5fdac263fc1f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.18.tgz","fileCount":77,"integrity":"sha512-SRmzlJH/QEA5YuVRoPI+yRf6K6hSUtM0lKE8qojBNbP9a3q2vzMgY2/zygnBXAzortBtSPrsQeTZJuDZq6gHbQ==","signatures":[{"sig":"MEUCIBgCJjAvhfYa6YnfD4peYQqYih52hPu1mkd2jEJQPoorAiEApheItZD9zvsaLgPM6925fpLBnNrHrkLUQ5YZ66/Dhkk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":526678,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMollCRA9TVsSAnZWagAAc14P/iD2Lm/1alg09udA3Lal\nKzhoN2aW5JyTUrREHQVtZB9xxoQI0iJ9ybS7uQQs+OeI18PAo382UQyXwyCj\n/DqT4qvvjmOm1YKvv3YdhZ1P1uND1Ka3aO4UWuYaRLVOUhQdroHoizlhtqvB\nepSv9GPLmUl5liXWZIuNEGQ+IIAyyCyeemehdQfW5jMLTuCHj7E/1nVal6oA\nvaGZEgWrKV9M/OXksdskU5oMl6/U5xUQIizXPDqCqV886nDJiDhNtRZrNkk1\nTPGZkeEbW5OIoYVBooYwQKRzuagFuOM3ZLAYDc8V5izvWCpOzAEme/MPmMam\n7psSr7B315vu+k8jjblur82yyEnIFiBVanY15/tvVI21qPkPemcMxdzHRfKY\nl4ryEwmt+/v3KkJQpD4ji265Qmvs4zG8ejQHewETQRfRH1JHzPTY9kpsJdYv\nBuPLo7mNlZ4UyynmoiH0ymSwcDFdQDwbSwTefYc2GJ1Y51pB7d38eD1XLJ7u\nUFEUtSWYdSMBeiPnITSTcwyCwneU4dv80hwFPcNnSNOJKvb9e4CfUkS0N5MT\nS2KpaxAx187PV2X1ecw4ZuVW1AQHPlZRz+5u5Ms7tUJJfxNPBNKaIeFLPbjZ\nP4kbXc6mYGsOESq3DiG97IT9zutPXDqlxTJMWthujHtoax9sEbn/VavXQgjr\noup7\r\n=tguQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"c91e5bf2bd7788ae34ab6b239b8d5add7ac1b3cb","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.5","@adobe/helix-shared":"7.19.10","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.10","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.2","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.3","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.18_1613924709141_0.784262841971108","host":"s3://npm-registry-packages"}},"13.2.19":{"name":"@adobe/helix-cli","version":"13.2.19","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.19","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4a79168f0c47bf0f95a266c5f1588758ea60dca7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.19.tgz","fileCount":77,"integrity":"sha512-zEew4DfEvvrwUu3ORVn2hIn1pRdQqTlH07lX9xcCO/2fOQEMXdxV09bDyGr6REp330Ij9okpLC11Ytf4Yobz6w==","signatures":[{"sig":"MEQCIEEFdiNObLNrJe19/1/ykdJF4VF8Q2Xt1nDOTRW5cY3TAiB6Uy7ygVrAwSGreM/sXwMAuFitdpJyS6JPVuNl4iUczw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":526971,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNyGlCRA9TVsSAnZWagAAqFAP/2IGBGL3Jd0HF6PacKIk\nQweu6Cd7YjjPluRjedrOiya28lDHRjlTJAq6rphCdzhdEXLpXXQ3dduUGnUV\nMtbd6J/CpgNmR+EMBjeDr416I24d0LFDEFkFq5FwZZNvPzoi0AVAOP4SQ24y\nVzkgLb0AV3etmiHddFvmQE4InRUKUYs3+AP0Gjddp79lSD252KUbyjQ89VJb\nJMhdqtQssHQkcudkhjmaqsR+m0BsNWLL82KQTUA7LY9uYT2bdgQlS43IMuYO\nqieMnh9We5OsEAPK1DyqZNtfreOj0Gd5hrD9EBbn4ydExFBImkM6c+9XpY13\nEsiX9BEFO6Q1qNkwFc3r6znpWmVJJ6YSPK7o9SQBBle3iuorjtZJ+6pEH5D9\ntagGLPn669q/Ma/lB2d2sRVkeErwaYBlIa5UW2bAG0LJqXtEi9zr3b5hdyBj\nIfuJELDenyM+GE3vo4QiPCxx63HEXs9RF/THhxiexFIGLPrSspG0ZgLdz29T\nrPgFp65hSS7JFDNoQJ4Ys+2AhnnCBHTWYyu7Bi2KPPaC+3bfYzVmU4LWbOeE\nnb+HYFk65i0p4DCTl42PlWre1yvkYxT1VqVdmuEU2PCk9khvvyhntovA0sgG\nQgTdeFf2tMCwEEjoGhfWuhUzoH0Cnp0Dq34ao775Mdrmz49xJCN4Q/+5noXA\nBeGU\r\n=n0ST\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"827d5a7e5fdfddfac28843bfbb655518098c609b","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.2","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.5","@adobe/helix-shared":"7.19.10","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.12","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.19_1614225828526_0.8251350913204651","host":"s3://npm-registry-packages"}},"13.2.20":{"name":"@adobe/helix-cli","version":"13.2.20","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.20","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"fe74989a142cf2064c9ad6f0b77462ca18b60dcb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.20.tgz","fileCount":77,"integrity":"sha512-nK+D8umeoH7ex8tPJozNBxL4GGxW50o1tj+Fu8YsT9yEC+gfk2WGpsOhv6Jslfmt9a/IOSzT6d/KOVTFX7af7Q==","signatures":[{"sig":"MEYCIQCyzQVLHsFwoy3JE/sRNpYlBRI+voFgVOOiVLLqx6i8fAIhAPKVjtY6AhHIu6+ViN5241qEKpUfUIDVN6hSIhIujZjm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":527264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNy3jCRA9TVsSAnZWagAARpkP/2rJzJmF1SKPQk2JD+gK\nY29bJreE0jcOyB6z5uwbzgtaACxbNxkq+D9xnJLGGKZMGBlepnPcu5C3cOs+\nQ6RqOomONWGUaSubY9rBMpPyG+QUpognJRYD8mrs0SNkBtZpHmlKEuqatTUT\nOJCaBdjNr1h27A5eeYwpuV70JMMhvPgyZnv2dBlaSYjPjyyBWycaLCLyEONL\nsG+3naT7CTO6iUIjzPX+NsfT5QIYkKhsLEbJEd76tuDWjrfbMWb28/1o4/9O\n3AFo7DgNgMXSKcvL08uomPQ8YoC0vNoUR1SgUtHwPtJdE0SFv10LQsApTopm\nBqvDBFPMF4KHlyAbcSkIRWFGebTbgQqG+02P5IJhAjSRhzpUwNe71PL+jT9P\n5UKJc7/qzSFJLh3oa4KCLgMUnGv7mpGajUNkeOIdRiZQB+o0szbFywYLwXRF\n+3KrGZpc+cHOP24ODQq2cbr6JdI6XzchtRkGkjl/+VI/M3X03d3YT/YKydec\nBC7BNsl1U10tKmmuTvOoZBaGvB4S0akWTtd30bMF/ZwrNMCsvColxaiP9Pw0\nt0w9k7KwOoBImQH/xJ/3dsp9K/KvDpgAqn7W9RQw58QqUwpXS/s+THxUnf9y\n72DSzp1FIKm7Wz7wW2xTRnTadyk0ine6bQj4B4OFABxg4hrPKiBM+ZQumjfa\n+deK\r\n=rpTx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"e9a05002c63a7e4580eed87eb8e2f4808a7a304c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.2","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"4.5.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.5","@adobe/helix-shared":"7.19.11","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.13","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.20_1614228963270_0.5804137622895076","host":"s3://npm-registry-packages"}},"13.2.21":{"name":"@adobe/helix-cli","version":"13.2.21","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.21","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8e254bcd57c1a4d72c176fb8484335283c9b4dd3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.21.tgz","fileCount":77,"integrity":"sha512-5rhSyyB0N4+213k1W9rV9wNQkiVByIRKGOvuFfTM/20JfkW4nRiUnvs1pjH9MVmofxOxAK2s+NgEkEVNpcZctQ==","signatures":[{"sig":"MEUCIQCCctdOsLhDB+7G95JC9ZY7y+afFRL2TWRVyvZRVypkYgIgK+Qqd1kKkAZukKCE5sNnQ1gbvzKYyaGiote6JWcFz5k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":527579,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNzlbCRA9TVsSAnZWagAASl0P/iwIiUuvzyYcyr/CGV3r\nETD4yUrOPk1yG21IrcWi9m3e7uo50x9ZqWEb3P6EF61pYIxmmZPhMldaYt1m\n7l0tyxvUl7NYigtBOo+BL1w6XgzQH88PaTknLtjz8C7J3Ag0UJ3Mxx15ZQue\nr5zBAEWakaIbPsIZYws5dgKPSzhre8BBDIPJlauLvzkz2F32yhcdhBE7xnx0\nvWJJId1+ZrazMgKh3g3g2Y7R3IEJ2H3WI725wOd5BCdY3LtMER8lTTFddLEN\neXlefocNNxTb6gGy/YzBQr6pJtijyyzVZoOofLNtEt/r7NdLmxCsEBruGX97\nVWPZ3PgyxlBw9Dx1ETa7C3qn+7Rk+lN1UFtYzxzswDvKRTruuQYFyOeQBikq\nAcBNmFltVcRdNfHyPqW+txbF+Sr1W2SagSB9fH4bwQqRkmeJ+H3sSBo47CLJ\n4qBjzbIF9dhRd4Oxk4n5mLrMUkcxLWG9II1LOj5/mu81drcGx6BTTS/faNeE\nQNAkSnGJkk0jN2SgSgNRAbvfmk8KrROfmvhDMN4W2d3pDDr0JBBX4dBAFm7S\nAYHpCcKyMg5OGbrC5EKYvJ9JDgy0LLi4L5hF98WzYfienkXPvwcfhtuPpGD6\nLeLx4ll9u93nKDfkFwCvDr4x9kXPXMg9UJy35+iPophFQEVjouEhwOBOVGsb\nr6gT\r\n=iut1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"5cde01039d7cd52cbef6222693a3302e62042ec1","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.2","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.5","@adobe/helix-shared":"7.19.11","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.13","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.21_1614231899198_0.6073577716307703","host":"s3://npm-registry-packages"}},"13.2.22":{"name":"@adobe/helix-cli","version":"13.2.22","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.22","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a1cf9b0220c54de3274bcc69d78493a4e7c178c2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.22.tgz","fileCount":77,"integrity":"sha512-XqlpEqcjVJR1azuGyPMZCXF4V3IPxyF5iJX7hrKxYXmthp4uMXcAe4xDSh8n/n6R0r6aA3qFGz0fItN94zHFAw==","signatures":[{"sig":"MEQCIEiFJ2Ny5ryLj5zE2EHN17XHR3eh+sxRd+49pwN4LeZ4AiBd31pltkVG0rlGUrgywK0wLwyFuyv9URsifn/DBg/ZLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":527905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgN06dCRA9TVsSAnZWagAAqJMP/iRuAYQioMG0xXnIIbes\nTQa0FMoFsnfs0zMbflcDa04Qy823Ro5K6I/Mc9VqDj3H4A9pdvGsxuPlvsb2\nWmpf3GgSLYxiCj/JvpBWIrteNL+2HUb47OwkIY/VzjxVU2/OQK6qPklcZb7K\nEPk/a/jrK8yi86DKAF4dJeVKptobVwVvt36BQoW5b4RIymT1ECxNyhc2FpX/\nH0aiwgAeRcjUsyvWq19fKH20kmWzjJQV/lOjA9H3r/JSdRyb53O4vtSmKZiI\nQQcxFFns406pSUeKwWkcTvVQyI6saHnl6q2FMNf+lLrIK29c99fxSLTS7iMX\nU5J7cZHTRWtj5s9dqOvH763pizkAF1ZTbAzqIqxEbYS6IX+e1yPrbenA5fIY\nH9OYQo0IyfCKkLi1zMqZOxNj+xpSre1vTvjod/yA9ovYT8KFXC7fPjkzvKF0\nG9/0GKIjG9/9dFm/LOND/eabwUWpwaxpAfdWgMvrWf+2whBZhViNDw0te3G5\nsPdsA/g+TECW6f9cfwMP9aO3YQaPX2L5HF4t48fvDsyegSodaUhUlbraQ6z2\nQt5hQRhgPoKTqwIo8rXnIcWcYoDyqzQtgFpANZt2mFgTdUXN7+IB020K/0Z1\ntspDmhYOB+VoMDhw1Bc0siwPIHWXSTjngckyBQLwUesjy61P86jrdsvJykXH\nyj63\r\n=asPc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"948a8ec37319dcccee87402cbfd28883c516f8ad","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.2","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.5","@adobe/helix-shared":"7.19.11","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.14","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.22_1614237339716_0.11400789720727933","host":"s3://npm-registry-packages"}},"13.2.23":{"name":"@adobe/helix-cli","version":"13.2.23","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.23","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"34541b03a4597489ba01f79bd3977c0e90b75488","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.23.tgz","fileCount":77,"integrity":"sha512-K/hPS+UtkMmLw3FYMv4CCdSlsRVLMzdjq8nYbIZXZTJxB0+jDxGygvzaSe2WMTGrGwT4A0YjbJRuLHHQ6fV3vA==","signatures":[{"sig":"MEUCIQCZIJ1P+bFFYxB8rafHPqzw72+ua5yYiTOcLElocsmjdgIgZ1iVOfqeCBNCPruB2VQN5bz27c07XB5IeCOR9A867rI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":528226,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgN+4qCRA9TVsSAnZWagAAcNgP/3SmSaFtUC8ZaCTKhXq5\neuKmeYMB1OjDAdu9LXZxIXIYsRVWJhNToHaUHYbWfAJTMmqxSp8ugeuSJ80T\nGm7Prks/kFwhWJj2j91wwmUfhyMyA863SDcpeiciEGVaLjbIFkM63AeZAESN\n5T3Ff1fHNayhsYX4BU1RONlk8oa839JDXv8/qk+wDmsoDygGHG3GpshEEzsL\n3kgwurKGJYY4XuLyoriEbi7UVhFIazU2qmjfCFr+F/0ctaxC9CUOzDsErxL9\nC3wmBkec6BJjiwz55jj/hBuTRA0r9qtc+A3rEM64maPlAa7apRWiSkaP2Qg9\nJLWe8h8XSWK4btNR0958IXbszvnfpgjiP1SlD/DM2V8HyqVqkpypnsWlG0N2\njtQ7rqhE1esxBR3iF3f4TpNi9APQGyBhph/lMmRQeezrYTbnR4lU0d/O5/3G\njKVzIzceHj9GlbyzYvLuw4XykyArmIgVtpi0FBsRKfWQKpSQR9MaRDqWj8CV\nxKVb7l6IUwVxyeLZbDpWGMZOkuaYj697XxcoS9Hvn+1Dg4FIRnGUDPIDcNw8\ngsm1ZGhMAKIqKbsHCdkdl+BaHsZweHRYu1jREfkSGM06npFffFG1uXG7hibT\nHdF2HnWkAnb44ehGyc+MjOlGplEyEyhvefWCnTHHDFLeBj+NORYKmS2mYEDC\nQ/g3\r\n=ceOl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"43bbe12037470d7f7ce60e2fdd480a56e1ba202c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.2","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.6","@adobe/helix-shared":"7.19.11","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.14","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.23_1614278185818_0.3732828604992007","host":"s3://npm-registry-packages"}},"13.2.24":{"name":"@adobe/helix-cli","version":"13.2.24","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.24","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ceb017ad7467bbcec38c509b512e24c639b8e6ea","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.24.tgz","fileCount":77,"integrity":"sha512-eBXm3wPNNA3d/heGXTI/Kd+9b+RZNsBZDi2FlNMho+iDa3W4pixEcs9X2UdvxDVTJwi6R68cbz026NBrt9sZ+A==","signatures":[{"sig":"MEYCIQCPo9FFRWSa7tW3P8/FBYVHC6PilrEAs/boL6K8Z2goYgIhAKRjRBDC0X2oxyMTpfCvvBmMVCphGVshz6wTR69ApkWZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":528492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgODQTCRA9TVsSAnZWagAA1SgP/A9nqTWo+55NZGJIjZq2\n84jXGTDkF8UJjK8ahanaytsrYVJZP5gXcG2Z3auZcwh91tqUCCasNuF5/P16\ndTIra4q+g1wAQ29FxTHZ96PAzKyJYZS7EyzizWdfbxe77oWzA2YqivblGjAy\nqQOOvHd3qTxzlTixBCx+v4+iQynLDa3c5stjUZj8x84eEKVMGwXoCn5CPe0S\nbHYgTXbN85CKB1xFh/esfettIvlKDjMmuGQvtBCZgViD9Sf/cpu19g/BsPfO\nr7pZxFO5OTd+sWwtOJoy/nw09PfOid/80XTcVklFBg0lrUBiUCsN7TuZy4iO\ncCG9Omj6hOE2IQfogU7v4yE9ROH/VDJgtf+gxzw/RRI2wwj2tE+xETXD6Dq8\neNzWFBVvnJapqVwlhSx9V6IrXNk3/41qXeRYHm/eq4+W2TIXeRhv55Wa7Bxu\nRxqN5rxvdrw9Odxy6FNJsrSUOodsF/grpQrVBISKHmwg7zGWLhivG7SlfeUV\nyjJRzUn6oE+hNNEnbn0yO9UyNcQbrFujsfcjSD7DohB8rhDXCq/GZlUDw7Xe\ndSxXIw0n25NQDUd2KLyf2Iv3rLmRJPR3B3vGZUIezHtb9pJ60jTLVSUD7C8+\nGs+ILt1Kxk6F0+9WN1bn7DhMpnVvLAQt5X+azZbLogGs7c5fdkXMhcT8HCT/\nlFq3\r\n=YKeR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"dfa9c2f9762927cc060f26af55b773c737eebfe5","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.2","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.6","@adobe/helix-shared":"7.19.12","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.14","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.24_1614296081085_0.4761989776734288","host":"s3://npm-registry-packages"}},"13.2.25":{"name":"@adobe/helix-cli","version":"13.2.25","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.25","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7cfc5bdc0b9a13d962bc2496fe424ab625411e3d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.25.tgz","fileCount":77,"integrity":"sha512-8i4djWFHGwL63/Lf4DFbN+XQoHjBBa8JKus+gnuzU6YEOqT2h2eLSd1q1L4XbNlFjSxs4FmmbclhEJm2KaQFPQ==","signatures":[{"sig":"MEUCIQCZCpXR0HBur0AIbUMxDcbqJBdGI+ScQN4DLm4y6mHmeAIgQXAGpFuezx85o1WpibTMwiGAPukV1T2Fnll8vnQFcEA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":528818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOFlnCRA9TVsSAnZWagAAxucP/iRy4w4/6zZ5HZ5bN8OQ\nSTaQLXXzhOSkAijNmWy4HZGunLHeTmhMk7m244DEzYVzlFHQiB3Ix+US7lTv\nD7t/5xIsqJ9U1XjuzPYXZ2zDK7hg+QlYAOZQY/yWZlXzZrCXcm6G95D4s7FO\nZEyqQSh5o+BpuPBtX/kXsSJ06VAG1dGDq2p4agDf/mt2ZQEmqVReKndlHD7f\nrGVSCBrpsnyDeIrFNQsI5KL4nYnqcAudh2OVjmJuqfU4/ZVhU+FSi23sVgl2\n9SnvT03oTHmphhCWmgTHN0eQtyo0QaNq1xWm3vwYhcMkoxhjqt0W4aaP5Xx5\nJmq6zgM0FnisWiASq0N8BloN9blPi41W6n5o8+hii0oc6b5eP1rGKLvq5o2J\ngJa8XAjuesf8xtgqWoTCOwNMDenhZ9yyJ7f3VacUW63ps4hrv+dt9Ivfo82p\nlgk7mq4LAeDwgBTZNF08aBqDPj+rpggCXzYxp2qaFMnslLP/f2WpzxTenifq\nxwW9sJMypS9sM7bANBv2ZqlNb4kNO8oZ2zhQJiWGfBYCzbE5NTysnraNyTVf\n1mkgAM+5RFZr0XbHaddHx9OajDVHVhVuf/rB1GTovUFWFnTLZ7dPgxX7fxqU\ne4wWwy76rI59vGWm/Rq0oTJKD4a0BR16WONz541KvtoFDApQZ/V9vGYCIf6l\nNanx\r\n=BW84\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"2dc662bf36742b2efe0a47665683a408b8fc4ee7","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.2","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.6","@adobe/helix-shared":"7.19.12","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.15","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.7","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.3.9","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.25_1614305638253_0.7083691616997856","host":"s3://npm-registry-packages"}},"13.2.26":{"name":"@adobe/helix-cli","version":"13.2.26","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.26","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f8df3dc8cf06376e902abe358b721fe94b828c33","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.26.tgz","fileCount":77,"integrity":"sha512-Xbe5cd+y58YnBuSJZi2BaUII3UMZV2wAXEjjWlHIirEe/zToTUUlAmvnomqe/ebsL8/wsC1ydrTUuoG0tlON3Q==","signatures":[{"sig":"MEUCID0wOPBI9YwA6tMy/i0xvvLLEFdy5XhXbI8KMBmI3OhIAiEAv76iBI0jrJvsGQjIJVoyXh3nU4vSsh/AFXLERp5hzT4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":529110,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOmcDCRA9TVsSAnZWagAAjkUP/iDKxPWcozFEEI0IzX5B\nbJWym0W0XnrNOSH0OnPi1dEyOFxTydEjimU0rg8HzsBT9QEWnlwSR3kDVqPs\nDSdZX1obbVjPHSIMQVKc3GXzKjK1TkOInC9PpJXq+ugkZzaVcILQD+uncNaN\n2qzmj5ks5Bw8e9ttK1dd05deH6BsI4oJnq01s0sIyprGwhocjec5vk07Kohm\nC+l8xSpbEE12CfN1zLrsOHNZOtHLgpg2tqEEQck6CA5cS6BmQNxyeMm/b0rp\nAEiQuC0uoY1IDKb/ffONxBNx0uR8piPwVUpqAmPOciikZhcsUhNn1zHENWH6\n3FZi4w7xlXd0DT5P7n1iVcU+MxlpdwysmYhBZeXkf4GFGEzzvVZb0M+q5ZTE\ngD0os+v8jTiZ1nsVbJ0Rq5Wloli/FLxqL1n3xbra9251tiCPBpRnYzCzwH9N\n3JHoUrRFhcLJDu5f49kIpK3YeSUWPajiX+bHdWzsUPHiVWgubbLmvBfuWEIz\ntVsnKa8SZ5evxm8QjkDKndeotsVtVu1nGQzlhcEMM35vAzxOHBicHEAyFVCK\n5vD+4SbPXYGWol2Npwxv4yjLb9VjoR60O9gKfJoDTXet9KegmA3UwOPa/CHs\n+ZqP++0zhAlrLctmftWoukDUt0HImGRt+viFOT1u+nbKx3ODfPE3UnZymWA2\nb2cc\r\n=R2qp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"1287a2ea57893c93cb35e90ffdffba664c1d89d6","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.2","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.6","@adobe/helix-shared":"7.20.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.16","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.9","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.26_1614440194692_0.31845568432055904","host":"s3://npm-registry-packages"}},"13.2.27":{"name":"@adobe/helix-cli","version":"13.2.27","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.2.27","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8dc592844b094445238f085af3616b5095278abb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.2.27.tgz","fileCount":77,"integrity":"sha512-H4AtYjwWed9e1gubxJgAG2hZ2VmNokjWHx4NygZc4NRzR+qdgVVtz0W2Wj0p1R3QEV7pdIWF/Snm45/Lf4gXtg==","signatures":[{"sig":"MEYCIQCkp3+FTjF3HTQQtzovlKovsVAZ60AePcyTCFQ6HuaSzgIhAP2blOcSocvzqG2vGhrNWiNTl+d+D4cgcnjuaQOgztfx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":529375,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPiAUCRA9TVsSAnZWagAAnpkQAJGV5XyZwsGkbLuXt7Oa\nVSZpTyak9F+6nyH6aoo+pdq82AqzODukvSMy4ou2IK87QzoNY+8yB/gRyWuO\n6ciQ3pupQFGHFej3u7Th+cGsuoP3vyV63apvFmxt4guOjlynTg+XKZa1filM\nqGigEsf1PuMsBRapCGoOJz8BEWVOjKvqrFbJKT9cmFW7YkavBW918KFGiDz/\n/ZWZ5cYtgd9gxPYG6jMQSXQELY84s4crYuJ46NN4h7+FI12WeQ8fTQV/3Sjn\nTW3KH/HyUloC43wGJvZtz8ymsDuEG+lj/eaTHL/x81Pny5qetiXzmi2yME6L\nj9EnB/6tRDwqiosPWRpjPnjhfbz0Sa9SiTlDhByXZ2Eyl60Nuci/eaFIYFzh\nfWKwJiMTZEJxHsL/HKn4ci16dmhqxGEeSQW8AdhbOHwZMq9GK18vTtiZeSSs\nyNlUecURZiYKSqtzlKwTE7kzBMypnHwuidLSDgs5d6ddRhT1piA3Ri+MhWa7\nyjhLD0EDmJ67jmI4Kxz3JJ3GR4pG7IlkiRGJihh+RJmBMPZWM4/JQpHgShq0\nBVZn/nBlRZhWv5/ocoCL7CypOuXW+PsZMSiyAsyvsmALnEDEUbQpWpP5g/sS\n0CaAcVA3qsWQN21kFw48DIde9JSZHWklqdOP6t8AS/u81k06I6MjlJh26A8n\n7IPt\r\n=89NP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=10.0 <11.0 || >=12.11.1 <15.0"},"gitHead":"db7721358c446c6d112980523d36d990d44af1c5","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.2","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.6","@adobe/helix-shared":"7.21.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.16","@adobe/fastly-native-promises":"^1.19.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.9","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.2.27_1614684179457_0.927048269896324","host":"s3://npm-registry-packages"}},"13.3.0":{"name":"@adobe/helix-cli","version":"13.3.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.0","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"787921774a3dd3f6caa4245720d0a2d6f8cb21fb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.0.tgz","fileCount":78,"integrity":"sha512-W0RHQdt9Jw/o90t8zWkFyxjpKwMSCVje+eXKLuwUkTkZLmILbztDLMvG7x7XmDtJFLqjDYcyaikFkdgfaB3UgQ==","signatures":[{"sig":"MEUCIDfMwfKUXzHB/pEW9+7Ejz3dCvDrSzHVA4mkiTXsZmyTAiEA7lnppFV1JGxB18NB/JxSjWqPYI53diEBoQMAuzFGOq4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":530367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPinbCRA9TVsSAnZWagAAQ9AQAIwS80slpV+5Im0SVFf2\nU9Lru2KhWfgTyYoTFupHzAum5uH8ypHwBQ2ku3SlPRmYhGjmeMUzh/7Rm+LK\n7RzBKlcK3PaSChehJNp1CAJF6qylWJqIb6lZl1AEOHIWNgVqapuhMzNGrsaO\nANw45Y0xsHIeAbiaCDOkK+IQqcbhmcsxwwMzwfcRewoKYT+cMxjcEr4vgXkH\nOnPrJwXKJgrEcllFqE32PFtKpLwvIEFQJqUIAKo+n8iZnGLl6lIzfKR93UF9\npoqBCS/Pfc6VSduJvmKYw016nENmGfwZj+FkiGBW0PxqZXE3xWyR27ttoIc8\n+c7uODprvWUkuiQTJUTfYIGDmsJmuhSxR6+2ubp+5c8Mghhe5LVKKBS0VPzl\n/c5l3a59iFOUos3uFuYONqcg65SoXNjaRdcymsE3LEIwCRf43eC2wZXziF/O\nXsHQXso3ZE5SQsr6XvFnol/YXz0LLBM5vy/nAnqMEGOIQmMFHZbcCUw/Af17\nBOU+TjyOkAToNmu+LoW4CzwoEhZXUWjY5d8RMrW9SvOjlRWXqN7EQ4/IZCZ/\naGye2JmOmpWF6oFhIA/UjdVybx/1zp1uioDpW15pKdcYzRsWEjfm4BsowOPQ\nILPXEcpthuFFZOyJ3yf4yBYc6pSsFYaHi41QQnmrbXhh5A5HThRhGQZHcTga\nOSws\r\n=qwlA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"c60f285c8a50968b9f6ef4d4ac79f2f50a36d943","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.2","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.6","@adobe/helix-shared":"7.21.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.17","@adobe/fastly-native-promises":"1.22.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.9","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.0_1614686682676_0.39931143903833344","host":"s3://npm-registry-packages"}},"13.3.1":{"name":"@adobe/helix-cli","version":"13.3.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.1","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"0c145b579de0ff1c7257e45bc9725a5f7fe2f416","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.1.tgz","fileCount":78,"integrity":"sha512-SjqMNJvDsV0Fhe//tHU1T+IfvalE4RB2ZdzSRyDRj++Ltqd9wbk05f5ZVDQoAZEVAjgovD77yaOiDh4YgZlC1A==","signatures":[{"sig":"MEQCIBNtDVEZ72Ywrkqxp+sYY/CFPM2octMdEclosE1TrysnAiBxnxkmth4C9AVCmMbB80vRpeN4fLF95snOibbzBO8wtw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":530639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPm7vCRA9TVsSAnZWagAA/kcQAJfKDkWXIWT/gwElZKAf\nwUrsiuOSUHhjqkp5ytupaMAKQEZ/M/fLcww4tVXVK2elZ6XXLERhFb+yJsyd\nqQM5rBmbCNm5FZbraL0o9TEVYZMT4CW5URJ4IyShNJJvEaYb9roZjiJ9UuX3\nBt6PNdZgamt5etInsqwNOcvPOvvfG/vKVGoZKChAKXx6H7fMb7hdVOXQeZMM\nFG/OEuFrIbpQslSBaXLW7A+2RPTyV6mYf66jDP/etqYmcq1dgApwmGWU4or/\nk3M32g7fFeEz3LO/q6BDsURPIxzI20yO+5Mb04c1X0mpHCkG0Ea3WjIsu/3z\n4le0Aq2x3Ej+0wOPpkrr5sVqyDO15h1lz/puQVXutH2r1Pz2eATdI2G976Bq\nuGvtIjO9AMGDUAQoVcxYo00qlb2t+X19l/2ZZYQEPClJ1oYZxFKQR0jeWUsn\n/JpJ7hSYAWeUyfQzH81u1QRzCs45+zleJNYP2gP+MCk95s0Vc7R8vCHP5vE+\nGj1w8V0T7mto6M+JWzi7yOccC+QukDAGiSDPWQEHVEAxjjdyxhsUjDibAaCY\n7aFt8gcTPbf2Pbosn8zdTON5rjY8JXm4OzJH1nIw40aERioehuwI9M+YHWij\nWj6vujetwXNHUzoTg0lLxnjJv/mMYAT3fZawWPpyI3V8C6zxeJFrx6XIZjMs\nxrIk\r\n=WEWm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"9bdb63a14975faddfdfd1fd9202815bae1018579","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.2","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.6","@adobe/helix-shared":"7.21.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.17","@adobe/fastly-native-promises":"1.22.1","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.9","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.1_1614704366911_0.7860462413405396","host":"s3://npm-registry-packages"}},"13.3.2":{"name":"@adobe/helix-cli","version":"13.3.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.2","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"18443948876dce2f98563cac62ebaa8f01bdd50d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.2.tgz","fileCount":78,"integrity":"sha512-u2DPQ21ZmI5x1f/EJL4rNT3nybD4tk193W0Moxp7Ml9WGF5QCH12iQQmBQpGyGFWtvJEQI3odZqVRM3E4kWqTg==","signatures":[{"sig":"MEYCIQDwiOxO6Ett5T8Ojh86szxaA0BxZtxVjguPkvXX/GrbGQIhAPm4IQ9uYVdBOa90m4kJKL+t8sstUs6Y7Pb07Pn1flOG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":530901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP3wiCRA9TVsSAnZWagAAS60P/1+vDuN7uiMRC81DKy29\nH+3gZvU7QvzqNrLidWvL2F1+r6WSb9IdlGxiQf58TPQmuxQadMIGYf2GUt+S\nWmRNY2PXJBSkjKGPR9pH2lfygqG1YoMThcTXJu738eY0fjNNukpniumBv36l\nbu7j+sH890wPm6yVG855hY7Ss4yrY2o22mXi7A2aK1rOiOwYNV3UTiLU/SVB\ng6fgi7AQWfMITayPIepVmevRBfz6VCDqOCP80918WIXoiP1Nm9iv/B+xaSkG\npGmN/esgry7Inl5Ga7YjtUZB0ngLBDAFOxA6yKE8BFmHK8bi+3LhQlw72VXF\nuTxY3q8TUTW1XkSO9HJ31Jkk8OL1ItceuorPgIIbyBnamBDPSZ0sd39va0c+\nOa/3TY+vMWgZnGg+kk7JDDroUhCW3bPQBnNreDwIEP/VHmCMtR4YYUDUz+N8\nhC9367CPhCc5IZNeEI3YB2mnWJL25kE8pJUELGgN/XMK9gJJPAIatTXWU7o4\n7DhYiRgw2HJ92i8TDocqqh+20tedoUqzQH98zeMGUeoYmwKecPkQdQnJnQIc\nNaxVjPX/zW61y9/p88lUNR4XZgQL0Y94ZqjhZR5PsTDJgJI0sVmMnA5Ek4XS\nNhNwPEMD6H3TrUN0QfK+ql8Fs/9zsfKtM9OsS6uMQBHoupvHfmuiCLHhwtZn\n5bB6\r\n=X1ui\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"7f54dffdcdad5268915ca421193c77e60c0e4108","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.2","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.6","@adobe/helix-shared":"7.21.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.17","@adobe/fastly-native-promises":"1.22.1","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.9","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.2_1614773282338_0.2615777068660785","host":"s3://npm-registry-packages"}},"13.3.3":{"name":"@adobe/helix-cli","version":"13.3.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.3","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"79bea1e3d66358a937e6864f9513618fc46b7038","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.3.tgz","fileCount":78,"integrity":"sha512-yMTg1/DYqRVv24Tq5ATfgDPJSY5xKtLoOz7Wwg0Wx1Z4j43r4rBChvI1XXfYTJNMXXfhLsPJp1XfgSdAA4hlhw==","signatures":[{"sig":"MEYCIQCSVRgvChitdfMpyK1zO+gqPWf7ZnI3SN1/ndX43O5aogIhAK2OptMUTPK0ZK258rCxoXACWpDOR/2/Fg7KTaprTZ6L","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":531166,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP5pICRA9TVsSAnZWagAAAisP/j3OeXYqE6kjkV/snTM4\nVKMXJ5WIPQgjBIHBYdjBruytO7Q7QZrJ3Fs/7+PF/jakRHtxGl14mbAO2qO1\nNIJwRHDA3rvMhNNcaMauio6vNrphCgxmSsV1GkSSUkYHCACOhjNV/mNWcHsL\nvo2pmsWZTwz/mGLuaEdmpsTNDQn5UjNsN5agp4GGM6IOAk0G/NS2y9DQP9gm\nFsQgFDWDX958mJhDjDElWFYrHjCxMlAxSX77VbmN20Xkhq82Lentag04TOg+\n+/FmJXP9h0Nu4O+WkfD4PPah4FYkS0160NyXsVaQCYfJTktgsqZ8owpaFLXp\nNuyglmLWLimHK4axf/iM/YCrpVl/fTKJ3MwMEHp+zFUa0FIo35cDwyZ4bikI\neoGWMAIpqc8ScOOlDm1RIlMt9B2iBepYnk0QDctmSsGNm2ZwnlI7Hw1yHZ+j\n8A3i0xaeJglMXIG10YdDmCs4pFwTCIEtn8wfgQmgtlj472ST5PMF5c8FKlHg\nG67IrSk2gibI0CYqiSJvToJpUVMOu4i7SMSjEiOw3cMUJDhm5y50HxZ4dr0k\nRNj/o1RjFlaM77QQo2bw1zyeuUOjhAYfOOqFeN9CwIbA7XltJkbyUruUKM/M\ngvq7YHrHUlCdK9I/k6mpWVqXkadHqrV29Vv6q920f7Ic6GhON0nS3+OE02JN\nop5L\r\n=24ca\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"c6c82ff60c145b59eeb959d4d617c7a9740f1744","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.2","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.6","@adobe/helix-shared":"7.21.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.2.18","@adobe/fastly-native-promises":"1.22.1","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.9","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.3_1614780999434_0.5917571253774514","host":"s3://npm-registry-packages"}},"13.3.4":{"name":"@adobe/helix-cli","version":"13.3.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.4","maintainers":[{"name":"purplecabbage","email":"purplecabbage@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3e19e2d4a392b76451bb2bf506f4ede25163ce51","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.4.tgz","fileCount":78,"integrity":"sha512-moYlZNuRys+P26vQc6dFlxNAcumXxzAvFU6F4YZ1lCeYCAsSxay5c3XZs2fCKpleIqNGIcYGl0MzpSZqLVdXXw==","signatures":[{"sig":"MEUCIDgN4DnTjbkvgvsjQNs4UllBb01aYMJLBW9XTT4fGOvDAiEAzIJubGkWsPqnkLXyhvg1hVqYq/TJlNSRnr6SOOndl4Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":531551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQMv9CRA9TVsSAnZWagAA4f0P+gNP2LSNEQpPvshwxlpC\nZpfK5hgRMMNenbaKJ8cfzV2lxS28gnuU4NF945yycD/v0vj3D8VVpTT4fwiP\ng0i+/uuAF/dffW1vMOhgl1o/umyD2tVdiTi69HkHMy9xKqCzFHszO5dOWfCZ\nxaYiYSgrjxHpwppMiOUjEvjkCU3sgvLm2qrkGTQ8DkCwsqDT+ZNr5AiQEBDW\nLPtdpkIjQmyLV5gApJI6pMl4qDJKi4s5yHTJSSmk1mrSoehDq6xrzM7QFVbB\nhMFdnVwfipS2yM2rin072nVvbMmT/ZfIzx6WB6+HAcmJ6XRtqXZDG9MLFgBA\niSWpQTlkTk6+CFctAiKyO8eIznmrmTg7Nc7h6U5zcyt3cexXbIGq4i0vMoO2\n7LQPmZGw1R5nKZRdx8RB8/663FnXaLRkwci8zv8WzqyENUsCtbyvVup7YCdK\nDyN3VJZ/DaOInfYguPV6D3n5pOxLTjSUhPRaFTdoy8BpIYU7K0ncBOIWN8yM\nf2jdw487YG/BlaX1qsMWXY5J0rz5P21rUDP11U097HfUXGw8UNoy1bEkmzpL\noKzRHVlmGhv4fOL/ds93EbQgbVDG0lltz//N9cUc9DgWuQRTY4oFhT6jHboX\nXL4zowtK7zwJ0dBRyHY7RVyWRobWFJqgYT6HS01KHiTV9Z5snilf3+ihqxiW\nVEWQ\r\n=Q58p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"ac012d2481c7d5a970ba8277a6bba9bd60786a62","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.20.2","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.6","@adobe/helix-shared":"7.21.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.0","@adobe/fastly-native-promises":"1.22.1","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.9","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.4_1614859261053_0.5105808424964167","host":"s3://npm-registry-packages"}},"13.3.5":{"name":"@adobe/helix-cli","version":"13.3.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.5","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"03bdadf93f3cebacbbd358acc259a72b24a75a57","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.5.tgz","fileCount":78,"integrity":"sha512-tBjuhlXDuk+7bpBZvtq4YDNBrrnAhJT8e3fxmM5+jVbiihCb3hm718vDIdkWrrwfA6pJs7BVYBaeab79Si7j3w==","signatures":[{"sig":"MEYCIQCVmRqMBhQX6qcfcWqZgBZ9tCDQxGcac6inU701ihSHSQIhAOhfYD2fsyJrjz1qIxEpoyF5be1SKBGUtEp2gN3gdt+D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":531783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQY+0CRA9TVsSAnZWagAAO9oQAJ5JSeg3g4EEPkHs1Ikl\nx3klsmTOnhi59N0tyDQKLKPMOsmnEJWxTq7Kln9NBfvsue8MZ4Dmpv3aPZdH\nG5AT0OBjpNq4jei9IgB3A8eM6E/Y4W+Tv8lNTykkys7vIYmbGA+6gRQ/DtXU\n9ecezX2seF/ANauYVow2X5duKDtAI6qCIFEfpIEtjjl1dmE5qa4m1lcvTowe\nf1grj+LdiWWf/7txDA7Y8sdaqL0VdKsoU31l0eJQHMdXXYJG0vbZQB7qqrn2\nGnWz1LviP5+6+M47Ht38UdTsO89ByyTxnllsa7MJ186RPXlOfT8kEs2MGeuq\nkq8e+P4Ec/Ab4nzmFI5ULfYh8pEG2hL2AInTePXSkQYZdleTqJx77bWBtyAA\nvBUzrBQjThbsI2mDj80kL/NouU+QK6usjfgX6WxvE2Hv+v3xGdmoLLtPPBJH\n6vC4hEpcRQhkjE0KRfT22IKdthIsG9a1hxRvTZbA3HciQMq91v6N0V5c7TZm\ndoNqXkvbK2h4BVZ5d+wuppk61GnP65SB60UKwXAZUX/H5vnAenGs9B7hUSjk\nwEYtdVvnHUr65EBjoPfuyNfSkd1oI4xrIeVpwH4fSvr4G7fSsyMYa1l+w/OL\nnJrF+5fhopr/k/3P0U1jk1dSVCZfNWZ6Mez4ZRWykHBDccY+b9/ggh7GeM4V\nYPLi\r\n=BWEq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"1eb487b0146821f40d813e71c3872f4a18be5426","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.7","@adobe/helix-shared":"7.21.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.1","@adobe/fastly-native-promises":"1.22.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.9","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.5_1614909363994_0.35591814737482097","host":"s3://npm-registry-packages"}},"13.3.6":{"name":"@adobe/helix-cli","version":"13.3.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.6","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"508d546aa82568083f7089292e9647ef26b2ea8a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.6.tgz","fileCount":78,"integrity":"sha512-8B9r5sIwvUW8hTanjoRfdPSk7m9hAoUSc0r9P1z2gwdOoGKlJMTLIB39aSX1RRmadQETnijf3aSggfGvjfn8og==","signatures":[{"sig":"MEUCIE64EPmDNHK5AQv9lm/yHNzzb52QsaxfCxuP+t/48QPIAiEA16YGZdc3PsMZje/Wb4gEjFu+1VxO6i0j5+zh6+6ATDc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":532047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQbogCRA9TVsSAnZWagAAIQwP/jeGRB+iHIz5DHQQFes5\ndCpW3qcpxciLD6MId+4r0uFFg4sV0zCWgmhaXi8TjfxloNhaouxHYpaeFD+y\nvD5yOP3YDIJ+4MbiLDymUU/B7GUh2Zj/V/FM87qQM4deJIasnl06UotJbfyL\n9RZjnXW8APO7d1ab87GgoqggNrmu5+YLrGHtTju2oxOzbjNBUPY62W84rlhO\nS62L1GcxZIbkknxRElnUL2825VzkwW+7mCVmIy28FgiXoMu1VFxvSiNDMsjR\nd8pNsvx9imhFRsAWWwmYx1+X2vsoEEjTlE5pQ3kQh96qXyg6kX70o6lWCg1w\nTZn8xq7OtgKlRH5VnVnx7NTphvxcI9pqBl0XnL/9rux2vjvuZbVIFYkoqOv0\nQIYRlWvV9LUbp07Bdt1mMjcJhmep2oLKQd3pMqaPauUTf4QjwzRzK+ESVCqj\nXy+0vPU6vzDZ6LJ2YBi3g72MCFSX10njxqANSQKcsZ6AUd9qHFbMqPYnmP2P\nInTdMBjc/OvjjCJ4XqkN5ltBf35/IrwR0hkh30PLbpPp1XKRpFD6t2uROBcH\ngiKByUEK15CTPSG5qqvOQNbZFT5X/xNd2eqiH4AEILVx8C00uVCN1c81pTp+\ntSz9KlOX07OOSc5D1I/ird3nnHBhQsa0j/HYtDOBPQRzT4ekAtiMOUXGttEJ\n7JY2\r\n=uVXP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"38ff6087a3568417b82794763b34d830acc2415e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^7.3.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.7","@adobe/helix-shared":"7.21.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.2","@adobe/fastly-native-promises":"1.22.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.9","jsdom":"16.4.0","mocha":"8.3.0","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.20.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.6_1614920223873_0.41971907664056984","host":"s3://npm-registry-packages"}},"13.3.7":{"name":"@adobe/helix-cli","version":"13.3.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.7","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"621a254ed6fe817aa23536d261351e7221a7d72e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.7.tgz","fileCount":78,"integrity":"sha512-J5xjlVgHmGw8VwCglcxTz6XqbEQwTYUAlT5qqh2ISZqHrecHCWHIO8icrhHS5SC0WnjTpa8L4Ks2dTp58wbJTw==","signatures":[{"sig":"MEUCIFBe6oD0dthOMDV1nXLbcpx0h4KuwElhaFD7X/q/MjyKAiEAgjNf6+Kxli+3uV4iu1jWI7EMLOkcWAUVDq6S6+wL2Oo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":532290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRkV9CRA9TVsSAnZWagAAsUsP/Rkx2iYZp7wwCtTuc1ui\nMGzZmtfo/SLXnuoGZZpmRvH9X1yexK8a26yUM5vlSCwG+nC+EDPI2/W00YGP\nHHpspF5upDzmowJpSKhEgDsZB+0jtqPt6yvbZTZ2CCiksE4z4J006jYe+KQw\nkCCcnNUHJ+aoTzICT3LdWpuOSRNBVkU4DH3RK5lKAhzIT5gWqpYSPJ6u+wSk\nXqDyX2Q88p2DORIHK4kW+UZN/oebfIvFdJGPSK7XWZKDLQZf/615WFpg1wjn\nLC+MizMXGfalEhb6OdOtzgATgBbjSVPXr23a59DvB+wWQhKrp67jaMGwh5tS\nNPIK0Ag1dlQ0vUXjAes76vgdw5WmoI7zcuPPBASZFDhj7g4HiEnuH9La1lcC\n3dAwj1Ht99hVJ04AYtdC5r2Cg5EAF1NGYjWkyTjQtv6Y5jZCmFOLiEcIC2t7\n+2sJmRYDWPjro+iKmyFK3mq9bVp63ivRyEnT1ocoMT5V71/WTLbc04UPH/Tw\nGln5uqhYQMOQfdTqONQS7nNBSIra1Yd1raXawMfnVsSebEiSFNM8OFbLASdC\n5o87iwQkuNJ9r/2NxW02pJ53vMFs/XRIoquRX8Fmbss/TiCaLQQRp2T2ICS3\nKARHFA4bTxibkD+p+YczAB1SjjEj7wEv5XliHd9+6vQqGZZHboChwGdlp1sE\noUEk\r\n=076C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"115cecef7f7071d5a72bce76c2a64550d9cf2465","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.7","@adobe/helix-shared":"7.21.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.2","@adobe/fastly-native-promises":"1.22.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.10","jsdom":"16.4.0","mocha":"8.3.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.21.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.7_1615218044375_0.7083929401576625","host":"s3://npm-registry-packages"}},"13.3.8":{"name":"@adobe/helix-cli","version":"13.3.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.8","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d4bacf014187f2ee1743ca9a8a86b319281e6a28","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.8.tgz","fileCount":78,"integrity":"sha512-WbOktrDga9fsAGgM8lmvQhXeDGN78QEIDmltWrX2sEIN6Hzy0Gv5uiIWaHxGkx7CXwibOvNXXeDp8pmPwZV9rw==","signatures":[{"sig":"MEYCIQC4Zcbrb69z3UZwOVOojzXJP0ASovGaCCsM2DLeJNOEwwIhAI1KZ6ewlkxhtfi2z+AWvVlfnA8rTDfYwuwaQnDdKOJ2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":532589,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR0laCRA9TVsSAnZWagAAauQP/13wvd3zplZH584hr0AV\nnVnzRuUQ/mOTk/C8+ENiIhC0bp7beBmf0ByYYUkQIpm1G0iU8Dyz+HQFC6mt\nMsJi5xLpfxawhDc6Q0Y7FvDF4e9UgQfMm3j8V4kp3foMOlJI++eFYgAH2piY\nmSkF4NIp4ynDPIu0xd4+RIWgNzkodJkvIVuw1QZ4BT7cx7MSXsdqLtc8Vmgk\nclmUhuROt4748l551sXCW6fEdupfjhD/CHG6bGlOM3llE9sRwe1ZLBqzekf6\nbpHNsRfEzbGy02GO/qGxm8A3+bG3vPzX5pBAiCO02yClWyHl6zxAGXdeUJE0\nAkuZKitf1+vds0fL5EZ2/f1WCDmRk76uUNb1llpntru3Xry1ak7wHKclGmcG\noPI/4X4b2TtzTgXws/wlWrWc1fw7WWBNifbmhEjIxmGjzFWQtzesV/4YKd40\nkBaFN6RwSchCXtJ8IoaZ3JWc01A8isasi5O/p9yVNgrzSJziccjRnfQ0FpXR\n/K2oYRIwhMaAqImau7ni6neVpuXXXD9gvF7H7a4vSGGf9GWljBRBOjlYZz1K\naEDPGeMJzHhK8N3eSKhy0H5i/ABg3De4V1+c7SHPlTBXJfpgHoTjho1nPI6H\npVrZyCDcYSh5uZWK0+pyS4RMfMnciTh7ywzT00l/8L4diCPCcpisCCCy4PsZ\nSy9Q\r\n=o/O3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"a458e228dc3de6ef58647cf88d668c345eb21281","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.7","@adobe/helix-shared":"7.21.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.2","@adobe/fastly-native-promises":"1.22.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.10","jsdom":"16.4.0","mocha":"8.3.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.21.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.8_1615284570213_0.3114588742217297","host":"s3://npm-registry-packages"}},"13.3.9":{"name":"@adobe/helix-cli","version":"13.3.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.9","maintainers":[{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"5b1f5d92f70aa808555e885c791d81545272b9df","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.9.tgz","fileCount":78,"integrity":"sha512-VYODcIomXAX6roVIsF39eF2enwuWtzR6rmoQAE2LucG1wHFsMxuGZiJUF334zwIjjBA6tlMbgbi52NaMg94u6Q==","signatures":[{"sig":"MEYCIQDSjX59nBFbspN2/79KzvKujo8dR06OyJtrtXPMKUM25gIhALlxkqKjndku8EwgmuyMT3hMnzerfu9UeEemSApk+dw5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":532897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR3TrCRA9TVsSAnZWagAAzRgP/ilnSOyoUdcpC9t2WUJ7\nSdw96A7k2bP+Sa31Lec8HPYpBdUzMPr+5nkt8LFXJZ7kvQoRMyGW1eF+hRcX\n9COyaoEXFagUf7KvVC7KVqgSCzvnVfdgii0SpeUyu8vhmebtPWsW1s6JCUsb\nwzP1lqNb4IpSojwaTtjDqdXrbgY1hpzsuBoKrKDZwSqYGt5W1Y8syPMJuq1g\nvN7iNu2Ri30KOIhImBnGcyKWDQbQILKJMqrWv9PEdmNGC2LxuVzZgR39F3D3\n+V6UtEZhb8dlGBmREENxZjq3JM298MNfP1R6lfMm/VHn8GlO/QnnO/2tfQiB\nSN2ukXu4Ld8kcUrHIk6MA7r22xx1o496Fx/I8H8kPS3NYjLF8sYju37WLf9P\nga3wR+O627uK10zYPv6UCgCjLJUsUUieLGJfTnPKTaU8Vx/O2VuWm/oPqy9J\nJzfmKXM9UX4FrNUpKWDo5N6jyqBrpJhhNJJiN2V4XdqeIig6ZzL3YRKpDaso\n21np9Kt4G0d0uKeazRM3vefj6kEv7rfV2lHubVyIj2+7aL0dsEa8sFkOfnNp\nXrxpowvyvmWgAG8ASbwPlhJNGJ4S8QrQzBy17EcJ1QalNizvJn3iXK/IdH1T\nMKuaPS/2cF8k50FS4vLF+6tMCj7QWyuaWmE8ZOMl/9Au9YYPeclrDEE3e27B\n1TE0\r\n=FpPT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"e787145f8d6e4e820a6ea5e6164ffe55c64a217e","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.7","@adobe/helix-shared":"7.21.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.2","@adobe/fastly-native-promises":"1.22.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.1.1","nyc":"15.1.0","nock":"13.0.10","jsdom":"16.4.0","mocha":"8.3.1","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.21.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.9_1615295722564_0.8112300317256085","host":"s3://npm-registry-packages"}},"13.3.10":{"name":"@adobe/helix-cli","version":"13.3.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.10","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"0b89059f4244d933a4b7db0590231ad9c47b3ddd","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.10.tgz","fileCount":78,"integrity":"sha512-kodbpMZhpUOTUG3vQrgFHWRY7aphw/fTytrzWdAxaDY90oIR83IelQ4/XDQguU7WJDGArNGuPHjKFxSzk55GGg==","signatures":[{"sig":"MEUCIQDZkM7iU/Ccel2FjYwSHs8P3ZzayDM7nHzvivrFXST6qwIgGhiBw4mA6nWYRU8apEn2XLiqr4mNY1aoc5ssIR9Vyps=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":533164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgTPMjCRA9TVsSAnZWagAAdXIP/3sInqVK65Jrj5AwmKXh\nLexc+pwSQTooGvwtbV/ZoHakSmINmxIsn3BQWV+lF97Q2zBuNHnFdATtlXQz\nQUXtcoK1JqnF8c5wpVtxe2IWbkHEfqTvg54S+30UXfAbphUx5on0GRJx96nw\nndsIvHnapPY0uVn4rrKEgJwaQO4nU/efex7BQalSvN8e+dA0chltxmD6xYUf\nw99Dq5rDaJrZ8IPNSUyiPHtfoMX+lVA91FslhryJE+TFPPkd7EKYpYEE6Xk4\nAh0BfME9owFQACcxUyGUDFf1bmhImjFUU+jWENHYJEl7APVrvk0VU9lo1EH0\noIpi9PRj+3IAhAA3osZuyiFUtbaGfpC/CaOXBDibHr4G2zBQTALqnnblzfNd\nzonFLahlR1NwwPFvvavW3qnDPj/8YNi7grJB67vwyUfqeKexTKZJPHN5vwF7\nJAW+Bmnh2kSNrHuBInMh5ZtBTDcdMm+Yc1SzUG9ApEqGrRB5fBRnjB4/yoQR\nonZD5aYj/fyytABDlnyPeT2MV4k6fpHA6b0xL2FbGdfoGwAh9blc49hphLPK\nWRMd0w6NlOc/IbJnQN6gN5xZfap0IREwfcGcSAkbFizJDXNFnLQ3joEYQYo7\nU/SXkuJTV9CCzqPl+AXyRhymArW/AhujS3P0+BlyWbL/xkvl8mXAooGTxUaN\nCtR9\r\n=FDmB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"609bce46efac785c967ba738d00e6a7231e209e2","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.7","@adobe/helix-shared":"7.21.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.3","@adobe/fastly-native-promises":"1.22.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.2.1","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.22.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.10_1615655715260_0.2671080729849229","host":"s3://npm-registry-packages"}},"13.3.11":{"name":"@adobe/helix-cli","version":"13.3.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.11","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d06d92754a410c70a8b3a3a16659e056bb73bf39","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.11.tgz","fileCount":78,"integrity":"sha512-rS9icC8Sg8eXXNIX/Jg3KEPnyllFfpdNkgM+JCFBdmPA2bnuZsDROvbVKIlEfZ4/+YuBAWfc+MdTCfRP3j3lsA==","signatures":[{"sig":"MEUCIQCGRcChLNJTyCN8hq3OEe8gDcCuP2H0V6KvP1oAXCUg6wIgNeymvxleryUmY/YSIgzycZdjCdJKTYRsOoTLxfWqGg0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":533399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgTQLiCRA9TVsSAnZWagAAbO4P/2PcczkL/wfahEyteW1C\nEY5SQoEHG3R3Xd4ZBfI6QCdyG422DFfoEWVGAfYQarXYpF65OtUxW+A65/MM\nItgLDUeFZZr0fOlN4BjdTmPRNC5R6SZjimyNT9w7qXcVL8sRXELgv1177voR\nwlR0rSur45CCZseXgliPlX5ngvZyaZUtoFDEwiIrOUuV/Ov3M1jPu7HztVsU\n/Pfpn4cGsObTEkGOXm7StIu1i6GKlELwae9UmYnCnZMQcMOe30M3yoZhmF5/\nMDu2QV7Uu+YqEBZ1LDJozbf4VhxJCzcYBbviWMmtXX6ATZFwf0VyYdWRkwi7\n3TktXTpbz6zmVaV0Y2Jw5movtRDqO7zJPx3R13ASv8QHMQKUrOPjR1+RkWKa\nayYAgpsb/2T3nwqEg8q5QaRGYRPtmF5BYYiy8RHTrZ/ZvSJGyCGnhnSCrdYq\nYhfA1ve3+yS0zR/BSBn8QiDwsGXB6m6he2G2nD7EQd0il+J/5GpvxIHADiBC\nATx4NCH/2/GF946/eXE+y9z+rU0Mc6b4R0jBia/PLh8ujCtnAnWu1Lf3zGWf\nv1V6ymB3hM+eTQYV15/c9c5Fy58FjnNGm2DBFjI9EeXPXCUKUZwRdB17fDre\nzPWdEojgihsW9qbHv0A2TebMP/W8YPAsWkHX1cnOk1TvDpOkgN/iTlqFZshH\nQdSm\r\n=pgc5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"278a66cdbf350e95e1a4686aecdfa7c8722f8379","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.7","@adobe/helix-shared":"7.21.3","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.4","@adobe/fastly-native-promises":"1.22.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.2.1","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.22.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.11_1615659746379_0.2774608979471824","host":"s3://npm-registry-packages"}},"13.3.12":{"name":"@adobe/helix-cli","version":"13.3.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.12","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"78e93f56dd77b381ed7e60e5dbc67f5e07156d43","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.12.tgz","fileCount":78,"integrity":"sha512-Q1r50KGMAuP8EYy4GZB6F8BaN5q8fS1O8pYTi5+yWjUD9GYdV+q0zJzhxD7KLV3IiLqD1fBCT/p4O1wuH4QGkg==","signatures":[{"sig":"MEYCIQDAA7nkGy2DmzB4cTPyazmKACMBES3gUwKt5+HAcpdZlAIhAO9uBwkLNVrAlf10ch1kp+x106MKyiZ4pMtA8xQwFylb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":533666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgTSGwCRA9TVsSAnZWagAA1OgP/ivNoHM3LMQB/+Y6RyfJ\nopDpSJ/2QXWhebmpUPoT2XC8YIdXsUKmiFVewnY5yVS6BkYd3ApTd+JNwWB/\noKFQNvoj/CCq3/rg+dv9xKZMoCBNtWWk8tx/WooCP40GaAg+rbTsg8VfIOX9\ntZogTw6++BIld64NtqByfMIRckPWpnU7jpt40ymtfM1cQ8C+09kIxYZ63ifP\nRVIPVyJ0ny41Xy0DeVHpn9yic6HSjr7qLnUnI1vbQen6MCV5wL4ZMqHrjvHY\nI0i73Cqmz/bVsSup6BJWBCzcQV7aBAKeQ5yzih7H/A7bX2G/+ijuaWzXutkT\nZj164WsGNTNkuHwp0r+z0ksuHwIQsqDrRxNKmWriL/r69O9q84VlyBAYM58m\nkkGndcNLVqbvbRE9KhvLICyMsbVGVBNgA4rlc8zvZuVs1cZgVRg9LX7Ek2Ew\nXykkhfm4c2KDu0GlLoar0ijOhLY9DA2s0e8cEZwRUjigKwBAx6TxPcbsfBOx\nM9U26bf2QTQtsKbZJf8CYmfLGsS7N496j+lckTn0cOHBooKU1j0wU8N64BO5\nTDagGSOuCsU3TtZ2rN4s0TmwJMstZaxh78JQjJSM7nYDe1KqbiKbtAFsbS79\n+yJ+G/4//G8w7QyXYw18ECHF2iKwOXrJie4inLVDxrCKPQBzd24e6d7mfTTC\nv3d1\r\n=6i5T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"8ccf7a542d883aa74339ea6edf629a1e1e8a8321","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.7","@adobe/helix-shared":"7.21.3","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.5","@adobe/fastly-native-promises":"1.22.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.2.1","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.22.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.12_1615667632228_0.669816965358432","host":"s3://npm-registry-packages"}},"13.3.13":{"name":"@adobe/helix-cli","version":"13.3.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.13","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"sirugh","email":"stephenrugh@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"597760bac2d3095a20d41ad58cdd778eb95abaa6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.13.tgz","fileCount":78,"integrity":"sha512-0ucM3UG0bOqVZABflhUbH4yrDQJPyOQUXubMdzrUFzoruc1z5WiY2k8ivVSYuNzz+DIew764dCvZyayWbGU/BQ==","signatures":[{"sig":"MEQCIGQ45rt/9CQf5GWh3mgOPNIqhpnOBr/AgYfNzEB4rooSAiA7qPPrsn9QxwXoYNhreGuZZUtoY+ePnYOH6Zhv5MPWxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":533901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgTdtNCRA9TVsSAnZWagAAySoP/1GT4puWFH5mXbd6uTx1\ntYQx7FpDMk1MTfmlTtgz+h5Uhs7uxSQ5PXOv1sSvaX2jPuNusw6nP41QfgUk\nBNdG/mrVDUP+wwL3wA4Geszbs7ay3VTd3z27QSx7ZIZmJM2jILbKwVw2NqLw\n0zicaqGv4h7v3mMWPSLJN8CEqDtYRT83fKPL/yqjB63x9sesCkJ++7tnamNq\njCwNpZfMP+D6UlVdJNcaY87bjO8RntHdK+zwFzI0SwqqzRMKOc2BBEM9X0R4\nuiNUpvvRlZJq5qoNvew0JF8I/4pMjYxnGntEbYL37cCstNmH0/f1Sp3FjlPB\nlYjuFfchhZWf6uC5FwjPIs/P7Y+dQmzYL8EFUFpzxpmB/0jvgJIYfctqXTWg\n/mqkk3yRIp/28BI+wNakw2tg9GwjeEhwRJT6mGIQ/QiiGbKGu4/WQXSjHagS\nVOHYxqWwzJyJDXiFaL6X5xrSSPO5v3bQ0tyGarb/65VQcyiA3T5qejh0oX/0\nmd6QGh53/K9TdW0Zi+mazcKoH3OvltkfLWoOIBDUVpm6kPEavGFfnOlz89Ju\nqbEzX7oO0wAX3bxCXD/k5nj/XAcnkg4818MYbXSMA0k6bykAllGElx6CcwHv\nYccJ9X06DopAOljq6Vn+aqUE03MY+Qb8m7LK0sAMlTM5de2cy1v55Cic8PBL\nzD6H\r\n=xDBt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"afcb2ed78768a29a22899709e40ad773a1499ba3","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.7","@adobe/helix-shared":"7.21.4","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.6","@adobe/fastly-native-promises":"1.22.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.2.1","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.22.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.13_1615715148822_0.2508930922906032","host":"s3://npm-registry-packages"}},"13.3.14":{"name":"@adobe/helix-cli","version":"13.3.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.14","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"bbythewa","email":"bbythewa@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"},{"name":"manasmaji","email":"maji@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b0d8685b4b6c1273fdf92aead420fe140b4ba9d3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.14.tgz","fileCount":78,"integrity":"sha512-C5kVFwTN96JVUXxLepDdyUThgSgDR2P6Ah48O2pKZaU1LGfIZMSoF00q5XQt05LEjm0zTq5hkXzebXcj9CBpFQ==","signatures":[{"sig":"MEYCIQDXLzE4YvGv8kS6iVhOj+Xhv11XC9hkg7G8cBfMl0EDdgIhALSfFrwcu3YqDA5uCVzyusZYD94BzLPbaExFh+u4npkz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":534194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgV+FzCRA9TVsSAnZWagAA1eMP/3H6kkDcbY+lEew4sVDG\noIL7K0+uENurCGPvSCXIYdQ4IbQ8arN8gXaH7jYs0MbuQcpMP4F6wyZJbghR\nDKhShwBY9WLdKbs+xfDRx7as1OCfMtFWAMVAENrEqs6c8eQze6EsfX8ZEWOE\noM47SbkRFTAIuFvhV5+5/kapjzlK088de9QxN/rLhMYx3n0TuDUpSBgXrYK0\nySINA+gCjUiRgTSrEaprq1BTSFvhSpnQq9mj0ZEIdeBwfD/XnrejNJCW78Nl\n99N39e1puIndtmJC0SRO6L12IdLsIY40rt4WTwhLViGJXU3w3wSaecodHYwj\nSOK8KV3A9OBcpqRNoH7aotJUqtG0laLw0WDy9F1YFhmfQszDWNa/fmDHvtFk\nJiN5TSWS/daIQCEk1h8YpWGxW6M0mh19GqjSo8LAvkZckJ8V+/lKw6jovegC\nS648IuRIhAOH9C9PkKzEZcOEX9c8lTsXsjhNcREtS3HRVs5Gbqy6lln5diAg\n0xh5fpRoqcAmqLf2nvWag8OLEUmKLm7gCbnU64XYBJs1e2JbsdaDgQGzLFMl\nGRCphyITz9txNuTnyqmjftWpR9llU04Qvq6fTPH8KaCbqHcQcW9PhO2ggKw4\nNk/wmsr5xUu9713gDVZrOWRsQqKrpn3BpfgdRG2M1tC6QFeVQAlvCjM4mBTQ\n4Pat\r\n=iTBq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"06cf8386a55a8844f72f4bab944986e916fe7ea9","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.7","@adobe/helix-shared":"7.21.5","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.7","@adobe/fastly-native-promises":"1.22.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.2.1","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.22.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.14_1616372082396_0.15629083356991735","host":"s3://npm-registry-packages"}},"13.3.15":{"name":"@adobe/helix-cli","version":"13.3.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.15","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"554413d4f2e8d716fe205d40db7b5a66d6ea07f8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.15.tgz","fileCount":78,"integrity":"sha512-7PW52hRvAleIr4/zENXpciYg2aA66sm0BUSx0gE4ZChyHpGH9gHU1fDMzylHheft8jyn2KZqEIm8WQRdXMe8fQ==","signatures":[{"sig":"MEYCIQCfbsOHGXjJKz7PzWJsyjd93er2o0Iel/ED7kFwGb9jTgIhAL75xdm07ydR3X3zR3SSkabD3o+3Pmi2yisaELejB7ad","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":534429,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWRFZCRA9TVsSAnZWagAA1VkP/RBJK7pp1g1dLDhJ3rjr\nqj/9La8VVvW7HZm0uN+9NotzI+4ZgCU5ZfCCOF6MUzKX33A+4fLAtIxLIv+Q\nnE1WAWJ/E1mWp+MulR86RyYDdNJvw+kSZ4Um2mkwDefcN9gVa4PuvLysr3ib\nAO4rpkiY3U5XcbxzH4CPRhMfcps+5vfk3XZHbS3dCPmTnkTqNXnyTLEXGqv9\nAmCaZO2oXPG/pQtslGv/jxwgKVtam8w8fb/gUPcfg/JDq6Eo+hSG44RJKJYN\nhBBv4CHl93Y95I8tyoot1w0bwndU7nGbq8j2Lk0Pdpdq0wggT6nKqufDDrlr\nTTzpPTPTTltdF558V+QIP1VJ8kfyR8dXvotq2dsHDSJfF4nq+zK9o/7mKMgr\nSfwEm0IZgiKL9E4tC41bFZE4Hw+FIZ/T8CasR7IHQKYWx8nxWlTNCmIaeo/N\nmg03cnqtYI3L3IUBj4TuyuZXOHSGpmRYfm9FWcX5qntPaYqjdutkg043pA2M\nlOB1EIBr+3w+Yj+ZHor8/T/eL/Urv3A96ZEd6FQjv6dTuQ0T+z7TZV0Cz8Y7\nEOC6v1hcscX+giofFwyiBgImAURoTrwX0I07guwUcmH3n/c/5T+JurZHAfoN\nSlJkbcEJlWJi2Z91FUopVgCk3kGWfwV5bgR8sv81xjkP7apnZFa3sXYLLJ1k\nzNVE\r\n=l8LL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"7d266232d75e06bce1a7b8c6a5bc013d32f9ff7f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.8","@adobe/helix-shared":"7.21.6","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.9","@adobe/fastly-native-promises":"1.22.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.2.3","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"9.2.4","yauzl":"2.10.0","eslint":"7.22.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.15_1616449880475_0.3238572692930899","host":"s3://npm-registry-packages"}},"13.3.16":{"name":"@adobe/helix-cli","version":"13.3.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.16","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"niekraaijmakers","email":"niekraaijmakers@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a6a076940925f71f952e1cdb3f93271e65953af6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.16.tgz","fileCount":78,"integrity":"sha512-Xo1RYg3dEJfDOBKKFako+YoK8aRjGyqXDUu3byg0Dj50Ja4ImF2lLrx9puKtisN0KeXY0a1Tti62oMqSY7jAog==","signatures":[{"sig":"MEYCIQC8BEvn0wb+9Vm5UgCZ29MtoIfXFpk5AM1wdf8XcUfmIQIhAKlOMSgjiI/17PPhf2CfQJJYqfHbab5R5WGVPnMJeo+t","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":534699,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWevGCRA9TVsSAnZWagAAAGcQAJwk+S4G63D70BDD8vck\n0ND0FdLKM9SyOdLPqVJcxMrhdfSyDH81jW9Anb8n63zfFDBlvjNxHa/F8ep7\nfuzSTxDv/cUKvjE/gO97Yc+7X0l095BT4Aod9k9KUjPP3LioefxmmTUXdsZA\n+br+PpWPQygux8kDyMM+Q67sh5NUlmL24wVCFbequKX5DvXyTcjjEOIcwwS9\njFHzaTkeC08m580ka1nID38zD1nWFoxn6pNuLenUdaMpb9IER4J6MF1zKCU1\nlSKj7xd/y1ETLO6njhKb8mpTxWj9EIT8eeptqPM7GBmKraI1VKqEesi5SW4X\nbcUpXpaQaRLFQ5129T3iCwnuyvzXiZ02feKZBvO+lmw4+CmOds8bAK/UKpB9\nekV2755aBD0N/nSVbExUCCBCiAAXh1NtA/xnf1NGAwWiuUiQtqYhgvbr5wXM\n+xaOt9jxKrIuajpOzZfL/w1IJErahY5yyvQlz/Zo06JfN4QxbFXjJ4GOwPvl\nEP4aSEOJIapg8oq2Gs2DzL1RIu+jC52HPv7IxKXbF5aioz8f8RQARglfjwoJ\ngmVFUhvy3WP8wb6V2uB0kU84/2+SzHuzHgF5q5DLF9TgAuqtJqytlozXEvgJ\nIhf7SSdlymehMtuNrRq6P789CiV2SFaNvMoCrULgTbgqecYiN22f9x7GRQ4m\n0g73\r\n=8e2n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"18c88028284d1d851076c59cb7aa53ad144b64c8","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.8","@adobe/helix-shared":"7.21.6","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.11","@adobe/fastly-native-promises":"1.22.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.2.3","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.22.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.16_1616505797575_0.45441336968605084","host":"s3://npm-registry-packages"}},"13.3.17":{"name":"@adobe/helix-cli","version":"13.3.17","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.17","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"420f094f79c9488a60f8c0839bf326f52db07d1d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.17.tgz","fileCount":78,"integrity":"sha512-k3toTX6acW8LXpYuuzF7s4p2D0mW+AP6h1ufKwsJ/fdnT4FKG1A2y72T5vosh0O+GHy+NN/Qi6DKy9fJhkhn/w==","signatures":[{"sig":"MEUCIHaEHAHvut8IdYGQsfgZ+tvHhFYdMMkYhSALveXh4WBBAiEA3N073F6KUIvy7bJO4UJRgWQ0oK6GOqEpWfpPUeiH0lc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":534992,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXOYICRA9TVsSAnZWagAA0YsP/jHh48DyEapoVldsO0LW\nCmCEMynopqIbJDJzJiTRBVZxkkH+yAbuIcJBPiMBtGYUjZJ67R0zc/5pmvqm\npm3668Z4Y2rJdqWr2lJbXsDrb+wo6/MOgFPPKfmwtGvJeZKwdgVieH24nMpF\nlXhjWUsOcvLYCc64JsqccPWfwu1kb3VSEza9SGbl41q6GG+LVZQ7SJfmqdG0\nCjobEnne0GgohzmpaZUq3aAkZFNymWOzqA3Lv6O0neZ5UdmY+zGSl80zyApO\nE5Ww/5Wp7ppAPajDOq4RFETXgsaYcqoRNUNk7LXMNR/w7c02CK/XGOlmP0F/\nbvnqouDDvNrxMkA2U8LorKU3bnyOe3AW5rC5MuyYSTnSqwWTWfaLwt0dwcu6\n62x0GYm3IpEcNRqF5x8n4VC1lmNhJwMrbgGas/QHpj9V2ZMnHacBBeQqxePI\nQ2SkdSSEfT0Hp/vq7Jtc8DXuow52pjrX2KB8YDECaikBbZWN2bbRn7ot5MDj\nrRRHKRfOeYKQkGRJ7r7efVollJgY/wKsfARATyJOxErbWCw81JLECKw+Mu3/\nz29vXVmCG+odnz+T4JC/BX8V7krp/Ql27Xu862XgFbWSzZ5V0l9Cn1WmDp5v\nnMPyee+NfaJSacRQroVSTXZ4OSdfeCLNMHzUR/kRcks29uUZ2BXwiqT9cBim\n9SZS\r\n=V/2l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"921c517e9d723c8a1f731b63c6693d8ed4f15ba1","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.9","@adobe/helix-shared":"7.21.7","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.11","@adobe/fastly-native-promises":"1.22.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.2.3","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.22.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.17_1616700936197_0.47193328920112654","host":"s3://npm-registry-packages"}},"13.3.18":{"name":"@adobe/helix-cli","version":"13.3.18","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.18","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2970bd98f76b9b2f5cfed94481eb89806fe8f3a7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.18.tgz","fileCount":78,"integrity":"sha512-4wlR4+0y33aBhk600Kw+wRGK27rFDkw9rlIm4jNv2HAqF3nYA7+NtT98tdN7ZpTGo/pUx5rpxM0KuetjqkihPQ==","signatures":[{"sig":"MEQCIFN8y9LPB02wHUfzpxCfzBQh/Zv1gqCcLWA670ng/dadAiA8VkFYRwQpiP9V/n/koMz1XzNT37F0G2C0HO9X+D0qQw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":535227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXTMiCRA9TVsSAnZWagAAse4P/jWVQLokI8PLMBG9NWpr\nrGUXXbdGWvGGSiDManAHuWhm7aTwjSKc+oF+JYxkmNI5IRKt2OpPKIlRrXXD\n0zNO9QBAoj5ogMuZhz0q5OmST2h3oUFSf4fZdAuybRMZmiraOAAfr0ztVaMP\n1gneEhaqzYdMFtDZTzN0qf4jK0CGg6ljnO5dksntgFMILjIZ4aqtJ/Wsstux\nOOSLGI0x7JwUU31Ip3GKqz1LShuAECN+E7I5OGebFU4jlvGjOu5ip2SUG8Bh\n3+WnBor5sLQ+1FLX2NdJ2s3HO+qdxhyd5fHgZ3h9pFyTxUmlPIGkLzmJajO7\nPYvTHCXou/k6eECLwA6zku/Uz6mwxpsO5G9UT4RUSCMDY9uWoohgm9I5duqY\no0xVvhkX4kiCMNC/wVOXaYFBeyN4WONu14TLDrlqeIdctGBlpcIe/MreRkY7\nJ1M845++yIdD/JqJVNfNuK1eT9yPTNYnP9cdi6CzKguMu4voHsSz0uMRkKJs\nYEpLAMrj66o+c7hf2AE7B+RnvBKDx/0qzzQnHZA+acun/AMQh10Dip9ss5Tj\nrkPKjmdrRrflPlJxJnfT4syVnQ92nqvkbNStK8xfMX69dC4IiRiKUAs6uJXS\nVG50o7JWlc8ftNsP1mA1owP6G7le3yHMNtDOLC/7fGPxGfGvRv7Ltkg8Ab3u\nnpBx\r\n=lVuo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"dd244b47c9cb959d151d63eb0bdef03962294ca9","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.1.9","@adobe/helix-shared":"7.21.7","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.13","@adobe/fastly-native-promises":"1.22.3","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.2.3","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.22.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.18_1616720674304_0.792707806150414","host":"s3://npm-registry-packages"}},"13.3.19":{"name":"@adobe/helix-cli","version":"13.3.19","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.19","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b3a209aef3690a1db355100071aed5bc6c828bb5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.19.tgz","fileCount":78,"integrity":"sha512-IHx0M+0TbRfWOKPVU/t2JkzvDDV+BAAzitAl4qKK3i6xOs5MnnWkTQ7cDwQTZZH20LUKKXD2tJv+eoe3oyDMLA==","signatures":[{"sig":"MEQCIBSckSDv8av+Ml19E02tfdZYRNaihy9M/vK47t7hlC41AiAt98NgOalXkKuZVOp5PST0QJcqBGC/sFQBuepVN3ptHA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":535490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXdd8CRA9TVsSAnZWagAA3yUP/0SvU9WhUC+/3NOsJv9/\nnxmQ/DRZNwtuQMeFTJaquSpx81UpMbkRXwEoGsqJ5aEenGOokPbb15fmqVU5\niWxzdDxh5YKwp+7ou+ocsoxKzwZP3tseC4VZ4zCz7l7QqCvXlnIKFh1Bh0LI\nWyPNbSR203fjNJoBpdY+dHqTTU/MUE1aldtaraTJMYLqRLm5tyKv+sRi/90F\ndkJFSPIllsGC90OhSyuq4/u77IeMkjgpJiwnLMP0XWD7HuHRJkF84/LG/lAy\nRbjaeWd+djapQiZmqCSKkwVV4Axl3ai+hTqB9i8h9lSRYw5PPHV7WSjsbA9y\nDxVt2fhw9AAlyNpMwhwYtz+v2TkXtiXpTfk5BKMsILyyj87O/N5dmOj5gsgU\nhW3tAp664VxV6KUBx75Eu9lLtXJaLEltdvEZEgISx5KzQbxjYwW8gXWRWVQq\nh09+CMDBG3JONKYKpPpso5KO9jEd8G1SihN0Bw7Dkn0mv+050ztUdujDfTgw\nTxBbsWyBUOCugXybf28YOqCN/1RO6tA8RgQQLdqlYoRZKSePUlNvXlpoxp/k\nxoVNpoaPmNlsDr0i5kQ1ZgL7P+PYy9CZU39HQHiEfHOVBfGeuJ9ERYJycvfw\n7TZ+z6OttuPEPjNSgZTfEI4FOCrzdEPnh2kZaBBrM3pGcXK4JLatVSWh8lpX\nTEDZ\r\n=Ft2N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"7285491987769fabdedac351e8d86bb86fbe5db6","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.7","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.13","@adobe/fastly-native-promises":"1.22.3","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.2.3","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.22.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.19_1616762747330_0.3632820547254394","host":"s3://npm-registry-packages"}},"13.3.20":{"name":"@adobe/helix-cli","version":"13.3.20","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.20","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"14b361b2755fcfa26b8ab79f8bce25ec2db6445a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.20.tgz","fileCount":78,"integrity":"sha512-aiUv7eEWp7kN+UcT6ipv9kj20LcdSGo6LbzGac1+IGEn1gxqmKvTWz9yJt7Z+jZlAcXZkktjVNznJb+uyhTlGQ==","signatures":[{"sig":"MEUCIQC/YkgqfVLJ481YlCbixDUCzawRdRiiVIotaibPjQ/zDgIgE7pzDyaVwh8/GcEj5wrGeOwkCaTPkR/fQ/IghkUE+iY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":535783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXfcNCRA9TVsSAnZWagAAZD4P/R6pm8Kb8Tfny6DHxYhJ\nCzwmWmP/w4Hmyvk2ZE8YbQPLMk9Av5hFvFPh6vMo+bCiuU/HVPnwvXur+/4K\nBVysT9tU3TkAkDEDlBwCdce8IxdmPZKTF0a5TKHT29gwwQRFIfCmCZYncCDp\nY7KKgwPAxiEYZXhbULO4e/XdNspaYKMArjQlW2klfl+bL3/N1Y24RYer1zRY\nNAsXTGM7l12uxNbs8pNqk5IGFSo0sBzxZOOvAXTFd8Ced8aNZjIZtW0Ua3mf\nmUSYRUDkcSHr9GlpVpUWrS8WR+4XS9icn0oCEe5dd15qnuPxBDPCiES+fPSZ\nCCNn0LejkKWTil4S+PRxTIViK2cxS6sNB44cbTz/u1+nukQK4ndOx0KHnoD/\ncIf0G0hI72avucSW5Ojzk7j5fTO83PyvCZJCaec7MxOjLdgoPottw41o3HHC\nmciTc9eV09M27EvJ0tdH+2AnQXt5TVT0yVit52sMJzx3MKtz9vUP5ZfObRRq\njeTvcyOgTc45mtNLGXASUy5HkfFn6hxqP5rudsq7A+0H6ojde0zg2Xe1F16C\nPQOnn9dzT0laPBDJUTTNWETRQrZemSaPinUCvwm3UB7dCpY2Cv/8dpFVfLDw\nH6mJrjKkziZsqIwywhFG8wchd0C9Ehfgw5NQzBE95+ZmfwQrrbBqyXGExSB8\nS6rg\r\n=MZ8J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"1e4a8a2ae6c97cd550264cd273303f54f46a1858","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.8","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.15","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.2.3","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.22.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.20_1616770828578_0.552075296494599","host":"s3://npm-registry-packages"}},"13.3.21":{"name":"@adobe/helix-cli","version":"13.3.21","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.21","maintainers":[{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ef3a8315b1f05f4393bb6de22120a2447738566f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.21.tgz","fileCount":78,"integrity":"sha512-HVCDYPy8ig+T8deda3pSyvCM1BpXHEVX7WSHwuRUxSB7Ldp/A8xAEZQk+x3YEitfY7/MKz2kqbxIUWd/6m05rA==","signatures":[{"sig":"MEQCIDJeUH53oBM9sz0BEgtRDGyB7PZFiec4F/fUvYD+MuD5AiB/EuP2aJOxreuc+zF7WoQU5ylLSVk4TzeQ0SV20O24tQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":536048,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgX4DlCRA9TVsSAnZWagAAPioP/3FuG+McnKgckhZarKLm\nLVs6Ux7HCHG3jg+xoWEWpUgqnKwmeA3nycURWmQSIkwy/k2ikJj6hALOM4E+\naaAnU2oyB4ZymhSdMHnFL9EeIQVkP3snC1unJkh1oBxig54WV4WOae2un91e\nI2nXm5j3r30/lAo9u0mRShJ/wVYKo/s6rHov1MT0IvG2VQusfH+A0vHBoopY\nWa5jyCewC5k93SaoNfLe5u9D7isaGAnV41YFgQ4ZSCBYmongvtxV/R5XqjLM\n/bibC+Vsubq/jBLL7JR20puDcMCKW3QOnThqNGEa3PmEOcCu/Qu0DM/8A7N0\n3KFyoxlNtquctputYRJb/lLZn6rQkQvsMp+d0kWJU5mxpmfAalfH0VVc2DQy\n7moqpUZqOKlK7RgMkKfMO2us2Ln6m13TDz2n3y/wy4mwMfZqyQSb2GSEmZx/\nsZsbXgw+2QlmzbLl7eSgJPcsZFmFHmWFU3xGoKWvRtQV7eI2Ioxt19rZfFs/\nrHDo8PH3CoIGxrWZRBuxCMP3S1S32ftR4VRN/OgSntc0svnHqV2I35imzgu6\nkcciRhL0vWDEBYbff/Y+34/q/lpX+CLfx9lybB/TNJo9oDpMefM5cfA5ydcP\nGXQHc8VlDdGCWtyWNZx8mTR7lfo1SD2SZlKvoxDsBqq01hNLZrgOLYF8ImJ9\nX6hI\r\n=HO4Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"55eb694dc6a2409e638ad4229d5bfd8c4a07ca61","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.11","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.9","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.15","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"7.2.4","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.21_1616871652921_0.32369674713800967","host":"s3://npm-registry-packages"}},"13.3.22":{"name":"@adobe/helix-cli","version":"13.3.22","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.22","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"273c8bd2d09c76a241710f55def2fcfe827558bc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.22.tgz","fileCount":78,"integrity":"sha512-vwzyHEStAaMDtuKzqdQUZscCX76Rj0DrW59adcOFOBZhHqHj8Ctc6X1p4YPBUL8URbSqIafZa7wg0RM+lbz9YA==","signatures":[{"sig":"MEUCIQDl6NTOKbqThLKaisigVFioEkAsBOIR8F0LreLxniq3qgIgQsckhG8cvIGEeBKu35UHcYvR67uBhmx3aNj9+ALtZPc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":536316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYp56CRA9TVsSAnZWagAA2DEP/i2HdZwHMdVozKrBtvPY\nd2Oqq5JJ7ZbQufnQfjex0to8Kddo0hHsdFt/+0kjgTBoPBXbf5rTEhDfzPww\nLgZ8GJTDAk2LNxUh158RTiQ13BvQRQJZ4rwhkbbckszSHIG4fOViJkG9TOpI\nYnzuomvHlC6ubB9BX1sh60PBoXYDXc+0EAlud4BilHlyQfDzcvOkeNu7oodv\nIzxI0N12u22iWebiO/nKMoVyQE+DO0f7ZGU/S/4EJa6sW6/3TPjuWMY0Bj6m\nB5lZz4UfASYpd7pc9tH1QKR0xTzlW2eJaA0Bh2jsLdgCRFeZ7cmJtUnmxLWd\nqkEYOqAhioaxrTD2Rg2yWAKlqZlFq1ppjEpl1hcEaGH972l8KdEKeLJzymwe\ny3IDV7VClPRwmHP51Wt/EIDy2YvJZehXJeXXxGrqQvkt2igs1l+fWdZhYTui\n/0WAh/N7suzvo0hw3Vs0SsrrWdU8h4P23pcMvDLb+5HeI+m7aJaZi6Rmu5Wz\nVmI+DHSZ+XsrR4A8pkDuxKIy2QaXvjwCFVwnX3mkRa/1HXscrkR7cpSj0mQT\nvoxUsZztUD45HwevEr1YnnYSr2WSMEweopevy2VWwfTZ8Nuh1+1o2BF+IB+a\nbfGI0w7+7kr4PFD+5J4UqpbaIyI+M5WjflBXh9Aa6gubLDeN42PkWYlsOOlB\n5Tm4\r\n=AFnO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"1a8182b4ae1e65c26678f375c3f6738ec3192da8","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.9","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.16","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.1","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.22_1617075834304_0.8685699715626667","host":"s3://npm-registry-packages"}},"13.3.23":{"name":"@adobe/helix-cli","version":"13.3.23","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.23","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"16d754d835cae1bc48745eb1d099f1d540c5d750","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.23.tgz","fileCount":78,"integrity":"sha512-cdy+sJ7leF6nOq/PZvX8Og46+cLrjTTbIYTMFLE3tq1HrhB+nHg0PX+NcEhMaeYAPB1gp1qMjkucjiJX4YAHLA==","signatures":[{"sig":"MEQCICfikbREZglODUqMoCr9kQ0QEESrhXtuv7abJKT8hwRWAiAqYd1VWhzZ5G8hxhAV79E2T1JrrmxfKuyMWUUte+2hSw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":536641,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYqx3CRA9TVsSAnZWagAAgJwQAI0fRM5R1r7tPNFD9bR6\nCyrbdvsF38MEHJQAJ0vmsdQDPLbW5hF234/EOTiq/lGb3Wa4GTBslbZdZasE\n+LMVsYj9hm5FGvBAd6E3W9oR9iAOVR7kj/RQRUMydLyzjCHjP+w6WeMnI/Y0\na6bwmltkM9ciaVLKIyJp6JKK8/x8khhNDXpa6R2mH5/jpabCLRz29tuPi23r\ne7Uo/Od6ixzC/3DokaBDEYrHiDIyfhlojZ/UGVr/JDcSL8f+vhqaCTavVKK8\nSUxNPxlCaOFPrAExffnaxJ76LgI14R01StaedPDx69kdZBEPDTpcV2998egi\naB8xQL1XlufJp9zQUHVXFWO/NT1iBza5oJ3fex90WCL2Ed7TkDrqsp+FgDPI\na3IIvho6YHMFGMk4pxoTc7CE5lNm+pfIRhSY4GxouI6bI0Zvq099L66FuT1f\n5AQCODo/AHs4U6AZNFkaTjbaVcHYLjiaHBd2t4SG2TqFxPzo6Hb1kp8SVauZ\nFML09zz4LRhyWM1VX0Adcr4s8e55HcC3tmM5HW0CFVZnRGamng1MzijYVp+I\n0UummF4RXz8P1BQkszeiZJ+O2kTVKoHZQW1RKHx9ZwryMEp5GIxGOQ848sq/\nlDVZ3fN2oZPedQwjkMrfsguaYybndFa8avo2Gr31igXqSdqxt/n0pzPJfQqm\nXwfS\r\n=L3qE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"b71ddd296e4f19020d57192e13f1d2249552108f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.10","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.16","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.1","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.23_1617079414957_0.6106565469606682","host":"s3://npm-registry-packages"}},"13.3.24":{"name":"@adobe/helix-cli","version":"13.3.24","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.24","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b0feecd49c05103da9df92b0883e30974899801d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.24.tgz","fileCount":78,"integrity":"sha512-NfOZ0xp/Mz1b+aaRCGYOYMCuXqhIudOefWQCsHalAxG2FY3U9xwcnGWufWVHvDlfDtcC+SVt+r3OsjWz/s6w4g==","signatures":[{"sig":"MEUCIEXEjbiwrhfsN2TkuJ9neh+S3n64BLNCgr36BD72QRiAAiEAstJIs1d9Oj8azkm6VB7bhACEFCH9RajdtWrcY32pfZE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":536907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYwhvCRA9TVsSAnZWagAAIbsQAKRNmEtw8KcRYVaYLQPH\nF2vk19r7UCe+etEArLOxRP8b2Rl4pjRBq4yFNMa3AhN/wA4nCYGlOccEnT9Q\nOwR/WRWXXA9J4m9epERD9t1F2Gr012GpKl6PkqD0mbOboJ+f9kRPtUUetOYT\nV2FO7MHdVDYei3xyWxdY7aQHCpRSrzlMZIe9B2GfYA55fSSjplN6S1rcql18\nsYyM5s5rv+TVKD0Fs3Y+7Kt7aVZx1HuUms4UGxDBd7J1b4QWBXkq1/2jA0xC\nqwFmkW4013V6iJJ3Vj0StD/Uz4HWxBNsytgXERMbN7X496GaPifmeAyQTZLG\nvgJ3ke3KP5ealPcJZdDKbbqLngwirpodae+BGOG4eETxzTHVksPoDAPbyWMO\nl2AC/vkYldEOmvLdtWqPxwqhKnZ1k8gcTlVId93w9qmTjEx7lmDClCSeQ5nC\nD5ouKYVWjw4IR66f+D5n1lBsxc+cRZxaezHBuiLm9Cdzh+IzrgY0mbCVJY3t\njY+ybNe27OnONlutpEyWKYNBPEaCFwiSNBlABJChdftgHXU09JlwB1iRKCXT\neG9osGQ087Zg/0ys2o1Cr4tR5hBo3YiTJenLBRVwZsWMW52KfldAc56VIBMT\nZsIK4rsUyxQACN3NoZ5P/iyElGXtMb7/HYkci3xuySbEmnOWtm3p9CpFNVOI\ndZtD\r\n=Uc4P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"66fed56f4bad9719a0f50012eb8b5a48a289251d","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.0","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.11","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.16","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.1","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.24_1617102959409_0.6848065760428994","host":"s3://npm-registry-packages"}},"13.3.25":{"name":"@adobe/helix-cli","version":"13.3.25","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.25","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4f6ba34e978d8695dfa4bc8e74b6ed90642cca1b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.25.tgz","fileCount":78,"integrity":"sha512-oK0auLjVs3P8LWPWZNHJXP1OHBzilpTs90CwlTaRlv3EVjl4Oh4ZhxoIU5T0s94IAd2aZYUKo3TSAPlgWLD+Qg==","signatures":[{"sig":"MEUCIAICEu5s2ZAd6stydlK0xtB5mszTRdKdZJrcXRPVzvGWAiEAxirqJZUActe8lEJuPNGo7u2vH8y2vZCwjOR8nxPYvwU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":537168,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZxpbCRA9TVsSAnZWagAAQLUP/j5qIaXHcqTEvDbqs57f\nQ4YMcpUDSAVSdVF8/wvMlOHw3K7T2Po5+tKjnRvCkVOvyd2KEYtRKGHVCYNY\n64s4y68st+klQtWpjYu9uesDfK60BIXQ/POHdaL6rAYt2FtDrV7vuFK6mvDy\npn+7Ay3Cd/7Aezc4BST/40fMgzXTKw2menH45u4ClSvei4xGkQpHZq0OOjuC\nXOb/q4IZ301z10BqueB90GdRdmOH+aP/E25R/01k1OBTooJQ4A3uci7VrKP8\nd9BkF3kfx5gbIihs15rQTCnm79OTxSGVMSiDOV77H57laiGHZc0IQYtdhATZ\nPFU91bBP9lCoGDlFq8Mj6y/8pNUC8QV07QLFOu5Zf1jGbKeh3ydBQCOd4d26\nlb8vBUqvR9fivKXkksWNETydwsZbikpqbL/U20hf+kwMLDWnKYipEW4gFm0w\nG11ItkPWBG7IAD1BMDC7M29UpTb2PRDU7evWzulrp7dYNvTTZ5wDSGWNnEMq\nkQXum4P0DBjh2V9op7oIqikBlmhrfqwroUuBdih8JdysetTHttpcglucJelk\ngmSanHBA5k5zIOcoCvxHh6+TSLlfpoJv9DRzVIk4J7y/LNGHKgS1m2Joo0Et\nDCkrLtZHI4KkZI/KwD5wkZmnxjIxbah9lYDoIRnXrmeeQmgzWKgC9yAoqd4p\ntFmJ\r\n=6ige\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"5b112c94b2f0c0ff4c607eef57e7925785a5034c","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.1","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.11","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.16","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.1","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.25_1617369690570_0.5929771164723381","host":"s3://npm-registry-packages"}},"13.3.26":{"name":"@adobe/helix-cli","version":"13.3.26","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.26","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6774bc01edc3b67194a4ca789b5fa386b8c3e0fd","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.26.tgz","fileCount":78,"integrity":"sha512-tjTkxcw/a2AwOicl3SrhVyR3yqMaacKBXBuuGG4+JcYKCJuihKFX45zOXge2j0EDzD7CI9sSVOULIO+odKQy9Q==","signatures":[{"sig":"MEYCIQC0mnjdMfStqYFVgo384YK06PT0qVHeT9xvNN/DXxQm4wIhAPVtiQa9BrPSx4BwsyAiNEcq9BsOQ4HSm/jwKnFvEnvf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":537403,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZy8CCRA9TVsSAnZWagAAWaoP/iOzVmqQ8/3UbvUtVTu/\ntelm47D9HyoFFFrPRimIr4VwlJmJ73eGUw1sUR97F3ZDY/Ip4rr3EHC2Z0hM\ncVCNbNuSkDLUKqVEGBgc4iBgO7NwStesYuL8X30lVqfcltrE04ioHr6aOGcg\njUaYujtfE9Lep5/cfGivNMtZCPhdlvW9whMZ4EBB8bqx3ifxNtpRIcx/L71B\nWM0IyB8fK/KfRko27MwJ3fLPMgcWqoItGKwjQuXSn07fathlIOEBAT40V7xq\nANSC2qTowZMIGn3wjjCihUmVoWAGOdbMxTKXmq3/Vz6Uz8UtBz7QQsVQTyUH\nGn12QUSd54BueH67BoUSL6oPAES7yqce8GA2x2Z5BjvWrOj27uMoGeUnfTXX\nDGBftwiTQFvAM+/4GR76izzQg2WpZEBhLVLBa0cJM8iMTLX/G+NYpR29r6nx\nVTMYzvcf3VmcW+9f2D3RK2HwaqjLrb4EiZxqPbUD45RMuGlZZvnb7dhgqrHP\nqM23/LEqB1xti71i4vQaHMhDN8Pfvosb31WQ7loABEnHiUpiqsaqB57aQ2h+\nJ1Qy0p1ejnKMxTRHlriqZnYx2EkFqF4hMXCZQ8m9Vj6MgJEKCgg2OFhMOECh\n+Nj4WkkXGNY32SWGjl/DeXiB5HSdZ6H5IGMOAp0HIIZjCc8iPN8gWr22zSXw\ndtm0\r\n=ICvJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"33f22a9a600e0b1deaf1b5bd8ae0a357cd999fce","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.2","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.12","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.17","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.1","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.26_1617374977758_0.5394588464510328","host":"s3://npm-registry-packages"}},"13.3.27":{"name":"@adobe/helix-cli","version":"13.3.27","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.27","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"057e65128c3da1bcb2173750ba856a15b9d60255","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.27.tgz","fileCount":78,"integrity":"sha512-kwaQJwjY2jxVHTmKArUvTjsGaGFJEwVifCeUu8wddw3OlXTJOpklALkT6fhYvA1VRZI76+XSVKw6nOfiQEfejQ==","signatures":[{"sig":"MEUCIAFWYtKarZ5drZceQ0ctYGI+sDxWUPX08Kkwb9QEIEMeAiEAxXhHD2izV5aKftUbL7ZL5YM0PDTUORbr6ZHIkupNOwE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":537638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZzzeCRA9TVsSAnZWagAAKXoP/A7YyW2n8GSZy+kRBCt/\npsCU0hvkHK3BJaIxymisgafwDmaRHIWYXR2Y1bBsPV990DwbFOoS/rwwNKZ6\nmpXIXLk3E/hSvoGKghyKuNuBC6zruyZrj1yzvX7njLrMLS31ch9AosSieyya\nUc8r82Psy7LZ6NdgcanumIEUjqPfrQ/Z516hrsTLDrW5dacGgY5d2u2qFHSY\nN49v6y5oKYXsyrOIlINDuNLa/xlRrkfV+eItOgsGUawjqIYzLPxq0eeESMjd\nD/GHfxhg9o47gTduGTW0PvDoVrmPNMYVwfn5DktUQ0dLJ/bLnpForSk8BiAT\n/Bg9Gzhu0g/cJ+ZuEybjLyqTdpQE8Ojx46hifTNOIM1Wgfw6DtiJIhqtVy0Z\nSXAQlmNrVnFWdoWfBmexP7PTSqy+5kE2TU6gPgw97wBin2RCD1Nkt27x34Q8\nTmmU532ufGL/FKJ525tzE8Mhj84uR5BbjVpUSRyfkTkSwPbxcXsq0o48f5ZC\nu7qwe0DBkTqtIKa/LFXKRO6867906Bb9zA4tjx891mNZjIoKtJfprJwaOa/r\njjegSA4z7so82GYRkza9oD1/bhvoYkLdnmCGiF5z84zscLgqLhgqSCx8UudV\nFYveuYWyZumqM0yRHW6t58THGOjZgVtnXpUUIIWbLQvecyQPy9mgzY/Z5mnR\n3GHT\r\n=lal6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"a26d7e368f3b460ee9925b62f32cb9416e0ff191","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.2","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.13","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.18","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.1","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.27_1617378526057_0.3997209263296395","host":"s3://npm-registry-packages"}},"13.3.28":{"name":"@adobe/helix-cli","version":"13.3.28","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.28","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7f49c3ab9df2d1642a98f313f7c3c03b0d059a84","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.28.tgz","fileCount":78,"integrity":"sha512-zkLCU704/29EFkCkDTbGqaMNb5rJVlx4HLj5ppg8Xj5w3Rn1AABfiolj1c1zzWoEiDpv1ksuCuIpzEwvjERpSA==","signatures":[{"sig":"MEUCIQDVGxb/5DqIIbzI73M8gNn0s8sEODpLtOkDVECxAxsQTQIgJhijnvx0nsB00axgXJESEBAZX655cqm9KQiikQB9flk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":537906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZ3MVCRA9TVsSAnZWagAAIKUP/0FXkqI/3aYsnzQB8nAN\niyhliiE0CMqXYblVDGgZVmOX7t+sH0oDlC1/TJu1j/QkoGEUzhiEikuTGvhR\nVheRmFZje+V6GtbEYvWvOrMl5N4z/vvawTfzA8CBiAFp68q7jQy6QFB0aWd3\n6x2JBmJiuvBg7RAGfPDU37dT9haGX1xqk77XQKvP3qENBg2hPsaoOtl6ew5T\nIAvJaMcF5xefr/ERBJLmeXqVFtLrIQiPaRRX83Rgdec0OaR9BF06anNmRPAL\ndwufGjp+ge1dWXTtI1LgSIa0AIkl4/MbXbblwo/TagFttLAL6fDz7MWZ7BO8\nMBEGJYcJfMquP94eFq8mkcUwtc4/g8WNft6OvCsnD+EG8xhNY/omRcU29lcZ\nChiYtDuYoAlWaZYAiQMmiO9IWM5nXY+8498pASQnt3uAhH80GVZcCdIS3RmZ\nn3GUbU5JgyUo9IA/koicjo1ELuK62zDTUflU8Zc05XbLQqpucED/isDrFgaX\ns7HDmGjlcRNt2OB+RJ0FPklvHawG5t2ssgqbveaMQWEbMFh4ORkRWJsg0gkj\nC2tKGhUbI/2w8kgbcxbVHyu4PLjddANwoDpQ1tC0DZP6Jvo6CJR6QD+7K4l0\nb0YradNFsvbdhwHOD93i+rQ2IMxVKBnAG5nvjMoDI3ZKoMC/KRbhrKyWmQZj\n3rh8\r\n=osv4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"0b4e8d11d42023e1174b28ad0434ba66bdfb2f5f","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.2","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.13","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.19","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.1","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.3","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.28_1617392404436_0.4228407333850752","host":"s3://npm-registry-packages"}},"13.3.29":{"name":"@adobe/helix-cli","version":"13.3.29","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.29","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"572e0cc1ece495998ed71034232384a3eab96c19","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.29.tgz","fileCount":78,"integrity":"sha512-WHJfmtoc49jibInVE2w40z3Crhz76rxZ5Lm1YmIVmEMez02wegW8oWY6vJfaA4O8S1mjDAAJ3srr5x/EfZ60Uw==","signatures":[{"sig":"MEYCIQCosMm40R24bCcywEU7kMnKTqFR/VJTerhRinvBb6zQ+wIhAMl+dMw66Kb5clMMmgG9iGwcFcw9I14VtyclewrCtPYz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":538172,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgaHZkCRA9TVsSAnZWagAAdu4P/1+ttoEgAxq8qRva7hNn\nBMvxfDjjgbTYRiV1eSJy2lwnPQFuTvjdOl4RqmiI/tGDKyQ8ql/Q7NzwjAKF\nTs225NsctP12QtqYYAOJZuDfhghEz9uIoUz5VcnBm1xsq5nx9l0nzWRX9AgH\nF8nWvW0cBMDn63LxoqBMyvxhJqMcKpfT9ursiJb9yxX0EWvgMqdOMDu6ElHW\nlYR/3PWJ3h3N4glCNbI64w6clZ/PjIMXO7yV3YCem6VmzkOe2n3X8AE89gSL\nq6aIGzKOj07BMf/BS9EUCMxHFLF3RvZWzjv1c16gEf/kV+zSZihQoxTnEX4k\nz7opyCjWJs6wWTs0J2CI/hxslXzAvQ8xVB0H8q9MmknyYwrG+VtmumKSfL2M\nhJAgleSE4hAhVkyH3HBKEnwmiCcBYV1Xeiqgwi/u7f+YQm05U8lBQLeWgkHq\nyTZlMK90l+kiZyeyKN7x6I+9F+CJkQ+JAF2AR1lG18PUB6sdJWkeoQjOI4C3\nioEN3E+rgaM35ABZ5gyz8X/GH5Z+xS9muyoGY+FVRfXrbuk/4hj1tBu33xg+\nGhqeuWWzg094znwrEVWf5HEocCvp4ksfpmzAoswpheOWiBrd68zwumd19NKa\nav09cRdhpDB+HmCSd+W7/EYYKe1c5ASEOnFRw42BfY+pUH/VkZjxzW6XLmR9\nVIyg\r\n=b2bl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"387f1ab1e6d95cfbb8c0f5a5a92132d7bb196072","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.2","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.14","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.19","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.1","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.1","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.4","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.29_1617458788030_0.9375047151546569","host":"s3://npm-registry-packages"}},"13.3.30":{"name":"@adobe/helix-cli","version":"13.3.30","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.30","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"aedcb6e0ecb1999f6f8594904c5e13ab57c08c8c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.30.tgz","fileCount":78,"integrity":"sha512-2fBYFO39XVHZT89Z20n1rUe7ayOCJez4r5FWfLzT38QhF65FlDbQCCpi5Y2MNT5VD+P2jpEEYuVMR8ehjfwAIA==","signatures":[{"sig":"MEQCICTY320xAgNyRn1DNnVkCMKsadMFIu2kQtci6I6So2eNAiBZwQBuvdLTtq7QmvZAcWgFnj/2ZI/CzZhXgS2EZsI5Kw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":538440,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgaJCDCRA9TVsSAnZWagAA1cwP/1k9xcuqS8JgwdbOKZ6G\n43/ce//V/PoyRih1qkI4iQiPclPpbjiHZW4wJR8BerzE2K/JSCTdb8bzE0c1\n41bMKOt/fVAK/6l22blqkwa2aP8aBYYVhTqQ4fiAwisJ1TY7NGpcidfhZU14\npV+2jPUrY5g5fAOk/QgzmOVL5YdcP5jB6/GVCi3jjMJp+F9EXOVeQ8Uop7VV\nXLcqitdDtJQ565Z3TSCS8xG4X7fC6fI4pRTZ5fk3yKb5IxjAMqP6AhMrADj7\nH8LQceFWm63z1e6nlbZuIUbPTLo1YRjkylv24O3kNJEIhAEqCHmC7XjmGOCo\ndEW2YAM7taCLz7qr8QNEUWTk/QsTU0pcGHZjN0osOI1CKjdZIJZ0EGBi0QTn\nVizAg1IPeZJ/4nXRNjsUOamM4rlbMBOwjCl+qkiZXZ2B76nV/a918BDMXrKd\njy1ZRfoM5RLxE0bCi2KDOsG1I0DiapqkY1T2mw47T3SxGZXujD4i7NWRwp3x\nWOos7HBUGPRf6Ccl/TlLXTSNZqAUocXZqsOaXtTmF7nN+7Odk0WfzGrAkCJA\nOCbbICBPyFdqeglvja5QFi/+9Xhqe40SR4cDcv1n3DLBWygqmBkxyUoU9FLu\nLWT4vI7eTHneAncVIHl0g4Dudvk+0RKsmWUUC/MmlFEBH81kAgWjeGsU/jnH\nD239\r\n=Sn8w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"78b25065f2a71e64ced0f298cfe1da5e80511533","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.2","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.14","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.20","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.4","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.30_1617465475308_0.35469418037923695","host":"s3://npm-registry-packages"}},"13.3.31":{"name":"@adobe/helix-cli","version":"13.3.31","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.31","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"14f86d26382743f39ea0aa3b1a426ea3b2ee09f3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.31.tgz","fileCount":78,"integrity":"sha512-hdoFd6bmbk1xrHypq+dFCfER63C0CMWH31b5J74KeKBHO3llvWggo4JKvHBlNNOt8kQI6NBuZHtUXW2w/pl1Tg==","signatures":[{"sig":"MEYCIQDEvKRwjATjsUxUQEzXeRzuctu6qEjFNR+D4NcQeJvzyQIhANvIIyCmFeuM54irwl6BjnMATEaKjK0tUYIaBpQTd+sH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":538766,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJga/43CRA9TVsSAnZWagAAjXYQAIAqYo6xJ6TdHyJHM3Mx\n/3DHf1z0mtr9b/uxEeW5IT1R4ZHN/dTHYwvYcdZ32KfkbULBw8jIDCKwJc80\nT8n0DJtW8KKXe7Vo4DZqGqyQKbgbiv7VBZ72USpoBgW6NuqM4Fax0qPa8dzn\npLRMQeSYyiOK6S/XWe/zZAWobgnrFCFlo98OWsNeaOFt1xThQ9IvY/l+FC4q\noxcbYr2JYTcUnS+hI6tRz91M/+ngswuvCa+bK3bEdtipIJ+UrIrXFu1hPrSz\nCQNCvSZi73tgY0i5z2zGb2e4red/bykRilShueAPFMDFuqK3PkpGPUr44KTj\nezZjhFxlqgAOV6ngw21jHi7j+Afm/k1sSPrG5nGZMM6Q+MbKoUiUnQf170tF\nRUehmVN7f6Dvnqtd4l9Su9pPJPAYC+54HNxqX2UB5GCDtEHQRPlxBnUtL2jP\n/wflBuTHKXtE30wXGh+dcPokLdFEl6LiuEGdM5w4x6Xi8r4LxAhD0B30nA7h\nx+RPmkpuU76D23YxoRl0N6fF12DoAIhPKSHc22Q4DrQxg4YnvumwOiL098L2\npzqXkQfbstf8YE9o786UVnTgWxowjEaYSftCG5u5ls9+mHtvFXXLjU9I5NRl\ns6zEUMgnSwwV2F9qwwOPpCG2w91OMYw+Dd9Ix3zI5U3I28eocxb17P9W/3fw\n+lVR\r\n=ygf6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"c76d635b9a299bb2816feee439a509de07986750","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.2","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.14","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.21","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.4","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.31_1617690166907_0.7423606605011872","host":"s3://npm-registry-packages"}},"13.3.32":{"name":"@adobe/helix-cli","version":"13.3.32","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.3.32","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"83f892a18aab7e4837784aa43f1cf7166e98a92e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.3.32.tgz","fileCount":78,"integrity":"sha512-2BYX1Gy3j1Vgj5ufhsugSb9mNSRi3vkT3n6tC9+ZQu6saohykhQfumYWnVBw2Fipm9qE5nhVka4WxamRcBh3lw==","signatures":[{"sig":"MEQCIDji5mZd8ASF71KIWC7cIgodhj6sk3n1VMe+W7Dp6XlvAiAReoEi0ULCGQF+/syln9upDyQ4xSN4UTsT0OI2IAdd6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":539092,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbTPcCRA9TVsSAnZWagAAZYQP/0DvzAh1espODUTFsZpA\njw9nolG67Ea2LKNMKelK0viabcT1nxFmC8HEpfYYysVzIst3jvgBWIt0bIhz\nzOwUy0IsO15/9J4nPHsjbf53NpdDawxbdVU1zjTUUupYulFBYYgBK5PUI93d\nhUm/l8+XBOFNr6upXkmox4vt4vsbb3liEe2tFILxsdwlX8ZhFpZdKG6OXwju\nSFgk5cedLXeGwBlijG6sbW9mVmI8V+Csy4JiT1izMG2tSUh+yI6InEAy9P3p\nFrKQE0qx8Jm9KkmwgP3aRCHGuIFKI7GmwPJmvfttQYIrl9ALPiSmDK4kn8fB\ndXLS3Qld4m6PdSakADbowz/irMqxWyv43HKSa7fuNdJZ6Az/d0JmCatDVwxv\n/Sz0IFrr4rbLmWisucgQkrg00xTTFEQpNoD7qfqSQeDBVcR1yTwjliGqQygC\nhgKvGJN6vL0UnqV0hzXd9od/lGX70QxuBsyoYHobt3KVjrKtJUvBKT6kppZQ\nCqs+X8l2+f/aVh/RlTkVfJ+wi5s5aqY2cKuKjrkb52eOSKRUZyOrATHcsjBU\nyo5ekSzFvKl4b2WlVTYV6TC0PhBDVkvZUbQ2OdDnTigKi+lfiaypcovOvue0\nXPm//iMeQv95tMz6xsQzyjF0o24uLXVyL31uFm4VhjS+K+q11snrSMhYLShp\ncg1k\r\n=SWxj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"945e0a05f763d28eef82e0d4cc7175e2acd0c9a5","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.2","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.14","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.22","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.4","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.3.32_1617769436193_0.21412177458073622","host":"s3://npm-registry-packages"}},"13.4.0":{"name":"@adobe/helix-cli","version":"13.4.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.0","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"809d63b7dc75e9fb0ba43c042b23636dbc8cbd9f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.0.tgz","fileCount":78,"integrity":"sha512-felrG+n6IektZQ8Pm8K/qwVAB5+1W+5C34sMrkgHlsCMQsqdWSbezycB2JQt9sQRO8xDtPX/yhdGLyT//L+Szw==","signatures":[{"sig":"MEUCIQDqlW83GuCpNxkQqCJrURgXUuFajBUqa5GxsfosFVSscwIgRJ6vEPlzCZSXxQ83242/u12UeOk90UoKObhDjdeQMVM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":539153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbYuuCRA9TVsSAnZWagAAHGQP/RK6RSE5p7ZDXTTBqLVp\n0M/+wgVd46pWuoZKlYXE5jY94dqV3CgbIr6cXcGRdAYPZ4ZUASQLWz7clYyd\nPewRjVVuYD6U7r6QWHCNorIARt/2dgUmArugyDRUS7uHEuGmVZnVVN1UCwuP\nvG8stf9JIrKELfWfZKaZJ4dOvZpYHvk8ZD5ErTllFM/d/jYIEK12QrSjXJQL\nmyp1TNzoMJIUvfIZA3O0kZvFS6ddG8dQCwMTO608tV3HjDYpe2bjbFW/vmzH\npOu62k2PVecLm2wbj7Gy3md6P96J3DD5nt3irL3bVT1f8nnfj0rnE9SGou1i\n1LYnCqPowYmsy7RxZV0xj9lfJ28lyR819T0+dwcXHQ7+6PXcDvuU5uDJy+R4\nLwxmNFbZQOHGqkgu9ZZyEe19goxClm8/IuRGDZEdHmaxibgCjtL79RnW2m0D\nABc373iR+gyVGtmryf+ZXgw/akbpa/yp+AaMyPiOlNaxN5h+/bb++QpSIkaX\no5jhok8aUG5PFcHnGSCQBKsQX7r6PhjEsH/oFEHcGifoIyiX52w6nMYrfWN4\nZuSz2rS5hva/of/0NtBdnI3yI4eH8Nr2JspMqlCnXTF+iaZZdcnK8AhD0rQG\neUZrhmI6JznEtZSbziMLMPo0rpL6deSIaHE4Ixt0+15OXQq7ve99hfm8JZgR\n63Be\r\n=rmZe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"b937ccd923973d94d26e66e619ec8636eafd46e5","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.2","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.21.14","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.22","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.4","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.0_1617791917952_0.8502326861926077","host":"s3://npm-registry-packages"}},"13.4.1":{"name":"@adobe/helix-cli","version":"13.4.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.1","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"jianliao79","email":"jian.liao@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"381bf4bdf588b7e86514fcafd68db2af2a0f29d3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.1.tgz","fileCount":78,"integrity":"sha512-UedTVhKssPiBB+dLtX8vLniWpMFjpBAfbvczo/f8jzcIXX+E/h9MCC1epSzm2fCNi705h568lDR3uzZW993C1A==","signatures":[{"sig":"MEUCIQC9VWx+7YdnRTA8aETSXomYUQm1KKI8vNHVkIBP/kqCwgIgGC3twPuFRsGpxuM2WcchszbvhlIduskBkExlJFauzEA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":539384,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgba4lCRA9TVsSAnZWagAALA8P/iDlJ5khCMkH/o9/ASIt\nKcMRTCaktl2KB3a1afNGfpGK7m4IqoI2lfFUIYYWKBrlxf/Blt/3VUSzYc9Z\n/16aattDWWYBI2cx26tdRVbOsAXHwPU0jPtvlf+GAnyl6tmbuAkzA3NCl7Ww\niRPfu1kBYlO+Kk4MLK+jxu3/Xwxv0biiCRwYiAXp03GLwpkqyKA6Kg92mg98\ncNm/tNOdVWAjYwNdxnBHck7XpT+bw8c2wvD8kRrDDW16pRcVs31gczHhUIwm\nf0os2IfHMpq33B61pj0sNvZnWWwdRxosVUJ0xN0+guIlSn2KBEyY99tnKy3M\nRPCrVJxT24Mf9m4O4a2AipPwqVgWiSIaTNrVzAsgvKb5yNxnJhlOi+AlVCo9\noJXevyNFHcv4jvCt/fWAH6Hfk0nGwtqe+hYUx4dSBxmY91VgkEuSZWFVxl8f\n5FVdq0uVaTKLREgZFQgVReFlNTFl9BeXd599+xyvHeNee3a9i199I8xbMjzc\ntPyLoOrPnuSbvxVb0aQM5jAV5JytouIB0uv5K1eS47LJb3WClJVHBXXRmmYP\nohyifQEEUj/1xY3QXegFJ+r2YvmbC57oW61e7BPquMXcHSjTT15F0nAMv7/v\nIErgAvrNEqKoxlI3Fzhmv/Hfg7prKaEPvc3SM/2XyINLi9rolo729qEkRaio\nIAyA\r\n=7Lfy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"ff9b75a5d64c61312b8fec6cdfbef1620a8ea0ca","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.21.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.2","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.22.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.23","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.4","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.1_1617800741087_0.3039494079063718","host":"s3://npm-registry-packages"}},"13.4.2":{"name":"@adobe/helix-cli","version":"13.4.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.2","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d246c4f868ee1eafd5c1de623a25931fd9d33b8b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.2.tgz","fileCount":78,"integrity":"sha512-2wkrnfkCE6oz2OhfkqybL0Ra9UkdQBRBVY8K+IJMauKRjxlPmH5oGx1J0E2YY+hdbinkPBSSxhMx47PEsy3i6Q==","signatures":[{"sig":"MEUCIQDVGAw3ZhUk8jVNj01v3u/ooS7Gl2KOl4qJsCNVDu9vpAIgJpT70ufdOH0BFs4S0hbbKgWeSPOh74bHNJvKTwO97rA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":539612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgb56tCRA9TVsSAnZWagAAcWcP/3jwsp4C4FD0d4L/tWyo\njUaj3vJnx1Wyj+4PRZBUK4iO8ReRxOx03lgokq5rNp33nsAw5p6N1bLHkZrY\nissV+XdbHQstFnMztVKAIsChlZ2QFBcZXCYBdo47taEr5u4QCLJIKEpZBje3\nVy5hd1L+kIPryO2eUEmiyt/oaWZD3A9z6i2WBWHoZSMWwSjnRv0+/E1CipwO\nm4BnOzi2LUYEDseFpKllhoOVQBweYA2KzYb7nJRbDscjS90F68yrpnQAvbaX\noUrGxzypfue3MWyzlwNyOfv9OQ0JB6B0mSmhnOhxhdx5xVXjaXnzsvczgXlt\nmiynZF9oYEQPYyA9d4MHl1pcSJVVmQroHhdOkfuHFJBIuNaJqbdMRKzV+OFd\n9l4WR4RXj2sVLdfya9TldKWwEfnAMevIzlQuoCjvuqmHtQOz+GjCy411dMTs\nZESGPc2bIG6NqEIEKVC2n7g4kozLytJgqbburWSa4ugZmVboydMH0XqB3nL0\nUmA9UYBOMjJj5vHErvh52DhARm81bjFD7E+EsOUm/T2I8LudoKMB+oW5h4rB\nUxJr+j+77xIZz5r0k4QKzlc8lpuMBoX5J+w+7RAPJYgkJqfJwsNllW4ZOW99\nkoNGgjJygwJCwaBuv75mmmQUtjVjVmVOBMN/bPu1W1J4QPOptooGjnQIWooZ\nFpGt\r\n=HKe/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"9354712bbc28a1ab4f8fabfa119d13f9316e5639","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.2","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.22.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.23","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.4","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.2_1617927852977_0.6525709171775413","host":"s3://npm-registry-packages"}},"13.4.3":{"name":"@adobe/helix-cli","version":"13.4.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.3","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7ed2d492bb99d785f92c57f6e55e17319047c79d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.3.tgz","fileCount":78,"integrity":"sha512-wzSACyWIIV96ix9enAorBADPETHZOXVKKDVQGqq9gpbGwsdTuflhBVXgHIQaq/Idq6TmUZEYve6+5OrFLp+Fxg==","signatures":[{"sig":"MEYCIQCSuk0V1LwMP1IkM9SM0t53BSkCbJmK7Qs52OMvXesf6gIhANS4KV0wNLkFMueSTReoQLEAdjTO8KHfx8WjiQy0Rhsf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":539932,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgb8DFCRA9TVsSAnZWagAAy4IP/3VS9rAEifzTBpYyIdVk\n2X53aJgNNSu2gLpIgroRroNUx2X/PmaJv9r09YAN1ylrcrqAGAoHW2/YOKxv\n8jLV4gDT8QrnGJuqnqqrIZu2xEF8e20SCQ9hlmjqeYAOmxcg0K/DyEj+vkMB\naGxgLPeSV5xN94xFopBBijT0JNwqZ6E8gpCHOBP9E1XKgo0sN/Szfjvye8JF\njN6Rw4MaecwCBjoF2oCkSXfm4mCPyw9stxVJV1M+EAGZnxjQF/o9eLBWZa0z\niIpSRcN6CUjG/7RIe3gpSHeCYOQ4+huZVjbDmhm23G0mux/BY/Coy4Wapuy1\niE/sDWcm04evYd22bBerG+NlwnS6dm3kFL6yJgr8kpQ7sCJTH8TFmv2FRmrE\nncSfPzkY/RlEDkPOSfZJru3O0nJ+PlhEl4YqhWF8I5AV7+WKf+EoKNFBgGyD\nuHuWc2NU9oFUShXDKkA/Ok/5zeftnsV+YiOEfnheg2qoT1hfwVaGjWwgSk3n\n5heBpub5qBbhiGDrq8EQMXNuy9g7TRRv6yJkmJIfCgn/M4ot2k0YwdmTNaE/\n1zS6ryzyOFYg0X4Op/PreAoWZYAFi8hzBH1SHklCBz8EEfwx0tfeUtjakqak\nmaeBXv4wnM0zAHwlmbxeR1rhKWew2UJc5aqOY92o0Y1kSBvDrae54jHj2eWj\nFI9I\r\n=RXIM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"40720259ec78d4342f183f7cb1d1d2ef82d2c265","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.2","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.23.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.23","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.4","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.3_1617936580526_0.4485290555847601","host":"s3://npm-registry-packages"}},"13.4.4":{"name":"@adobe/helix-cli","version":"13.4.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.4","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"53af4c2fa951633ebe5e5f734838c88474a1398c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.4.tgz","fileCount":78,"integrity":"sha512-9a5+MRAytMJ0+AtAZAfR1SQy84OwPTH/vFdOndyN5j7Y+OkAYHLRZbdKKgPSAN9burd3ldgAv5/Z0aF7RIlMHQ==","signatures":[{"sig":"MEQCID+QhUbHwUYxf/qil/oPhnf58cOaAwV8JzSFPEUB+0d3AiAxfn5fSbSyV8OYNw+RLs1ukXhP1+afq0zbtZQJ6D7cGw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":540255,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgb8YDCRA9TVsSAnZWagAADNsP+wRtzl/N+3vxDPaAsPWR\n2aPbP8XoOyhCew5VZNTAqBlUYpw/vREmou83rwYiK80srBgLxyZ6q37y09S+\nrAlqF8rFetZBVLrwOMKxhMAqa8qEWKJXsaMI/cIeJ0gbf+oyANUwRSqeQSTf\n/xTtr9lO3MFb2qWDDRrNf4ozUe/Lz72iTWYQ9I2xgwWZir1cOdJoD3I45Q0B\nk06pDNSG2+PywGITLkIa/xZVUyuPcUbdZp87fvjsl3i2QXeabCzDRzPbXC1v\n8+6gARHAXQ+CrpTDYdFJYZS0Ie7Euume96YdPRqPC94Es6rEuVzW5UqyOtda\n3yDzXsWLN2ZpxspqX6i4imH7rZAmAu/3gUdOJjnof7fW6kYZB7qw2qL1S6xp\nL06lC/zS66e+YhIjB5P2rsLAEQO7ZBsq65mOPXR/lW07Uw29Pr1F8ruk6qg3\n2dIoRY624dCnVludzX08bncvgHHfwrNNrdjPL80mInygfgJ/5r+hnJg4lqzx\novmJZqeh08ZakZu6LXEIzZPycKtETNzAtituyEv8M2GKbGltx506WaIXLtMR\n/s50K4w5Gx0rPhNh/UZImA3rILFtCwf5ufs1s2YmMV8PESFEeIwRKSLT4Izr\nRoMI2NKlWlsV/ETL4TOlkOAVFsZCKIMI5vm0zmUp60OG2MnH5tnLfMszY+CZ\noJys\r\n=KXI7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"aa941d98c30ac3df5d88f3a33746e96aab41e749","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.2","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.23.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.24","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.23.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.4","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.4_1617937922706_0.14390536729604286","host":"s3://npm-registry-packages"}},"13.4.5":{"name":"@adobe/helix-cli","version":"13.4.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.5","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"57d9bfed15ce25c2ca85765dc632c295caa7c00d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.5.tgz","fileCount":78,"integrity":"sha512-toyDqoRKfl/tEydPYWJGPMgdr6WsD3vALOvXalwGeAt3n29YMEe0NJ0YaRIRLxbuf00mRQWue1IZ/8sFhZRbHA==","signatures":[{"sig":"MEUCIQDkRomDRhAAO2nvyG6amGy/f9SjaqBkGCwbhJfCTXgoogIgMKqBCck08DiU2umfNtAQvc4DRgTeaawk2VDD5lbEi94=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":540487,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgc/kFCRA9TVsSAnZWagAAaU0P/ju8gpIraLJ/GOElho2e\nZebItYIdn4VnnVjDuPdf/JnwlqEChk1JhxWM9ME6V3BRoHemLPQ5AmZFzbe/\nzPlQaBPt//KDU1qzUl6n1S5HpaaPyJuZZo5zTEqHnhL+VkiQRzzo0hTT9D1P\nVeN6Rjn+bOZ1bNbsKSNW53EDOKUjrid1JmwuEVEulw4r7xN9XiIpl4XcuBP9\nDRK1oVgLpAzAcpZUSfz2nkCjWVw9L92O4AoNSfIlpnVISEub7zwyFW6qNuV9\nBbMkHxXwF7PU6sW9/uPk8eso92x7Vljmrt8cwTPtqx8wHoxPpswoq5jphYKw\nKeDt2s27rBNlAjB9zceYLUZEi2lfzaBDRA0LCc2EhhVDhpyfbkfisGiuFj5I\nYlqDEjsQk25wOPEhRuC3/eYB/mY7jyen3OiopGCMzozVkK2LQVpIgK5/rqp9\nNCZcclDscBBKwJQv7NAHyYLIAPSGoV5H561TDnA0yHQyl5CRCR6Z85AcxSvh\nuQPjqI9jSkpxtmWfCH6C8J7WSmuitKIIK49rAYu8yC2BzL7CbWTsVkmFKptd\nEC/KKEuRWGCbPn8+Eio5RS7dPNgdDYaU73sK6p87ifbUG9ksAKNrQSqFUrOn\nCVopZBZfmKbsHbt1pFPYPYjUdgCYUdkAzQOPIW8rkz4hjjiLjeYJJBDQA1PD\nquqz\r\n=5C7A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"b762c7b7da746a775165ec56a175c4af83047a19","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.23.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.25","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.5_1618213124479_0.9124456942697161","host":"s3://npm-registry-packages"}},"13.4.6":{"name":"@adobe/helix-cli","version":"13.4.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.6","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"96eebdfe2492faf4d2d1755c7ec42779476de0e4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.6.tgz","fileCount":78,"integrity":"sha512-vhb8zetSJgs08VTxREKW+fESkU/O0VRULwEG0/Ru3u3faCch7nq+3X5LLJKbTK87oUQUivnVNwTY/bjkPURmpg==","signatures":[{"sig":"MEQCIGqzi8fEaDYvrxgCTPTPuyTkm0mXA/gdtrnZmjvLEPgfAiBdB8gZ13NPbjN3syJL579z5CmbQZib9LldW565mgR1cg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":540752,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdBtNCRA9TVsSAnZWagAAbGIP/ja6+vnVPPlfYIbb2iSW\nGjfFircspQiqr8Og6qgHfqRc1iI4rxalOhTot+h6R5YA6WSi1V2nmFMk9NkE\no5asI4jMvncFyHJbogEG4fKP3RmsN3ulXElRIq0PrAb89/tKTobzBNxbF0rE\nzIqEsVd+WMCDD8qcZpvYMJlFN9Xi7I9vT3Cf/tLH8pucErBbTp9qHSI34Vvq\nUQGcqm/D/CMrmIFcSrNhJPCUAukUzjD3M6AItYZdnWCOLa6VB6tvkerRRnRa\nGnL1MWvOCVzzNWiUsHuybl1MyZmHM0pAEFXH+Y6A2XtR1POSIRRcqKN96+lF\n15BsxzwQtCsnRAAAYmRLRx0xWsWxl8mpvUN/KBN3IryDqPAW9Msm4OQt6hxC\nojiu1cVeSCaN/jhjqspaQkY/PpUPtWNBBtVVAws440/Yk8CRxBAKRsxQDwju\n0vU6TiTpzBSo5SZEY4BuPV4SkxRzSJbqSWot2jNJa3Zwb/Vx8BT0p7UXmSu4\nMs8CI3WaP+bHaIyrqKDarpeFk+4M8dCtFMdaJC5Ia81rt+Pes0Guzmk292F2\n7cKjsnfGy41rpBTZVSlAl1ft8jpq9k4a98lteohnW+dB339/q+72BD9oBMLJ\nlJOw6QVGyujmjk2wLwYxnctk02xRBWpJCQj0fbUo49V1sQXh3gc9pabZU08X\nnXAw\r\n=LwqQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"1e677b442ddad0ce557e65a786588c9b03b72fae","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.23.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.26","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.6_1618221900993_0.27544481336817683","host":"s3://npm-registry-packages"}},"13.4.7":{"name":"@adobe/helix-cli","version":"13.4.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.7","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d06fdbdf056b19ea5d08f3d08333667762a2771f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.7.tgz","fileCount":78,"integrity":"sha512-Y6OG+x2BWaN11eA4L2iFdQub/JlOmeXGbuGyV2rFNih+WG31BqZG78O5K7GTdmPqsy9XVYzD/gTMvRJZGS4ASg==","signatures":[{"sig":"MEQCIBrVXNkSDtgr+nXwPOjTEoIk83KyJ8+59QpmTgaEIlAPAiAsHTJzK4eRuy9PKn1KGu1A5zAFi+6M0wN25YeP+R92tQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":541014,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdCWACRA9TVsSAnZWagAA5TwP/2WmbjCiEfSjrABcfJXZ\nhSjXvCxaJ2fAQcrTxSZnqCErUtk21s+tStyn0aute/QLA7RNOIzKUDTDc5J1\ntv7HasyqlidZABgaL5Dg2VXvIY1G4ky4LiwTAoR6bz7giYp3KBn4J3Ypb4xP\n3tdTndrrD1hcTx7wz8OewZWd6JiB/04Ju46Y85fA4ZhIm1OMQhodEvl6DC27\nJu28OX/8mQMzYGtoN4SpqsnDjZhssv+jtI6G3X9uJX+FbZ50BEwzZTx6OyqE\nEioIGHHWIwQfkSBftL/Uqs0GvEtyawtJ0dhTt1RctfhzptXSVy2kyHo7h+dN\n4OuT/X3KWfyLwRf7EE/eWneBIoFAXD4HFPz8MwaTTBI+KJmhTNtcKvdA7kmc\nXcqd//BVwD5Fy5214+Zb7uiNEqmKXKu4+v9cXIBB/0cowfnldfoU8qbaCJRv\nbjf6EVZvr5gnVTIA+8wK/1Vrs9vrEJlEgPhqYprB0OU6tPQKaXBM+ncvtOUv\nOYU3BoHDV9xrARlAVKu0ZYsTzAdIzWZY5RMPvmCwkgtbLvjzKH42J0AXhPMu\nGhGEIDDhSc+vtL7+Qhrl9sjouZFDb0GDB64VzNcdRjvMihsn7OW1IyRnH8Wu\njx2yk/nojpj7RYpghrj+tHq+ZN0dfCimMEd+2h8MJsIgXdpeb+lzkGXfs+Ij\n3dpP\r\n=SuOe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"b2c642dbc6386cbc96e36bad928e0e5982bbcdae","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.24.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.26","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.7_1618224512419_0.6497046130246495","host":"s3://npm-registry-packages"}},"13.4.8":{"name":"@adobe/helix-cli","version":"13.4.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.8","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"828ef1edc501acf1ad0a1e4d98ca34447730f26e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.8.tgz","fileCount":78,"integrity":"sha512-QPLWcF+UNHwoMHW5/ZM6VshKJMGCRQOLIYJ7NiwwvAFTxNfzt6w2b+5R+3FJSmoSFZvvE9PuR1Yk0yBMSaP/sw==","signatures":[{"sig":"MEYCIQDJAU4IkF636C9rAU1DcDLxV3mELUs8rjuNbg3kyImlnQIhALFVY41HCdO35u1RILGN7mEGqCnFVPZ5+kvg1KikNGWk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":541279,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdFgRCRA9TVsSAnZWagAAiUMP+QDrHWovaRy4taslcYYU\nXm4ALIWCLIBOz6irog9tVOCmTucTykfahosUheoScQlt4PmVc3qk9HSs7nwp\nn1UzPKkvok3ciDdm4SJSs2jDBJwc9jtjhdUr7FruYlouwSVcw2/rs+F4u0I1\nFg6TtFszTSj2igqMjyE8K2DW7r+/wOiP5QDNjz4P7Lb5gWUbl1/tE7nVdWx0\nfU1Bz9HbkXNGNSeibo+bdaG/Cc6uNfVl0ZjXNWizOAokejQ9cvZR+mg7ictC\nSv45pfyrwhzwjT1bw0kHICLZxZeS/ztO8h+8HSsiISm9dQfJcp9Z+j8ygk/i\nUtXe2QD2ONztOSlQu7hCRUJg9/9PJChL7bHPp/tDLeynQYw2wXeMJMf22b0T\n07S2Bm5snB5PhtIF8QlmRO7GOPFM/fzrsv1aCm3/n8y9tdMHPQA48us8Pk0D\nPHVSWz5bwy6UMsgyvjDPGTLib1XL9WqRC+ZOcJyNPT3aCg9Wf45TSNOHlqCq\np3OW5FKXKV+3eUOPENGYbvt5xkkDzd+ncjSegbCtUeIHJVEmUfJHf3uJU0Lj\nCSscocfPAtDQAazMk8S/lQMyPwy1VAqZ+MISwDbSgaHS6XEqMweoRrITZRUs\n7Xf1/rWx1r7URsaSx/lyiGzv41n+eQm+pjmBi4q2kl1DMhV548YUjiONFD7U\nzuiy\r\n=6vmL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"8a1623eee82774f2e51952693949aa786ab74d27","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.24.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.27","@adobe/fastly-native-promises":"1.22.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.8_1618237456663_0.6256673255152565","host":"s3://npm-registry-packages"}},"13.4.9":{"name":"@adobe/helix-cli","version":"13.4.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.9","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"beca1e05e1af1a8dc76ae4cc2e11ab70c6e209cb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.9.tgz","fileCount":78,"integrity":"sha512-3qtul0nsK9SFDV0UR5Invnk9wCyhYtM59M95sJbKbw4KHwCoxhYfcJ9io/fkD4caR6jEFUaWubh+veI1nj+qLQ==","signatures":[{"sig":"MEQCIHvPyiaJJ3i5IGhbFAbIw/BwaXedRpiSeKcARKaL3NVPAiAcnT18IEo3ILwJm4dKC+SKp1WWOMF2Mi7q/bQysXKe2A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":541551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdJRFCRA9TVsSAnZWagAAALUP/i2Q/+79IKJFczIxG40m\nBRwWzR0pebIj3zPJc1z9kl9mlo95GcUvDDkjpkKsZfWmbF+Uo7dT9dVelZR2\nndsIhlaopXggCRNwgyU86S01RiT4sxwBDV5DypAAZ02UZyLn7XsZr/BYYsUG\neaR39SDCZQ4YSEvi/iXcHoUdfHZokNvn+vP68RjqAXouWjf36L0TJXE/Wcq4\nnTcVl5EKd603Pc9LLupqEYG+JKiT4pJzOYq1Z5NjtKfe8YYEWbMOT5W/6PnA\nyOlpsU1EJ3c7yUd9yOU75KD/w8M4uczuyz1MdIlxRZyDQgX3kslr2yQAaGUh\nf0h0daPc/3fDwkh118dyCa5AJ7usZp09AnI0jEgV6XIlsvNvY/mjDjfhv5U4\nPAiOVLuCZkVSwE5pAq5hFqn4o+3RG75Hel596Xe3HntqLkAnIMkhhlb2Wixd\nwca+VTSrdZfC9GI5ueD8r2ERs6cx7a8tdw1d8c3wXkMjmsu2RpNKHc/owmcq\nqkln+ltePSMzUkwU0NDSGALDCWHYyFPEg8cwR7H/a7cd/8wnMnNHYhf/l7+3\n2EuOitcrJ8fzF+2/SJA1wX7sWF5b7np8hBHoxs4lX9CaqfwG4clJ1qVRssiX\nlh2ldRodE0AY8dtoAiVEwE7wVPCc+QnsN2pynRiAmaUacKxfu6tTXvi4lyNU\n9lNy\r\n=//lx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"cf6930266b869ca3bf5df156ee3b96d0d27df326","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.24.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.27","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.9_1618252868918_0.8776744031267869","host":"s3://npm-registry-packages"}},"13.4.10":{"name":"@adobe/helix-cli","version":"13.4.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.10","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"68dd2a5a6be92550504dbe2449f784ed13afa105","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.10.tgz","fileCount":78,"integrity":"sha512-9WXjny6cVdjnvMjZ36cNtfgBzTCwacUGiZhB20OqVAuMsYdsUzuGaYjeqLyeFRi9Iw1s4nYQe6+WamCIBMJexw==","signatures":[{"sig":"MEYCIQDcN5CkIJ8A3/v45199Sa4GXR2BeQUAZdnFIQTOySFbbgIhAIeN/DbnHdUa4IZerVvd6weIArL+d9eettsHdfWiPOUA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":541844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgd/S3CRA9TVsSAnZWagAACA0P/1fQIO+7Sl8OrDYrL1rk\neclOemb3FOLgeDFHcbHlaOU8MzZHdCv4r7bOXofIth9JlVg+excI2yJf67x/\ng5HRiAkIVfst/EVQQKtkaYtqwafR9SqX3hUFEHif17ltPlRgcwoPpSKGBz6q\nGQV93AecmnfbCH7VCMDBzCy51gJ1umxD7CJAds9iXMxION//nd3n331xOxsA\nc6i7eCy4Af46unpnVV9AL2vHvLJg8bIBGlLuheQwo2gDR7K03zbCzKCAx+C3\naHpqzpRMXq2P4mIdKjc6+P+TbJDvt5ETpR6b4oJdd/pT9B4B7OKmeqKvdHRE\nCsN7e1uRcdbsNLKRC2VlcYlPlAhWHqo+rM88x0CrCAw7xr3vmohnLJClFwkh\nMyeNeX9lGX1AGb30dts4TDYhMYmRZ/V+rr8EGf2KVTZYuT/4/rDshGK31wh3\nB2Q784sCSW+Y2R2G8z4jZaUTG0qPRoa8bZs9ddNJBl254Cz43zQvRm0mGY0y\nJLaBEiSsHpEbz+TcvWQPqOcqo0Q1AW6tXEWSkwiseM2lC7jg8lBdgc9E5HrO\n2zgDixZrCtj98vsX3sE0UxnKAuBdcuAWefzaKs+tlNWB9SwkoIlT9LOrctNO\nFCeb0EZ0yIuBP3RoMTNePNWv0iqWNgn4YVfDqHW8ngQVhNpacJvw1n50wNwU\nKWFg\r\n=sAt2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"a2d555c414ffacd2b1606abe8792b0f498e0d2ae","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.0","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.25.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.28","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.10_1618474166475_0.2989248774579383","host":"s3://npm-registry-packages"}},"13.4.11":{"name":"@adobe/helix-cli","version":"13.4.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.11","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"346625bd493ccdf81d470656751e2b582f39ae13","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.11.tgz","fileCount":78,"integrity":"sha512-HzAUSE0hVS2ma4LZrsaetLiYRm8AFrjTfpeIpH5Mvf1Qqz+2Ul83UqXYr2Zx5VjJfGPMALDsYdA0usp2BDw5yw==","signatures":[{"sig":"MEUCIA7IzowXkfMMKlQLWo/NaEvcKSS0cyzJa0iKqMoK/DlEAiEAxM4xhlFAge5pgUJDhQ0PQnMERNlQQTbnOIYSJ038CHg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":542079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeB21CRA9TVsSAnZWagAAuv4P/ixLzc5i29bFCP9EaARb\nXI/8V0QvqfSvztonb7JzNfQ/ugNKPpC4ETlzHR/FnLccG7pX/xX9CnsOf+/L\nd5xKl96om4yPmU23Mp/xm1iVoB75C+jn6m+vtygfnwHg+93YtiiHNOTvUKC/\nsitLElrEEhXCCkO4TAabr/7s+YmFyCMA3QxLUFq6Ur3R+vc3HVtp1uufpTVx\nYA53LZaoKkJK84jGs2nFGs+1Tqt4Su8SOmMY4B6vTm3PEzyv8MuMUPseQ4bv\nWaNtiRFtSquEJrEmrjzPKrtta1aoKu2Ax2L2Yrzul++cdSVhoaS6pke5nHuU\nGPmxoYA1VXt0TiKoq7LYfAaaPomd/rMk2RxlauJP0khLOH1U4Fpa9+DLYMUb\nJ3Lg54VsC4R6wDZXljfdY3Z9PQ55D8/pfGGDeMB4uIFb3/xwPuwFhD250o6V\nNakODAT0+vcMStR3XxI+TOYIvuiGrKI8nALDTnOcfsu1V5yMufwhsHt5Ki4O\nzqvAXXJgEufUGFKAgH8F3EtflS99xatQgK6cTUO9zNGpDnGhJ+MlUSVUdhTO\nuNoFL9KPXn0pBvWeod1HIvIK30r3bDee5nMuI+jLbStYZk/B3A1VxpkLVVdK\nftswcIZ0pw1VHDKMfDr4R11Qvx8jHzwKEMHZ4Xy5WX+4zNIs1jsYa+ssef7t\nxWJ1\r\n=bZBM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"21cc7d382c959dc910e9a2f20bc1b0fd2c73e0a4","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.25.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.29","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.11_1618484661174_0.9734744698461142","host":"s3://npm-registry-packages"}},"13.4.12":{"name":"@adobe/helix-cli","version":"13.4.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.12","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8e660809002fde29dbc7b2cd02f656add4569e4c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.12.tgz","fileCount":78,"integrity":"sha512-g1DkGO0d+Q/TT9fCyHrX9poKb+87p9ByvpIiCYebadjPuMZD9rjVtrYLd6IOHJPktBhtwG88k6AoRJ1QmHtzAw==","signatures":[{"sig":"MEUCIDYsTZ5bpUpr6wNjdlYbgstp6V2myRfKGWPP07Odk6CYAiEAyHNgv7tV8PGWHg95Y8T9D4yo6RxU92UzlEPYadfFAaQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":542344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeZpJCRA9TVsSAnZWagAA5TAP/A2zToRmFN141wNUHctP\ngPQinXU8TofBrr9n+9g3+Bd3KhyYo2beNCky4TAclcoVJ82kMXkXoGngndyb\nZzty4247HLVA6u3dqAPtEZyI9/Fh2w12aP9HD5BhoCVf97tCJQRFl4Zhvhj1\nL94k/lx1h7d5W72zFJp6L5gfw8SjmKZx0NNKTION3rK9gSXm+HBN4KLGMf4m\nyQ62RszPyGo5DoCUhyEVAWo0j8MNuA8ZaEVWVqox+GhnNKFo6wbLmMfSuA47\nqYvsiz+ZWO3nRibFQsfa/rmMxfG2nup9khFUW6GdznBav1dOxJt56w6RwSea\ncy4L5UKkfMsmWVcmVT1dfQDWnZoXeH6He1l/1nWqWrxElmkOOV6eM/Shn2cd\nY/v5t6NU3WWz+U36+DaqLKqDFhpBrR9JQTRGl6TpgepFuNO10dWp+wX6BhPk\n/yhV+Zb0Xsps5Xvp14cU3z09N1ehndp8x/fmXB8R9o7LOlS0vW+6HrYDEDVX\n/lOaoJDYtaWOg6zemL99UROam8KT7qeGfIHZlUcy0gtwP9AOAguwFD4IuBAS\n7zmZxLAtZYf4/BPS/cZZ4PAdelT9NbHbeymnWRQTrUcCH8w9WFW3C8VkA8Y2\nHDijClYndJnp6a6kGlM+/qgtnXWk+7UTo9H8LbPJO0+IreA1j/S+Q9L1IGBE\ncnNh\r\n=4atr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"07a5abd87ed543a8a1dc4ab1de83ee430c2fe97b","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.26.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.29","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.12_1618582089255_0.13242500796619394","host":"s3://npm-registry-packages"}},"13.4.13":{"name":"@adobe/helix-cli","version":"13.4.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.13","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ad0380efd34fbe9d0cb3b6a11d5d4f36c188abe1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.13.tgz","fileCount":78,"integrity":"sha512-BlLzbYa7MCEInjnpH/zhhGCkay81e5Rq57vF8mF+/egNLIilvZlHXrhtVkUC5GvZekjTSbY93NI4XBWjREGigg==","signatures":[{"sig":"MEUCIAM6EwLlWjEu9VoHqAlpFwPd9WKjJlhsZgq17Lgkgi6EAiEAr/63T6//+4kpB1gn0cdUaSmpyXIouPoj5JQwPTELTKM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":542612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgebNYCRA9TVsSAnZWagAAoKIP/RMewAAO+K4AUBPAzOv1\nwnoFvpt73bLW0Nbb86abPF5JrLwVP4gV+PBpBU6rHEZMthEaHc2pHcW8IDIO\n314qonhA8b8yiiyIYBDot6HNHUa/oLSHIvTbrz7mTIB56XJ6WD1EkgpUZSjX\nL7judFCPz7JKnSyOvZYSw212nTN/7xdDb5cN6Zx+aYQi9RQuUHN4rL88GNXy\n8ITNzYiZ6rfJzWly/8+uPDZ6NezXSJKG48Nb1X2XzsY8WR3Z3nC2TZkI66yQ\nhaLyg6DqnLuj94+hrH5muBYTNo7X/pGTjhq2gSXxIeCQOAjX4F/HaBL2V9g/\nimUsB6XLpOviw1CLXAAPD3jF5eUpmvbKfE8izyJJCcJmq5oHaBZZsR7UAGtF\niEe4h97R9ZyHU2KVxsP1FE2XpZBzP84ddp5G8mlh7+++36kuOpRDpVS9g1BV\n306UkVJUhPCNf1lGJi2bVs3Irw2NpjsikjGmCQAt3hjRcNjMP+dkS1K73Ixg\nSIRdNgZzRe/Y+5bkWXqcKcNH38rYD1NfOpub/vX6TaMOpUMbWCeluEPQwRWt\nrFApRwg65/M6Gg+8sp/4KbiSSoKNKTpAXFsYcJ06Vbo3RjhXBrldzUsIHYmo\n3dFnJusWoRgaYHEPTGMDdNOhShp6cndY7aJnaNAtPNCif0DUMiOwGoMdmry7\nyBQv\r\n=yUeQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"ba7607fdbf306432f712afc4549478f49b652750","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.26.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.30","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.13_1618588503329_0.8532922687212752","host":"s3://npm-registry-packages"}},"13.4.14":{"name":"@adobe/helix-cli","version":"13.4.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.14","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7df2d5195f7379e405911fc0662096b1a1d8f352","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.14.tgz","fileCount":78,"integrity":"sha512-Cqp0d0CVNYF6DdDHiq2k/sVBekwHV6Y8C4JEF8tnt7KZVY29bYxiGJ5z7EDmNiS3HwDQ9sKQckqHeEA170Xolw==","signatures":[{"sig":"MEUCIQCGz7AZdVPbXB2FKSyBFQjoffrdBeC0f38du8s3eu1p3gIgAztVl5obHftKkFqS0xl/GwOHcsPOSd0lYI2Vlg8CX6k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":542880,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeuLuCRA9TVsSAnZWagAA9BgP/3YKRwInI2UzCQ8KjLSe\nV3SkZk1QxPwv3cbOG1xPHm8UuMsLdTGlU7zcc0rohbXFFAdWEU95w89cj61I\nlNNbjdZClfUOVWX9fhAIM3Oy5H8oxOiW7YUqJqMg7b4sDjWXOo0FN8qq4QGL\nGHvQOtCuLyGZQzEIy5yiRCbh1TqPnaX9plbFom57+BaVguGGgWN7D2nlK3ff\noCnMH/5rgsFggKRYXs0zakQZKozv+rnzaS46UWBX/0lfFttWPQqCXxQlLuL0\nVfecS7jG0/gfZCuKpdiUD3lZt9LX5CzFVXazFpo5CjmafMeB4DzNIu3WScKd\nrq8lV213BmRpPl1hTmqY75gzS4eUq/Ocx6lAb2B6mJlI7xqOjCxCfrjBuNqO\nApb8zqP2OQHazsPTqWp0bZGSbHawMTavWhQdwDN57tAF/7sxhNV8p5qwwmDL\nK5eVOuTOjdInz0MYm1u5mdfpsMOwhkmU2cbpvi5T/yUOV/2s2haP1SQRIBRp\nJOU7B2DGi+yZ4oh/zhdVh0epcJzF8QfM2+O2Zy88ilfxQqZ94fPM/FfYWpLd\nwUrI0EFguwOISAcHvfz8Y5qa4ISa/kQxS0J8TSogXMQGQEx7bOLE6WbQOfLk\nyXdwRh97ngSmN/D7dE4Ski9051f3hG+GKykokSMLwI6FQj5k8OcW7VVqYN8E\nSex3\r\n=c5+8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"7366ea3da4190fc9b5fa2a67b5a3ad985d9e5cad","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.1","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.26.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.31","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.0.5","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.2","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.14_1618666221547_0.11195280814531516","host":"s3://npm-registry-packages"}},"13.4.15":{"name":"@adobe/helix-cli","version":"13.4.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.15","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"eb72bf60c156e72e57c2b0604d755b3a6be06ad7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.15.tgz","fileCount":78,"integrity":"sha512-89qPpVK7Z39beMeEdkrmYs8aPKt9Mr1rqg715CZK4pex5PZ/ti0EyVGZtYrjddBd3qAO4+ulE8Pi1Pa+7wS2xQ==","signatures":[{"sig":"MEUCIQCj4187SBPSjtp7GKXESMoKYDmWOl1O6ySQi0asFBVPzQIgM6/kN8mghYTrvfoqqQZTc4Yv613nBugk5fJC3Twrm3M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":543145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgewzhCRA9TVsSAnZWagAAfVoP/1jiiAew7tNdbEfLzaVy\n03UBwlsVXGQpIGbsVAWmvEp48iSTbFD3RkuwP4NJa7VDa430nVcMsigh3Huj\nens0//5jTJAaCGNvvscAMNdTcvKnPgZZlV9WUUykmB49g+lKa5ED2vwp8Ean\nSA9iXxkbFdBkRcNZxX7UmiFTTO8Jf8rrDOuKiF5w3W7QffXsyPWs/cFmJmvq\nAp7pH3ZFwcz5VWHzvDZRPQcjuX7XE909V423oYxTTLHrEnqtUNUJNxLEX051\nbiuunxkwK7s0Oesihd+ZJCfUzJkGV7r45EihCOkHI3FQ/91jvXpYuFbhd0iT\n0tXZMjLHi98FkcLDBNZBb/NB4cR1wsn6a96NmqPvSBFuAptPNS0YajeZCpOa\nIHzf81Y1WwQTHj/R17rJ7hfsQ+B21qP+Q7fHkhv0YKjtTK0Nh6mz5LVT96H4\nP8EcErczK4UjcGDi/uhTerxec+mt0BAuD9R55HSVOEvlv9uHloez1Sk8EgR5\nkylsQrzw2K6be/XWqyECcjdQ3K+Dw8HDpJWBkHFcSSWnejzeqmqTYwmRTu05\nkV6+/LogW4Lq91TZvnU4QjwY2KKDWYfV6nKteu9UJ9mh3PL1HZ4tKLY1sJYm\nKV3ybK5TjUY3e6ww+ovb0kZH85URRg+/Z8COtdRbeLxtnPTBWmTJeNO7bcKp\nE41s\r\n=v675\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"037b52a2133d8910fa2f2ddc5b3c1ce14da153fc","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.26.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.31","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.1.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.15_1618676958770_0.9589346264721041","host":"s3://npm-registry-packages"}},"13.4.16":{"name":"@adobe/helix-cli","version":"13.4.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.16","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7e834bd51c5f33df5da1d09b13793824c8b80ec4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.16.tgz","fileCount":78,"integrity":"sha512-4T7vcpeWley4/SX6LgVUr3xvGXfBI30hIxB64v9ixDUePb/ZyWH/kSiZMKn4xuqAOv527eY8YuC4lcDKfkMvMg==","signatures":[{"sig":"MEQCIHvgJRV9V9g2SRdJ1l4pPGvsv5cUdczgdXBaivAno8vJAiBFXNJAXxPzZ2A6+GnyC/3dPfkebdWzZjxDcuKezrC2Lg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":543413,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJge0riCRA9TVsSAnZWagAAyGMP/ia8eDDLQG+23ZtqZ5NM\nisLbkw3PT0ve+bzPoKdQy7hKgCzWlp9PR1r0q41aiJ/msq9dVg8CPt9jIMWj\nFANp09oOkvrf1L3/PymnTC477HfgyD2v0RvSj88HJoGCOu0Y4ncg6d4H9I2k\nx8/YggiD9lA+GE5yPYcwyvVfeueSa0jqf7xk99hyoj7TwnT2q0Msrze2HanF\nqRfbtFkjjycWEEgyoozBjkR+yV+IZ0SdBptgPj0sGJL2yalzLhW5OA2etFqB\n8KRgMWqbI3TGaK4UXfLCaI54QMAwO2lVyy3j9kEyuaNxPUBaar3YZulxhZl9\na9hbFgP9kxz313ki7TP82nprh/8Y2R8C2xjaLmIMP7s31vSNFLIDmUbXDt4b\ndwi/LHaQvoR+1i1/yBI6Qgr15OzGKFXPncs6Aatr7gO2b9IhPgbMuGWjVA2K\nOOwPszBf4GKENBtuDY5xcDWVh0OmBKTmwjo/yaT5yWrSfP5NCTHflknWrMYv\nsAaRbJ7HgBbYlfB/6dfPNWrW9F73WC3Jhva+8C02n+tgyK3ohBgBqkILkE1F\nTOxBCc3FpwenQMhAroAfDFDqfqWHs7bkkjNtBZCpgEzEWBAZjwao5kZ2MHp8\ngohxBZwcZHNh8jStDlT6dkvVzo/rJvNXaczJzUuoCogOFWTb/lZ++8PumJ+n\nwbHW\r\n=B+dm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"e0b6f3cc3844b3f63d31df9e9660b6ec21ac1e0b","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.26.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.32","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.1.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.16_1618692831571_0.6485626269854186","host":"s3://npm-registry-packages"}},"13.4.17":{"name":"@adobe/helix-cli","version":"13.4.17","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.17","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1cc9be1205386d605ff2fa86c659e54522652e99","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.17.tgz","fileCount":78,"integrity":"sha512-lbc+RFSofl2Q9ndZkvmdXnmstnHYCVtnq7EBDQm14xxyqw9C9GqeeNvr3Y2dW/P9ha2TdsOxC+k89tAn4UAX3Q==","signatures":[{"sig":"MEYCIQDQ+H8FCwA09hWglQfJI9L6ztkYpT/kGZIFU9gdzsCxGAIhAMNy3uAvBjJ0GkViUs4XaUQll15G8NjcRgRpGLqLasYG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":543739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfinFCRA9TVsSAnZWagAA7jwP/3jYgypcLY5zDzA10MBu\nsHI+XM2448PiK2GR4t9p8QeH0bFMOITjEIAmJyRfvaVzUYYUV726RhjV+dDP\nH/dhduDQ7WVJtd1F6fSTlBU5U5GlEzrM9ryRf8blJqGX39KuGBRhinJrctfm\n6iEBWLXMygL5Ucfy/ti/0iHtKyeYHNWtqNE5zHd2/lcMY2uGnN3EDRGQFoSG\nhAO8zSd7txSl9XO37vMJyc+NNMa3OphSUDAqajdrlWJpGUNdBupIdYDtkcw1\nfGBk2PnzIv5JuOS96z0D8pV3G/I3Z6NUBImkdxwtC7mf7Y/U5sufiHNM8wcC\nb3KG9AcqBtegV8MjEBvrxrKpmU/AHv0o2EKKjwWvPbFc6Hj50ynfnZ98NqQn\nx50tcIgdVuQ/Ud9thMvl9k1fec0IVhQF0zPVzbnq/49OqfqjQXGXw+87+qfK\ntQ+Ptb2uW6p3KhJTy8tMs2pNblcG+phnWFOkcCoaBvtKe2Mv0oh1f9jNEc1Q\nniOsIx0xGpcWY2j4BOab+9i35sIR5PvbhJwcvte3jkUvAqh8ifhy7ky4j5hr\ni2Ld627AYxWdxEeGfTuJFylj4nLWw6OKXZvzMG8oJtPzpX6pZey2xkMS+XyW\nbmpvEjfQ/8Fs46INakDGE05SfVNI1Yw788KJuXg17iixGHYBCNrFgPfv+NGj\ncbX0\r\n=KJuA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"2b8873b5a04048ee2799c05e7e2b59f44f9ca147","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.26.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.33","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.1.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.17_1618880964389_0.24483379901516145","host":"s3://npm-registry-packages"}},"13.4.18":{"name":"@adobe/helix-cli","version":"13.4.18","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.18","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"062fdfa2cf3b412b87a98a6fd92f912935523772","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.18.tgz","fileCount":78,"integrity":"sha512-8q4Y63XNInQXf8BYh6BTImZG/2JWNg781QsX01aHdMCov67LEqw2z8OctmLDfeb/A+JR9lShUjszd3rptC7Y2g==","signatures":[{"sig":"MEQCIQCha/chf0LktvLRyuq9G9WxZIjkouAImaEMrohnOD63oQIfOD+3xwU0++pYTbeZl1r5fUyHUn3AltzkU004VwWHkw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":543974,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfr9nCRA9TVsSAnZWagAAwxcP/1QuWroumV8w8AElPDZS\nJHLDxCs6VS3+1sFrVDBidzGxCbX3c3DrmnGmK06MDhPDY9oA0lU68H1qvHD3\nfDDQr0FKBs2ZE7AtkKz2MHK0zf/BcuzvuOjYyj5lUe6y9vGDHS1Wg4Tu0kak\nU5KaGf0hlp0XTHdjqDKdkDuMPCc1mAi9vFzAqMF+/Q8LuDL9ho4lQ72YcXEY\nZ0sWEtNovRUR6i667nA7u56SjwqeQJoGcWvwNw+8QvdgJeq//cfpd2zFxN6A\nfanYz9dTG+rKkjZvQmNpBWDUjznHfXFGP6pZbDENcZQl5owW6VqnvcXCvvct\nf34YjHW7we1WHgDxBkIxg9y+avZejdm+dlSbROlZObM4QnTqvFHtwM5cvZSU\nA7tsoiQ1Uuz6+1nuRbysq8zLJXU/7hIf4RMCMr2bfsBI1kQArvLjkiH2CX5B\n1zMszUsqgWmPYjbqm2QhL1Qkxqi5dm4QC3xR8NNr7U0FlytTj9iTO4Uvx6K2\nxhJRusladmEetzoIEJWra+yD0hi4Iqzq3h8P083PGgjbD9mXX4I/QRBGSsfn\nI3S65LfTU4YUhE0TXov4Xbraki0Y17O4HBxa4JhQ2YnhRtmDXVTyPHzSoH4z\nfrIzFaO66XphAgECx6lgNrgEwwzuwG+5K4Paq6N1VrcBR+bbLedwuPAS2YMI\nrOXW\r\n=HxRE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"40ffea9d95a556be6411d0403ff31b635479de4a","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.26.3","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.34","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.1.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.18_1618919271190_0.370966992130634","host":"s3://npm-registry-packages"}},"13.4.19":{"name":"@adobe/helix-cli","version":"13.4.19","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.19","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"5ac3ce0815c4319efeb47d56fef1933b61ece080","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.19.tgz","fileCount":78,"integrity":"sha512-6SD4bHm/GxNLPyTEwoX2gHTTYJMDLzBybPeUetwgJqN0ExgicSuoe3XAUQP0GM7ozn8r73jB5WmjU7Ey2dxU3A==","signatures":[{"sig":"MEQCIH2xPz35D6cyRANN1HRi8bci8c3RcJ2IajqIHeKqxQPCAiAurJ4ksBB6xGiWrainiC5ySfL5tQJeIBbRYBR9DMe48g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":544239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggrS2CRA9TVsSAnZWagAAuD8P/RwfKqLt8AEpKFXbW2un\nnSk6lApSUNa+KbEBhGjUKocHJANBH6BL6WjqAZej+lW3p+z5gWZKhAA5NqmU\nQuCJd4VwMR2gq9+Yx0/gLOxd5hY0XosasNGv+hc0FLIUovuf5HTxxiJVBCT9\nM1TUkz/m/MkrOd8zb4kTnU9fRMfjV74KYiJZQABUxIxxd1ZvlrGpqxqkjuP6\na3dJpGxLq29SDYeBBBI5ZDa6w+MbMcnx9P4mG3lvVVgcJ7gjRc8e2s+Mbc2D\n2ADyqkZ6iCIp1qTzugItROUyfPEJof+QkVcHSQ85ihiSDs6uARO1bhj9h2a/\nXw7tzQoOm/FKn8DmDBweIIRtPFfF1GaZfFxcmFw9aO7MUxCq6rsXARtCrFiA\ngjjeawsuHR0VhkdY8FTRffGs+BEj+2Dk6+Y52RMvP9pAMJIqRY0s7NzdB6Re\n1Qukb6tn65yJCWICSEOTfy/32ofJM2lkgSOF4vhgEJemR4FvlOOWEX3Ubx6S\nFBbuPyPvGnMiW5mhW7TJQxnNbcDS3GTpEnsb0rsyq0/lzlNdtEZ1Sq0j7bzX\n3S9brUx7hCMazTySXWQ5FvCZuTEoGQXzenrrX+DgFjpuxXXqtlZ473QwPSAc\n9zYkWsLvaePZIAwoIrhiTmarG1XvBO39sEg5JHz/kwPac+o16BxVNcnkDEZF\ngrC8\r\n=KqfT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"feda1a2b2d02704379f771a87c361e1592791a90","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.27.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.34","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.1.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.19_1619178677586_0.26994393701528496","host":"s3://npm-registry-packages"}},"13.4.20":{"name":"@adobe/helix-cli","version":"13.4.20","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.20","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"fbc2d1e4c13797556bf94b95f010d1578755945f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.20.tgz","fileCount":78,"integrity":"sha512-cL0YQLolaMQRflBp3Rc6BD4hSbOjaQGXbNlXMnMELQTlChUExY+xfeBOtFgvfLBY7dIA2uMs11/DFT4txdzb4g==","signatures":[{"sig":"MEYCIQDZ1z7XUPs8kF9ftC4/yzO4ttjJYyabXni1sf6cnipnFQIhAKksmEXJZUHBoq7RVLncZrNz2GwHLL14YmFXJ4UYZd3C","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":544474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggvTNCRA9TVsSAnZWagAAzOoQAJA4WZU+bYS+u6HrRI4Q\nGNjcE58qiKYE3T9mimj/T/nRwfusmsR1Nc2llpJvLsdDw5WSwCF1nHw2ANWf\nAl9CLh64S16/NKXguMgEwyRWVOQZWxg2h5F/lbWBhyAY6nof8QfiMl6MOFi8\nlaLnEa7TZazjwAzPeb8MtPgFUabgzb+o0c9JyCtpPt7Gt1B4ACIDXHtiHkMT\n6BoMF9BocO7jnLKZde1W4W1I4BnjDnho9Bxw3RvRKx2ur73bB4rVjfa9nctm\njlHu8c/xj5je5qUreCziB9lXDbViRLzjMQvqyJmPtTfDBDx2O3eCYxmoXBds\nUsuen7GH2z1GVSRqcaUNE3o1wzvnyNs55XIxB+orfwvSG1ig3SF6LRnvIbQz\n9oP1mWY8uOwyZKV77pDOMrODvoNTiH8fiT2aUZGxCI0RIKF6fLkf8YoyZgT7\n3ZN27mRzmU0Jq9JbYqI5tAmj29hfBD92vGX+vcaXE7GaOMyibGz6eIAQldwF\nN1teoMEPdnSsq3OmRsQAa18dxV8wbBtHdbQnqTNTbuVI1M4+XRafCTKelQYC\nuxEZgLTNMmfhJwEcrOqe1qMwNfmp3xmuu7Fn904fQ60WAeOURBnZXa3Cq+ug\nmEWM8Q5FhvZ2fHSy1jafXW9MaUzsSCXUBfct185u26WH6AHXLhzjiffq5reK\nr7ja\r\n=XFsO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"86cb6a5f694ea57f00d6ed7f72166d2bec673ef1","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.27.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.35","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.1.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.20_1619195084854_0.5296160432179107","host":"s3://npm-registry-packages"}},"13.4.21":{"name":"@adobe/helix-cli","version":"13.4.21","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.21","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1a869ea81d4308ac0ef07440dd923bb651e455c4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.21.tgz","fileCount":78,"integrity":"sha512-7JJbyM8an88fUhSZG/n4LbbZyFKYdDJfBQiiM/2xt6VbK0MpGj4QOHbkoOrd+ZzkhDfp2RwkOkrpOtaru7EfLg==","signatures":[{"sig":"MEQCIFxJNnwYnWh62bWG+4qBkCUwz3ytdVUoie8aYEISDm6AAiASgJqRhxB0RVJjlitZ45SQdHmZz8+bAgMAHjFAGh6Tvw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":544742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgg1MDCRA9TVsSAnZWagAAKQkP/3ptNqd11JuOFpM78iTn\n8618VA1isaHm4+DmlP8z8pTsr3zjGCOmj5zLsHb9a7J1co8biOP3mAkpj5oF\n8EJYxso1l5+KLSeMHQ4rhJ87A1GcjqrAWSiKoBEU3tLklgc7ImU9T/XyyK3C\nAtbcZpkJx25Ar5JE6s1tPK5MzBUv6E1nuLiDcM++cMHOqluS1Ozv7fLIiL07\nfdg2TmSEH1VQ9kmQbsHL6Sd5YzA0jfEaquKlCxgFUUZUb4X4cC8fHV3y/eMB\nq4sCLMGQ+kgCBInJLT9rVNKzR6mFqzrslmD6z9IeFVf800ykaw+P1dJ7F2Qj\nKfgkrSt9DcJJ5PH/LJAOdb2C6SobCAhnLem0rlQuKp9DHg9P3Y6JOuEByWf5\nNiXltGn23TCeDJ13M3a1so/h+wlltBqpKHYIVWhDCCa2wWxe1rNrlPh6DKlt\no6HbvwItBnT5Kuf09c9P+CSJg1JO3DiYP3qqsSxt+rUBBUPkiWkSrrVD+27S\nNznZg4gnf515srJrnxem2L3czy+Z4gNzfSeIxFnT6swXyqcFE/FSbAMPvsAn\n46AHCJPjhZ4HqeJyWfEVJGMpL7aR6GaBWRQf866YKrpp3gumdfs/SRs0A1sE\nExQmT5YTw0Mtor9kmW/QK3Co1AZrW8RxRopmlyaKIM5nnpRSxfqaItJe2Yce\nrSHX\r\n=x1T5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"bbe54e355915fb8431ef062bf66aa54a79b6d5fa","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.0","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.27.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.36","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.1.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.24.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.21_1619219203122_0.9629405227465835","host":"s3://npm-registry-packages"}},"13.4.22":{"name":"@adobe/helix-cli","version":"13.4.22","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.22","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a1cea54c9b461d2bc42dd0d8a6af2846236cbdf7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.22.tgz","fileCount":78,"integrity":"sha512-vo8H6pHN3ItrahvQcNXB/lxLHR3C2uvJcKf8byTqrwtU4+tlRtbBPZc7LOlYKqZmc2zx7a4/x8OjZzXl/kkusg==","signatures":[{"sig":"MEYCIQC78m0Y+zZJn60gj2HA4zI+4D5aDsbDF3QyMIGFN8Qb3AIhAPkCJWRV+jY3fotZZsmLnp3duJBfiu/KlLMVKdblRM5a","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":544980,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghEU6CRA9TVsSAnZWagAA33cP/jRb46TxGmNv8A7PDj+7\n0oqEB0RQL+rdAKb/2KaiNGqf5gqH1GPNtss0pxk0llGwjisejTSEVvRi9puq\niqycfgMFRC6saI/VB2j3v3CqudeZWXdFSY7AOddj5dKwIE3JFXipi6AFg/Ah\n7HTHiXvLH3arjhLvuoPLDJ1dN5Gy1BR63VUbaSGZ2AuOO/r+D+IssDUGCj1Z\n8REta1XGqfWrtWHYOxhkLlInS+Tvz+8Aafc5+bInkaBdFQs88cNZs0iBNAm9\nskxmqY3/qLAQOAlNE+gjB2OcsRFGgEtdgc/v/1xOxbP9SzxCnup6/QLBemDd\nyP8nl3lxgk+ad7gXQoS3iFMNJZJkBWYekWZY8VzRwYCQ9EUmQsBfSY0ZCSt+\nmvBKIFIrea4fKiRtMYyFjg+kH5wUa/xHCpod+0y5j0CfmFNfHjZ5eCYN68O5\nyZ8suoXiY6rn6rAraOAcntoDEcvlMr5HtFAp5OxiFcjFvrazQyyPAdPg0sKu\nEOHFzDL9unotfVWc1KfA0YgJE72WTVYb2PR714ckq780Hm6mSnj1m+Wwtear\nGENyG0krmaD5v4WVdVdcHsnedGtvPWsfm9hU9v1Kx31E0RzjeJWJUj2oXk1B\n5eAEIOtR+yCDug7oJVWI8T23n4pVSwS8zCF8g/AUA2iqpflmnYZbgLOr9Fp2\nWOWK\r\n=gv75\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"120e7264e457ebf8bf921bb7682331321c9e4ad5","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.27.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.36","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.1.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.25.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.22_1619281209741_0.19486750237527284","host":"s3://npm-registry-packages"}},"13.4.23":{"name":"@adobe/helix-cli","version":"13.4.23","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.23","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"95a77206c867e2650d1591bff37fb692905a71d7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.23.tgz","fileCount":78,"integrity":"sha512-IdCyOVuWbmfmVlKrWRgc+GOqoizrMLx613toILW9OpBZzhKPzVO4evcYQ73/+mRzJEC/dFdx1yFPraW+HL5G5A==","signatures":[{"sig":"MEQCIElMIoFNtHs11E4rZhELIniq11r32l2p7mlVRPEvJopfAiAMVXZFxyhxutvDHWUm0VZiMCPwbPzLjSvXB9IomCeEWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":545215,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghzemCRA9TVsSAnZWagAApOkP/1VGOdCy6HfXSZbjC9qJ\nI9XEUOkqOVRIddrDHOmEx612hIdzzAUSRiMrtt4ffLZkmLgbfAxH6bb6llvS\nYTrX6BEBq3UIG8YOUbINkbutPr7z1DtL40AVrnRxYvYp66M8XmKaf60o1Xi4\nbU21Id5iwPZS5TFqdTp8IwtsyuJ1dV3yF+qwkZJcyOM4F0Ms+XqhU5np9boZ\np5ZgC9xgwPSvlPGeP/1QE0gefhCRTS0bqxJbC8DrCSptCFBIu1A9onoKS1vA\nibTwW7jvdQMC2plVpHnQ3xE87cYkFen7NOxITb/wezDv+iMB36PNYAtvlvIO\nwkXYO3vx/xDA/3RafIzZsOLdCBYDt5nLVbIzgM2CdtXY5pxUROBysCwuA708\n3LHny0EUboCbfx1G8xYi7AtdSpvWY608dDP02w/J74su00EvUTc3ETXHv4SD\n2P0pAX9geWhOyg2IVEuTFIhRNM3ugq3KVOu6mQVDqvz9uELZ19tqtnvftfC1\nLecFKvVs/HWVFqfWf9wAZKlNzJEL43dC1nodZJWzsXvFICPm7jXm7ekZa91q\nDpGp4xJsUIOsauwMBQgROf0AbxKoGsWajqXk08yjvGPibrE2wzze29VAJLz7\nKBspFRDelRPgwulYtlqRPt2OhzMU+/IMKGEEeYqo+nzmQzTESFAVWlXFd8Bj\nocnk\r\n=Thlj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"803ef2f21433deddc2afe95ce48c0dd3f2f85ac6","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.28.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.37","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.1.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.25.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.23_1619474341269_0.911939727169403","host":"s3://npm-registry-packages"}},"13.4.24":{"name":"@adobe/helix-cli","version":"13.4.24","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.24","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"865ed766c3ff660523c10670f2af6cb6a6e63e1d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.24.tgz","fileCount":78,"integrity":"sha512-vtT5EjaVIp8PFhfD/AOUkwrd85oQecN4pNxY8Un4t7qNzKj7Xl62/qEaBLpsTw/Ph+mmka2NUJdIkfj5PsrjxA==","signatures":[{"sig":"MEQCIBlVEFbekz0h5Pk7mHoFr6b/Fw3XO6iyAS6e6akHODZGAiA5S3QMiDtEmjVrj3Se+eMzdVLnY1GNvp1Zsca1ZcDNrQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":545450,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgh+u9CRA9TVsSAnZWagAAJAMP/RuemYjF1zlNk7j0nn4W\nM+8wicTjUztcb38mi8R9hUXikvNWJHR1RJb4+j4qT8ub5TZi8cmAqbPfcX74\nVq4CGN3UojDdZiEM1z/tJKNiZxCeoTbBbxgjiCld6r813l7Iv2+o3eyFPomL\n0yP8VLaV9XigY+tJttHJQ/xeeMf3idt4oE2CuZ+w6BcyOj7UMXRs36MKSV4F\n+kfgQ6NFsygqGsM9o3c66SwTbc8vRwQylcoPzsOMWbR+dL8Ok+JbYQwvkB1i\nXu72FXfonkLLEmZ3/IE2A9LHH7TQOG575GAgnEtctRtIurQE6f/fkzdWq+D3\nNYoiyQ7sDwid1wWwoAYKbYncIaa6tk7cgaAEqKD5dOMVMsdVXLGgIBAWN8g3\nsVPO9AlK/VzlRoy/9MZ5GDk2mIpFfpEd9+ODZBpnEIJz6dfUvHBbMasRDaTl\neE1HOMBYTg3zLEwfF5iDPbwD0I7nSrRhbCl0D06WXeZ1PLXkfWsJ4o8b0FF9\nkYlUDSJFLffj66hLMUN6t3DfFQ8tF2mhwgFqlZ53KvBOuMXFq1snY6dbJFFy\n6yDNNUs4wDPgKm3SGSVqLP6Ul4Rp/9d+J7O5OjV0wAc3XIOZ0W/pzAsZjAUp\nhdZfMOe1pv9Ntv4OYNZbj6iA5lcK2oRJKbXBIfTip3ESXPjzml27ClLddFDj\n7WfL\r\n=dVIz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"507eae10d0e17a3f74b6a5ffa7108015aac55220","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.29.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.38","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.1.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.25.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.24_1619520445239_0.6152153593055805","host":"s3://npm-registry-packages"}},"13.4.25":{"name":"@adobe/helix-cli","version":"13.4.25","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.25","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8b635c137281a29ae107741b5044fe4f7e32ab4d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.25.tgz","fileCount":78,"integrity":"sha512-0n/oU5Cp6+MU1p2S9U9shso4M2f5wZKjw3yn1hUL6Co0nNM8fzjuA1GDsoev8J/R7gFepH32fFoeMAE5+xvVPQ==","signatures":[{"sig":"MEYCIQCH2GZUfIVZikLgg8G7F4R6PaJgejA+zqusr+iCDN/0RwIhAKTVIFaWjlNcQ7HiM56VjwErbssWTtDB1AtgnNRjy8MH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":545715,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiASnCRA9TVsSAnZWagAAl2gP/jwxV0/l5iAmWaf8E1oW\nYp37tYnTruKpqUkhTj5Md3Z+t2XxXgNYzOMHQI+Ok15oWV9UBh/LCnuxssZz\nHSEtJXkNZpPGnoQayJyu303vMS+34HqvBbTfIzSYfFuQLGl757XUlzkHZsod\nSL3yLqMw9YnDRk1o0k1IgbKmnYYBKTNa5zWGG7taXgwjT+3SD7xVu/3sJbMR\nTsxC0HG/8lE93AoCYBaELQXBhUT6CYVgYD0zI+dnqkxrJagVvQZp926shBB4\nhBCv/j5NQ70JCAnu1YbrV3Ic6bhj7hXJgs0yDnjwkfcBrdP8zsNcBqH+nFYV\n6IW3UqMdEmCgaO2kB2MX/+ug4ud1QbvkxtNjBiOLsp+FfFwkchGeqvcMapII\nTFmtnNJ1kl64OAz4dN9ZabkmXb46m3zUKXUs5UXKDkaMPq+VpfTsSN7rl9t1\nM5wlTlCWsFPMMyCRetfnQzr9kHwPCs2pYx7sr8ZDYMSiz3xaq6MLtQ8z1gSb\nGhkoEwg7zn+w+kVdrsuQtyfRVQeoVcR3dHNbATUDXP61G/O9RoiOa45nrcJV\nCkTxgoKuRyrnlOiyGXgGce5JxvSPePlUHH/UpfF9jUSH3HZSVTzSOzSRvugb\nXhg/Q6cpixQ67aN/kzmdhlgGfGQiTaVMiA6NsBVKfJrJ4fr98pYZXd6zx4hS\nJ1ya\r\n=UrYs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"399463e02570a194906067e72e5ae5da888fff71","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.29.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.38","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.1.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.25.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.25_1619526822689_0.9865803718897874","host":"s3://npm-registry-packages"}},"13.4.26":{"name":"@adobe/helix-cli","version":"13.4.26","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.26","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"71ef35ce7165c2fbd914c89e5aa8d306ff31dcce","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.26.tgz","fileCount":78,"integrity":"sha512-zxzJEgg0ym/E6spJE63kM/c8LGSMjYt9R2fja/mg7AdA4Ca1j8+shDLnjypQgXq2jihyB+/FAfwdEtp8DTmZtQ==","signatures":[{"sig":"MEYCIQC5l5h1l9CkzaE19PPtGRo5cr7mlLjH6MyCALbedmHnWgIhAMgl+5Z5sBTeDJP0fNgTCP5sq60plUCLSyP5DL6AbER+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":545983,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiM1aCRA9TVsSAnZWagAAnt8P/3D+KUSuaGexfBMxiGq5\nRj0AFbxrdWVRYjjfYPg79BBiaz0977qJQyd4/r1j5wEXmyQZwBICs09xqs5M\nM+XRACZdR5cEcpb6X+EgqMgui3X4P5kl66zaXPnjNZhUUWAIdqx8FGUe2GV+\nKazu0e2EVmKJAwwhHNg67ma3aW7yxlI5ACMJHNuWkQ2MAa6P4E811sl8DagK\nNfXa+a251S1PgU/0jDj0LoWwrAmJn635/tlS5IH3dKwvfUR/xApz2U9PeIwo\naZZ+/tK9ryQaBd6m4515jAX3iNGaMxxjeCtvctc7baIoH0jvIxtV62j6OzTG\nnnkSQwLBi8+Ts4YHn+p5xwvoq0D8Mbl52qwZvRdehDoVudpGw8w5/MfluxRW\np36y+Btjks2hMN+1xCmuTsH/TIvfRrlgWZPYdQ3ghBG3rfhyXRxeVAeDejZ1\nthMNx6p4h0Tv2EUUxhTpdE505cWk8IDPlMyyUqYgCsjm04zLM8l04ibwR2H2\nExHI8N4p/s2rH+p7IxYcIzRMblZjnrkhB2PFUVhbSAxwiI387FLer+jlFRjv\nS4A+ZF+2zGsSlz1jBZKw8662MFYFCxRGsSYWy2++wo6zJ96yjRxT+ATlV/f2\n1O9IaykehXA5sVwvWkLTJRfdaki4QMVx4gBQ6refc4EouNrAOIXhNnXebN4x\nQqLR\r\n=hNEr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"1f90d2b87bda9e5b0086f5b83770c6366b585c22","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"7.29.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.39","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.1.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.25.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.26_1619578201626_0.42007483482307983","host":"s3://npm-registry-packages"}},"13.4.27":{"name":"@adobe/helix-cli","version":"13.4.27","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.27","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2800babfca7d8daaa29f096260c1c9da1063f08f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.27.tgz","fileCount":78,"integrity":"sha512-aTWqedeZRJiLJdWThJVY88XDyJBzgySnuYTa3WzK+Oe9kF4ufcoj4ycgdqQ1HUAMs9bkJlTFj6ddSmPgHwOg0Q==","signatures":[{"sig":"MEUCIQCXRvNiof+0QzDAna1haCKUnA5Cm7kd9El48z3VTKT4RQIgY2NIK9r+7LJEjysnpoRT0wTCXGOYgQMxCi928NokN9w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":546242,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjAn/CRA9TVsSAnZWagAA6PUP/iDTybEVqLqgnaRCgO0Z\n+RLUts57osw5bjI2tIadrDXZoriQqVvcyEw2Oxof16iu66Jy+4qx6hBds9yG\nlZAQvDgqNPtj4qINDYbrcqTLGMZg448SGscmUiLDmnFy8d2rDShO2Lr8NpCc\nCRlYC2yqATbXxvkeqapKukalsFcqj8AN/aX1FKb2r2c+JwALds8EFveGMCni\nB8RnRmAKa4dsJh7pAd6z9cW+28yrg9+jzzhR06dr3nD4yJV0S9JH5LewRBjH\n3lgKDaOYXZybaVirtlXyTCwwOV1sc+l3VctRCDoeGIRyShmaslUxWhplCJp1\nkIa5fgNg8M07gLeBEkc92Vsk1+1fWkjet0Kd2cHPiy1s1ckd5ec79+t/xozB\nP/96Yn2EovSeFVj4tswmZ2ji0mp08ShCLFWm6Z33FRG8T9Cs3CsaeqWeT0Zp\nrQPw81Vnax2+EuNCv6UEGqcCB0L3tpgNEKjzoZMB/IDT0Nx1kpTWgVVBy3rL\nNsfdkMJVArlgX4L6LUiZIBlPFjzaqmCK+tSZtXT9nIka5k6xIk2WDlOPWKMp\nFXSkztHbOwhBgu5M56KswxZvvCB6GcRYcIUvIYpQk0Du14vXWcg78VlZSuFW\nBQCojpI932JJGdz/tdv0GafGVLY6lpZol00poTasjIJIEMGZisqoYk8pZ8Pk\n892d\r\n=/DwY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"a56d1368fb72da02fe2b3bd8cde6bfd51e77c88b","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","@adobe/helix-shared":"8.0.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.39","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.1.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.3.2","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.25.0","ghooks":"2.0.4","codecov":"3.8.1","commitizen":"4.2.3","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@semantic-release/github":"7.2.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.27_1619790334931_0.32761213757417806","host":"s3://npm-registry-packages"}},"13.4.28":{"name":"@adobe/helix-cli","version":"13.4.28","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.28","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f2e59a142055382187cdff4c7bb09c0d4015eb4c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.28.tgz","fileCount":78,"integrity":"sha512-gkyNiJFPacsZNPpdgdIsjaUA/DVmzEnZwqfeOHG/0WF5Yg4qO9F7zH7XdXllpPuc41RAjisIDMIMmmGXXhX4Fg==","signatures":[{"sig":"MEQCIFP9Rf5J3Yo2PT1oPzlJF6SkIPAx5xOrZ0/b+bfjvNbxAiALCZ64gBWieDgHlhenQSe1WXG4+HCMB3csPrLCvIOnwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":546735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgl1bwCRA9TVsSAnZWagAA0C0P/2rTKA00egxmjb86+Frj\n2Hr/yHfYuMvOYzHIBePJhQ5em0nl1FdfkjMOUHLnpT7j3CNfSyVOSQzKMPTF\nBtBuhdWkbVqRrAurcABR2MshZS0+i2ZMCyzaDVBDcDGI30DOcvDr2NFpdHWZ\nKxIgdfhVyJ8RdOzu6ZWCrJKhaELVbxxcUsWJnWLTf1+DhM9M9Plmt64p0y3f\n/g4mi5jZX6HZ9FLQPIg9pCDibNGIhbJwIC0PsN128JuVY3hU1PPjH+ccwYay\nXGT2sdQfHJw3CpoW4a4/CcbnlNi3zVmmxBb4bEKknq5nwioewdVcdlG70SyS\nqTqt5EYgtj6kGO+aVi81oeOkwtLW/U5yknvGMwes14mwiMx0l0ScCSNVSL6/\ndN7jLgO2+WaeRRSCp6rxCku0lw33bbCvfnYlyawJlpD8qjg42NVKtGl0gPKt\n0OPL8D90SnCVoObA6b4XUXtmQC38YsLdu1GUsyTcvktTa++GOBokvchlm39a\nHHQ3iCpbFTTYbfHT0DdTM0YdKjoBVbue94O+nPGfBPzHaOC0RUtu0cBVnkNE\n/4+2dbvuLIeSd+C+T5AAZxHXUe5o/Z0Ze837GjyU3zHMOD6sGzrbR9EJVjxY\n5JP4FtjiKtOOp2qkYTaIJ2XISAdPf6FgOFPnVXzVOCx1I6N3dcoKOLc02GWR\n8MML\r\n=DiFR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"811061e7d407c67d36c6f23184409235bdae0410","scripts":{"lint":"eslint .","test":"nyc --lines 90 --reporter=text --reporter=lcov mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","lint-ci":"circleci tests glob 'src/**/*.js' 'test/**/*.js' | circleci tests split | xargs eslint","test-ci":"circleci tests glob 'test/test*.js' | circleci tests split --split-by=timings | xargs nyc --reporter=text --reporter=lcov mocha -R mocha-junit-reporter -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"6.14.12","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^8.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^9.0.1","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.39","@adobe/helix-shared-git":"1.0.2","@adobe/helix-shared-config":"1.0.2","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.2.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.4.0","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.26.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"10.5.4","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","mocha-junit-reporter":"2.0.0","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@adobe/helix-shared-dom":"1.0.2","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.28_1620530928183_0.5042670197565984","host":"s3://npm-registry-packages"}},"13.4.29":{"name":"@adobe/helix-cli","version":"13.4.29","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.29","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3e859f58822f0aeb10fcc20667ebaa72b66e9cb6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.29.tgz","fileCount":78,"integrity":"sha512-pGcOxC2CuO+wB1qvE6IRMBsXy5Tqfg32bzv64zi80Jj7JuHLGNvM8lK+MVzdvKo/mYxTNbCrYOVMkAIbCw2ftw==","signatures":[{"sig":"MEQCIC85dPkmLh0OZNp8w86Ch+krdzicVZpfPQIx4WBoNlZvAiAqnR55bkJwP3JtFdazJl8lzOoUrGBNWFrQgjOLcsEj4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":546674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmDtlCRA9TVsSAnZWagAAUksP/Ar+uYXuB7HJZdMPeNgz\nPX1EHnkQ/+2p2/EIqx0R2X4TTNRkSqonwtYUom4bMSyRhO/dBumg1rHhpZ4f\nSbVaXyVAiBsDL+A10DzC/1xA7f7BA1ikWzKrv3IG5xz+hD/1PhD07JlClByh\n0v1O0oNuVWEpN6UYUpP4k0XbravEAIHYkuhvBmStxhwwWnKAL92WE4x7uu3b\nznObaixNC3Nj5Xc0sDr0fj8k0vBPn1nUpBdzpY2Gk5NQ7SnbCxrypzI6O0D0\nIFjCDmOOY2czdWquGnHJKK1weUzlLnJ0nnJ/6nxZ/e8QuQabF3mjVR04EFmS\nD7SXUl5cs78YZBRsT9i+3fz9YEiRpB7Xncupfk3BcwNQzmYxRfOpfcOt7s2z\nt6Gxm+omwXoy/Qzx6SfbsMyTlhq4dE8hygdd9fNMW1qSxItsZivbk02tloOs\nVFxFivHtFW2IxljcD0QBfcmAVgBYwGrnPNfEj+4WXGXjcuEXhmPZqaLTCCs9\n0DHVpxoHUYhYKKJMAQV3MA/kz6u1/3hCq0w273VoB/BJpvCJF8CUNbNIiHDz\nF0vRYvZVZWt8phRpYFA0geTq+3DqPM048L8macIecZUSa1QUyjna7nqhfAmf\nPe4hIlxHhcq/B5ty6TTljZ0/tkpQ0aBOz0OUJ51fjxl72LKg91Tw8t9WqUKK\nOOr0\r\n=xz7p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"3c6c33be19a8083125a1b8e64e247acbb0282df4","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.12.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^9.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.43","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.0.4","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.2.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.4.0","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.26.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@adobe/helix-shared-dom":"1.0.3","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.29_1620589412935_0.6110144264480866","host":"s3://npm-registry-packages"}},"13.4.30":{"name":"@adobe/helix-cli","version":"13.4.30","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.30","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"db08c0e0fb4df9152a621cd386274833497b8018","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.30.tgz","fileCount":71,"integrity":"sha512-nONOjcP/JAf4HuJ6zaWxW7akbYx4WqXxwS6nlf564s0sAx1D5M3eG+tCm17Uz71L6n1mZAenMDWXtQ3yTKpRSw==","signatures":[{"sig":"MEYCIQCUQOdQhZGc+c1BU4VpVfpqLLotQsiSWGSTKzFqOBL1HwIhAMdYPDeSh3gw8fPGVRjerY0hoAtp6UM6ZNb1nUmfsZTv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":506842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmQRsCRA9TVsSAnZWagAAp+IP/iLBP/DBOyIleSjmKgAg\n0Fe1EmckE8ZkD/v2TWZmKr9sj//+SOqqae4LvKthdMy76a268GHpfVipk3Eo\nCdFJskt5GzibtSAN981aNsihUey71FMeyhZqLh3cCz8nl0XiZvP/SxW8MDAM\neEizIei6fcla8YUiz+baEpEO3BQuXGQnygDpT4jxHO6Vjz2awtDFINyRl4vq\nwE+cgBx8mkfe+qa4Oi2Y+7iLFdkNqaKLh1nvbg92hPYJpPpp92jWO9d5dNEH\nYremvs9bhPTTBiVU4PGyxKhktjSSyOzMgAEafoigF9HE9MxeURqfgP2SVt3T\n70fQ7laJmXVZ9tr6pmk0t5nfCR7z9hjkLH/SdXvayDyZ32ozCj3Cl55GmZx4\nAQfgJsanBxW5wzLI45AChr7IqIXz7M/hyMlJ2vc/ZOCCXrjvr3TiygkmDtz5\noHsbvclPBhIOSismoH4xHoXxdBR4YZMOEWDL9RXJgY4FwaUuOy85jB9+BFFQ\nYrKqZxqOaSrURGKvT3EihY/CEtpPSPek7kGdVrlSK4vy+pGWqR/m3X3x3eze\nh2v68fCjPBC/lGSI8O58dj7355whbjUmsngwhpobKvchopj0zDeDgAeIXqVH\nZRARJMDaLqDf82CPX/JTg9IEF03ZvVSt6tEub3rjwG+wZ7pib4aOPPAYxyTl\n6J9d\r\n=k6iE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"3af19a28505b80c9ee83e18962580244284be8e1","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.12.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^9.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.43","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.0.4","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.2.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.4.0","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.26.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@adobe/helix-shared-dom":"1.0.3","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.30_1620640876030_0.576287267051","host":"s3://npm-registry-packages"}},"13.4.31":{"name":"@adobe/helix-cli","version":"13.4.31","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.31","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"12d02bd25851a629b468970e87efb89e3634aece","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.31.tgz","fileCount":71,"integrity":"sha512-XEQZCta+TQZlQvm+MPiVif8/XIjrUTRmcMR8SWfWbkUGGdEno19a8DuXBbMLNJ0p2eeyy2mHVrRf4RIr+uV97w==","signatures":[{"sig":"MEQCIFd2KDnTfN2MEY3IYrY0J4C/rBfv0GJvZZW4H0OIHZ2+AiAzb9uqmhROm3+tXBbflajK8JmtM+oE9lG7gF1n5Vlz2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":507135,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmhl/CRA9TVsSAnZWagAA7sEP/3LxJoLO0GYgwyComFOO\nHsYVDjKStpEwGY4I1Dqrmiksbe/G7tcIBJWQelv+hLiaq0NGpEYqRNXZ3CKJ\nDjYJ/wTc4UGXCTSZdrQDMdiUGf+olTrApgy+plCiOPwZHIOA9Psua2DJ00A9\n8NRuC/r/bXHUNdivLRlWWOLRl7a9K7Pft7oOXPb5Npxuj+E5VT9fY0r3WEDY\n86O1IVeWjQ+wgvysOKPSSzMsoj5HXhIiDKPrLgpozyy7tXFwKRz4KRu9HjZ8\nuoBigJvY9t9wrwTR36gAA44o24V3Ijf3LxX68QRtRhqb5fXxsfpxhScgYujq\nw7zNvH9vlvKvdJ2EaUnNNBHaSLU4Ju6ectunMJkjNAXVHC2FAytwE8OYxoN3\njcq+Pay29Fij8ikpELeWH+iKXx+Vku9e6ful8fn1ShQEc9/KiVrltQQQUWSb\nQEZawdg9TvhPQx74OfOo/7uFHXFk0U6FSEJJTl71JlsI4IWbzDsQlIc7eKl9\nk+JSd1ZXmXJVsNIaFA/rA6pSaW71NWx2cuih5TvpdEEW1rmnrw1QrQRuYHQR\nABFCI0pQEVA+yTcpiXXmomPu7WOcuff+eGLJmVeCFX+bTLpXLFbXP3FFkFHV\nfbooGx/xElSSQ1DDF/0gVhWDcvTl955pvOWQ59aY2z39n7nwKzK/bWejML52\np6no\r\n=NGcP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"9c9bdec0d776c5ee6e1769587ff80c26ee84f5d0","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.12.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^9.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.45","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.0","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.2.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.4.0","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.26.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@adobe/helix-shared-dom":"1.0.3","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.31_1620711807042_0.1487882951256645","host":"s3://npm-registry-packages"}},"13.4.32":{"name":"@adobe/helix-cli","version":"13.4.32","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.32","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d8b501b0d4853ba79cb7dd286d76ced26d5381a3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.32.tgz","fileCount":71,"integrity":"sha512-QG4eU2a2E5rS2zDw6RU1xp1aTI1JEONTQKPcGRrEITWFbVq+Mt5HGtDAQiIANPJ3Nw03MMEr6MQ6S+bQ5K/Dhg==","signatures":[{"sig":"MEYCIQCFBWhTYzkHZT7V+pLySGU/NAuPOlyo3mTFRzTWoRrGuAIhAJwnhj1RhDGNZrdXrByzFyXA1mWfh54Ln1CNT9kDujTz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":507461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmiCHCRA9TVsSAnZWagAAMVoP/0inWcqyRWMutJAe/8CJ\nm4nGEk/EVXQWkgvGf7gVr5kEHBur8TC01jPnGVo7Ajm70E5RbS5Mrvfs4NDe\nOslBOT+q7OU/DVA5FAzm62+7fUw4qDHW0NPhirbRe+pU9GT3fTyW2UbmYrVt\n/aTZjZhE12w0F+uzMrRi0oa/vmrWbNBVidRoa47P5ZjSkKyWCQeqcIP62ir1\nfcMbwNZ7EI90w9tVKfXNFk70YYDDNZs3tJZrOLqYSgcykvh/GW/aAjJyXI1H\nPW7c62orV5qJDS88bNTgzEOUr/igD+YrxQuIMQWKoI44rIcfGHjS4uSdMd31\nUD/uLt3iwABxwtzqBLJFydG02S8/SjrM7DT3nygtGFTCwKvwFjLjtKIW+WeI\nY/vAE0gEyDk0xMo5KF1+VOX2r6pr+k3fWmFf++bXW0QhkTXPtuQmfUhBJZ43\nnfbHhdBK3jxYnw4ygOlhsPa60tJZqg4T4f84rmaFv76g2emwkBkBCIMZ5k+f\nuIJlx0Jz3AqT6oF+sFYWyF5veRDc8YveL2f1FOSy57eX7C7+7IDdPzGCZxUH\nnvQJRdB/X/8JppjDpbxvpEb7NK/+Y4DdGc7g6HGluTpt8eW9RvGXtaGY073A\n5rxl/oACR8UHBvpBKkRO/XG7sdJDZV/vhSzSRy3V0RWGk+i+UIrKb23jFfgn\nl5u/\r\n=0Nlk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"1490f6d8b8ee03b4bf94ac6932a9617fbc1bc584","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.12.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^9.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.46","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.0","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.2.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.4.0","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.26.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@adobe/helix-shared-dom":"1.0.3","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.32_1620713607086_0.9005720703154201","host":"s3://npm-registry-packages"}},"13.4.33":{"name":"@adobe/helix-cli","version":"13.4.33","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.33","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6fa826337bd0ed7b3f78236b79e7a0c494931f99","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.33.tgz","fileCount":71,"integrity":"sha512-+MQTlnfohfmJljcrdkp4qgUa7xjvaTbpPTJ3mDkvXr81JIVzmELMKUbfJ6013ublNKKctemrHMoE+Sz83VRPXQ==","signatures":[{"sig":"MEQCIG3F0CoJbTcStSE/MNhlu08sCNeP4BGJNqTTU0q7EXa0AiA7Nbju2nDyAs6wHARJNCdMH9Z8OWV9In069f5NhCpI6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":507729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgn/l5CRA9TVsSAnZWagAAzOoQAJPSZBv8uYT5O0wynrng\nGcWiQSw3GdhFX4mGttQNCKCiJo8puXHADxXBbZWbthXP8CkX/4P4raMQ76L3\n9m9GKY5Jqp5J0CEcTcDf8duWkP/hcZ29sySXQXRvrxuZDJxjC2l/7FUCA8H+\n/Gl5UUs2lPU6YARFX3nFqXRGqNkfRMKWnR1bnR42iXKhuW/majmO6U6FpfSi\n6YuDb3DGSbVFOLKsciYl2KH7XTm73TkeAkLgEj5/VEyCA+ATVqrwvqd5Sgp8\n3VMUMlRTnyhG7gIw8tIS8IjmYHbch0d4WiF2Fk0kYhjxLdE1q+b96YYqCvNQ\nJCMvw78FpOsBUZuNxbDeS6P0lhZ0A7OZtRDpHotHRKwxHGtc8pIdlYmSyC61\njjTd8k796HB6gj3l645V3yQ2q9VaMrTCTJaTK4Sf6Dvc9fF5o8WY1qXNztek\nc1eTEvDkbVyp14iuCYJh5e1aM5s3llFDTFcZ+Zzp6Cli9bpta2dl/oPyf/Zi\nBHZnclCWb8HxJ+rMjs3tLjKjOiAdNpVtV4tPDBzeiYieO4cp2dQ3iU1eH+Lu\nGOkDZd64SniX4UJsjx7/lsgUaBaTfVXbzdooS3F6C5RNZyxYjim9ioXtZ8x1\n1hiLm7vQiRzBki/u9yQEcScJM2IEng4T78Yg3pq9uiJTNbuoXimR0ZmGadwC\nF5xu\r\n=GMz6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"ac7989d9b3aeb802598f6588adf3e33f78ca5746","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.12.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^9.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.47","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.0","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.2.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.4.0","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.26.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.22.1","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@adobe/helix-shared-dom":"1.0.3","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.4","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.33_1621096824420_0.6780808363385538","host":"s3://npm-registry-packages"}},"13.4.34":{"name":"@adobe/helix-cli","version":"13.4.34","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.34","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"0dfc9d5c59630d650f7f5d4e69c2e084ce14b3fc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.34.tgz","fileCount":71,"integrity":"sha512-0/XPP3yO4EaGAI8uG+giJKRVNYYe6LIq048FPrEDbnyZtSoK0AFqirk0URKbPFyxkrRGucrE4qQVDBfh0gM/gw==","signatures":[{"sig":"MEYCIQDbdr4mZku7f85F/b9CzlMQ13iV3n6jXyxEh84vI1bpxQIhAPfL9C4d1+wUte8q/JlpwK9LJNQUef5THPaECziUvyac","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":507964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoixCCRA9TVsSAnZWagAA6/YP/2dJycD+OZXPqP0IVTEn\nG5ERQ/R82+dX8mpkfZUDA13FzXVjy8JmWC/0klfJqD5FkhImuJLRfvqMq258\nN4xKFZe3Em7EqtxWCYi4uYGca42sDmz7E8oz7rF6LZ82lwHPkW6JrGSEd5wR\nhXuYD2GaNza1qwfocPZSYOCtmoiCh0SSGB93lAnUQMmq4aFZXIuL0Sr7CKZR\n/PBIGRYyJhyJU3WsvOpDt358Lie2XnDsA8KI7sQgRBhSto1HxNgH0K1qYC3E\nD4/+fjrk0NrNqebkPrfAnIS2Fa5jQuGPrA4ShTS9nuyGB1Vy1zMPT+NMOfYZ\nJRuK1AEbbvzPswHBRPnasuFqnQFbLVwBrcN+WkvMuqIxMmFiISuyORWqGEl5\nj8JUPRzIQZi0alRkFXKYYalMt9/XT1fcp3wBugHT32aL9+XUSn/c4VrlMiFs\nH7Pw2rhoWeLdulsjekDeYhZlhbFAWAfAyPtSAJFKevQ9W9oSHSBhHEadmwhK\nFHlVkZDtGSSKOuzDfAHLEKkdj47hEYzxttnGNPV2wVkabgLNKmf14sZe2w3h\ngkEDw8Gd9DiJifB0uf2/6yDaxaihoNncDzNZbo63ZYapY0K4yYLDJ5MmdkTZ\n6rvdFnQg9rl1LChhvPefqNjA05thHwpkUg9vgQim8qii7iy0oKhrIjwJe3Wj\nxM95\r\n=3gQ8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"d38892a2385759fc42e0aa063c704364814f7f33","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.13.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^9.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.48","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.1","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.4.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.4.0","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.26.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.2","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@adobe/helix-shared-dom":"1.0.3","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.34_1621240897926_0.2573703415875068","host":"s3://npm-registry-packages"}},"13.4.35":{"name":"@adobe/helix-cli","version":"13.4.35","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.35","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8c583324dd6ab076f4d4edde710e261a7c2d1a7f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.35.tgz","fileCount":71,"integrity":"sha512-JTkGc5+12V6Auzo5qZ0wWIWgA2p9nuQEpYCZjqlztuTuJfVSn0BVnqB1fdASRuTAZuyQSvVHp5G2k2hkEClPTA==","signatures":[{"sig":"MEUCIQC/KcjMUS0r0wkHs6sh/5Q96VBI9OvGyuuskzh/NoGlzgIgFHhP8Rh8aD/9A7Na6rlyM/wLeedar57YqcyvShRv+R0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":508227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgooJRCRA9TVsSAnZWagAAEJwQAI5hH2yULH0F/mLp0kfK\nUt8RH3uDH/6z4glLLuhPBU4nynfD7Qi9vR91EX44IbxJfn7R555xlXYxm38Q\nouc3nSYLFrdXDdsdOdC60TxVTSkRRZy6qvGYz++LYAlxI8RTZXCSXSgg2dN8\nUD22k/qXpEkUVpJLvZnxZwFIcJMNo2F81BaWv6ed22TW1byPoS0LJMyuao29\nkP6bd1w4pOxF1PPygaoChHpYDdXrdMrBpKWafD4XJAvfkLrLIAhSewudervY\n3MKU8FlTta5JIO46K7J08NkBNrsaBTEMninbdda5bYpGTFxO4KWSl5TxK8cW\n8+ajjHYCJVIH+Shlm9guut1f+ETCVjTBNz8PiZ3m8KF+59LOp5JZ03Q1br4a\n6ry1fiKKA5vm2/E7DNhcTf7Uwm+Jr1CjFwa2Ibnbmj2F0y6bREHG9Lw2Mh6n\nx/mowOuqNcs6WMrzGh+gzaFJFDbXEOTUkvMx3PHEoZxXKY1XVVu8vrA1BnwP\noc3kQ4azLqVXHUUYXA5BWKN0EvaupWBCYir53TAIf7iJhcD0dQDHW2/zv6sr\nKjZ/SzexGzeY+8gYsSbDZt4vty2JFgyicVOI4tHaBTKj2uJfQHZV5p5NoXT9\nFZgvTE83ux25qb2hrO0ez4nzoRL1xCxMTJQz1yP2dZyXUXoU8NpNAdlh/5Yt\nOwOm\r\n=0/86\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"38185ff5cdda48fc2acfb0b75cdad776b017eef8","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.13.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^9.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.48","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.1","@adobe/fastly-native-promises":"1.23.0","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.4.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.4.0","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.26.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.2","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@adobe/helix-shared-dom":"1.0.3","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.35_1621262929348_0.8281817308191555","host":"s3://npm-registry-packages"}},"13.4.36":{"name":"@adobe/helix-cli","version":"13.4.36","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.36","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"0c9f32032a5bced78945e3c0c56e8144732ba9b4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.36.tgz","fileCount":71,"integrity":"sha512-lQImwP6Ya4z7dSOpYCpIBUJ4JdE6aoPHs+/njLnpr4iCRGAC/KJt4g20HTaxsCRqPrYodmW96lEyPIQNryJS3Q==","signatures":[{"sig":"MEYCIQCm+0voRAMtdgWljNEsZo8OrRKLkXFdMOsiMkntzOXtHwIhAOGTkaa/Kpee9z+LnmqD7yBRvG1eds+qexYQ+CgtO9Rd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":508462,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoqMaCRA9TVsSAnZWagAA5n4P/1GF4fWrELkYMFyr23XW\nmKzdJr43lSd3l/l1lIZwjfmBdPm3Cm8RSS6M+wyWR3YDffkAIRbHLShjHw5V\nN9OI/BliOF7Bwqr9EuLK2avuXOr2Jg28bVq9b4Zv1plCfuir2g13KXk/EH2L\nU7oECN3jpFOPR8XXeqrEVReknMCHKxKs7heF93Asdzvv3IOcA1gAYjRZT2nG\n9/rc9sDjmKK7TQz1GAHQOhpan/NUk0tcb7pwPNlN1Cv8xY0GSe/4xctbl2PZ\nHeRuJ/C78nEIM/OBxvpTm/yXN5Gi2tacwuQQhueaG+SUXI3CgmU0uT0m0L4h\nSV52O/mS2KBvnq0+0HM5oldwbsf6TDbgUPIFsA2AUZozt9jUfSP/NVvgLDLo\n7mnMijALMb1OKQo/4JORoRc6h9WF3Ixq6jVxBkC5NMOAmSg4SvaeRlocdxXZ\nF0bPywC2nER1ALzSJblBrVDJVx6n1l93Of4e1Avp+AYFxvx+34P66VVmnhlW\nQ54PW89zt9CCPVXE86wxazTsXveO/XKVGb27++xtCWo5gNLlKsWZOPBVTrmY\nCWZB3nHz41mlOyzVP8nWxYtNsUJ9AHd1rL89wnct/ouGoAnN3wcQIRMhyEbk\nThcHFnzL/CJ9tYj0VtGjsMww3APuAd/ObozsI3dNiRaLh2yHPoKQM6ijurkD\nzt8G\r\n=EQCi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"557d7b5f979b28e11a8e9b0401bd6a61969733ad","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.13.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^9.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.49","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.1","@adobe/fastly-native-promises":"1.23.1","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.4.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.4.0","sinon":"10.0.0","yauzl":"2.10.0","eslint":"7.26.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.2","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@adobe/helix-shared-dom":"1.0.3","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.36_1621271321779_0.9353948190811741","host":"s3://npm-registry-packages"}},"13.4.37":{"name":"@adobe/helix-cli","version":"13.4.37","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.37","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"79c63382b20d4b6a067e8eacce23274ea834e3f6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.37.tgz","fileCount":71,"integrity":"sha512-JrwwOEzWlminPnikoI4BsOyyMNKMBbz4FqCrehqHAapVA0EgRc9ejq8kb4TLmfHokXl8vEuKdlaMjL9I4QF//w==","signatures":[{"sig":"MEUCIQCQVzt5USZpcowmaJJqXku0OcsC2FX9nDKaWUUF408f+QIgbyo/Z02zY/+GF1FzK39ETSuYJgIZ+Pm7fi46NYtzphE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":508701,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrPxJCRA9TVsSAnZWagAAwPYP/j3nBWfvb7+1JHMuBcLE\nGydKaPk2XAz/TnufWhGT6Vg8ERfFbfmLsMKm53ITeGrDGdL19s9oQnCNiG8w\nfy4vwdYuPg6Ry6jbRGysiBGMfokIMVlr490Mk75WzQDfcnxOESM0/zWPt4Ko\npO2KCelrFPQQOQEq8zP1tAzgnSXQeoDiHrwoR5DExEavbGwk5cMLMNWObK2F\n0RGeOYNwzg5aY5hy9qvRZMJ/UqHkqcfTe5vxvKbt0vFa/0PIQN4FY7l14ZE9\nD3X1BWlazVXSf9YqeZbZYkcTEbiqAiEzpYmmWh37DuBYwdFHllA/m9VkNOmI\n9PmWTpG474+q4iPRZD5t8IFWspksEPH16zm5wliz86A3vIXu2T+Xt2EzmXeX\no6XEoEm4Z8r8Vq3VG31epIgnt49WY9hPUodaM1F32g8OgQ99R1asUUd+9U6N\n7zTHZVHs6mfdK0KFb/yZy8n0g3AQUbw3iX8NkG5T3UlJ9ORt1N87mKI9b9xI\nrrKIWHGIhcB0wD+Ppm3sl362sBUc2MUUY57RAk1eHcDLCWnMxmnqX1AvTO6G\nC9LuM2pgHw7QlxF2nc5G9lskXx0k6gfwQOg+rdUd2HDiJ8vHKM+9cnszDZnM\ny82RErulK/SPAvOVAEm47Scg9SgU1VpJvf0uoXKyqUoOtu3YapaWJMvQ0Nr/\nh6Tt\r\n=/W/T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"96d620f22cc1d589046a9899d26a98c95bebae00","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.13.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.49","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.1","@adobe/fastly-native-promises":"1.23.1","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.5.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.4.0","sinon":"11.0.0","yauzl":"2.10.0","eslint":"7.27.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.3","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@adobe/helix-shared-dom":"1.0.3","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.37_1621949512475_0.44311022802563316","host":"s3://npm-registry-packages"}},"13.4.38":{"name":"@adobe/helix-cli","version":"13.4.38","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.38","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6c01420f034579c11073fa87e525894f100ff718","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.38.tgz","fileCount":71,"integrity":"sha512-fACQqWrVl+o0goN2igEtTRZkVtNpZndMp5VRDGLohc5VYw4L3jUl0/cydGlHO46NVTHiya6YYqnVm8cxexfIlw==","signatures":[{"sig":"MEQCIEvGZ/9GlrDtN1+pAGXumoL+iEyqZuNbWdEYU8RD9bnrAiApG/XC0Esfiv7/ACPRzTQ6yBsnAwUf2pwWUGG6vUVw0Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":508936,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrRq6CRA9TVsSAnZWagAARgIP/ApcCr8aTPt48YUTWRwv\nNViL+kDGFqTSN+AbQ+saUFqTpchWmM+i+NGHOWGPenXQmq6JEzvSe/F8Tcdw\nkP4+1OFZpQicp3OqwSZhak5x3jwvrAzKJ8Hg1zXSTYctDsG2wuzajYyaz3kR\n1d7XP8wjVln2I5VkqmMrpK0L6gZeFRYQztCJIjX+gQbo8XNYWwtskXuNLsCf\ndQwUY2dhTOkAUj9YOBH9jRYQem6aCKqP5YgimuPfmvSy03xtlFl8Fc8grHqg\n4Jdbf17MK/cjdx8MlwvfbM4DCyu530UYEdeG2nqlbMD9eFaNspZLf/tSN3tS\n2mGJiUmwqWqwN52tT2nYBBSH+BoqtOrQtpG7tHQnoqB0nDESKRvrRNaOmvXu\ncqXFvSK8LhTuyH/Rq3m4ONXE7u1GBJPr0WAV1yVD04CHPq9F8AQAD2/0lmrW\ndLbWkVLdiY3zbLBZjZ6VWVGEGU9eJ2IzMeEvQA3EN5m3rM5H30Bwgp7MY6FA\nLmfMvKzbOyU6oKjLMC69rfp3TUab4OGp4ruGSgz4mcyK6usUCm+283Y2mW93\nCZ+rIhTUaoPFROGSt6HnORhffxuzP9rInKSGKvIFX19tdM0fCr8QvE5pXJ8N\nbA/GUmkiKaOqp3dE0NOY/PMHowPG74E5g0EwgjPzw5Htc+81n8mNK5J/mJzW\nalLd\r\n=g/e0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"c1707ff5e24eaacc912dd514373d91773b9f6edc","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.13.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.49","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.2","@adobe/fastly-native-promises":"1.23.1","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.5.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.4.0","sinon":"11.0.0","yauzl":"2.10.0","eslint":"7.27.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.3","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.38_1621957306152_0.5793140902834963","host":"s3://npm-registry-packages"}},"13.4.39":{"name":"@adobe/helix-cli","version":"13.4.39","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.39","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b5add7f317e3740ea81641474aa7b9bcd1ed9e9c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.39.tgz","fileCount":71,"integrity":"sha512-0qw++1JtvdNd506jlbYPQaQfmiyTEQkqDqCPqJ+Rh7tXxoCgdgodY6JyN/AYtX4Zik9Zxtj+7LfcNSIjuDdLmg==","signatures":[{"sig":"MEQCIBDBXO6+9mIOuaos1c7/5zQOO6T7HUuRlxEICGalqYJsAiBOwVXOivfTHD+1AdlTP5Wa6yi3UUmzpA1B6IpTSJdsMA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":509204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrTQdCRA9TVsSAnZWagAAOBMP+gLfd7Llq+dEYHHzGryx\nG6mKN/2aJji74yGyohtYkkovKFn8eiUbkyd/PGtEnpLKdyUOZwD/BYsAfODo\nlHG/LwvoBrNmOqdLkYJvLaYKDzd8JVcl26K2eOQkfoVQpYrrTwgH9kfeChVx\nVJ3Vj7gT4U98KgOAE3t4xXhJLCFeIK4HpL7mtP12y56gsEr1feZ0pqxVyEDu\ndx4obFT+gWXBpSmNksTLwD+gOHgVrySxLpT3hMY6Mku7mwOP7NkQkASF9VB2\nhrfSDDhDiWBEGuhLlEVcySwhceY855kjgIs1TWPdzFT377m7UhWQ936bcmfq\nmtY1vtA7yfKwwMvbTaYWNBEzIU3xHXpw7XWYr9HJeWMsrkqHaL4aDyDMaWSi\ndkT5RfGlmbBYQrDkyZes3GtDYGJgX8QeZJqYvgGEgf5/fhaxC819GfFbfvME\nv1+wOsiOOHC4hUIR62PPlHwyncUInXDXVLrHOikZJRBc3esfGTHlT+i62h3Q\n36xtEJOzLDj7q7PIROtHlReWft/XZBX5DXEa5VCFNwTU//HldbYNmmZnQh8k\n0rq4TyZehmbf550EeJ3Cw+1qpUiRLJMUEJyl8U2N0wAns+JABKVEKh7xP0IM\nxPsUJxW9ZK9OXLf/CXCUnJrEJ8PBcTRsN+j8QhJ0pjMtJNhwmlIqzL9U69Kg\nkykH\r\n=MCRg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"f700f62c07e55a2efeaa33aa6aef1a6bf98e2b74","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.13.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.50","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.2","@adobe/fastly-native-promises":"1.23.1","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.5.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.5.3","mocha":"8.4.0","sinon":"11.0.0","yauzl":"2.10.0","eslint":"7.27.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.3","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.39_1621963805251_0.8077713861788298","host":"s3://npm-registry-packages"}},"13.4.40":{"name":"@adobe/helix-cli","version":"13.4.40","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.40","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"52d17b4f5a4483d62f889a18647b84c96cd6d908","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.40.tgz","fileCount":71,"integrity":"sha512-dYuVAaZa8fCxpMTU0YgaapogmgEO7zuswxyHD3DlCvDs1UDOY0RjkERNJFLqj9qFSU8GQkKgjTdZdAWWfB/s5g==","signatures":[{"sig":"MEQCIDp/9uqKOfC20Kh4fIPGn9rhQbbZSsQiRUq44rHcUKGiAiAbJMxmp8Pa+pW77jqULNLVJH+WgStp2nl97q/0kBmekA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":509497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgs4S9CRA9TVsSAnZWagAAlEwP/2m1nbo6NJAP2hp3AWmi\nfj7H5In1McpaFGsb/Wymva8evnvm1M6747S6h58cseBv468GOxiWH7FGzObo\nEO/fIimn/0i/uffqE7M50uffhlA39VGs86YOnb4nXM4ETuQ8PfJ26GkuAdht\n8xnzJSpRR/Uri646hGyiliZCRnQeDpqtKQjQfJ3yTwgAD0HNGm0ARr3TeLIP\n4IPgbPGLSBD58AFSS9GvrV/E/chrNhuotF0uOXM/T6sRu3P+P7L6Il8fPEVP\nD0t4UR/1e6V35hbEKyzTgVSLtwynw16TdW3oOIb2oorEoPo0TEJemLp40klM\noPqZyuAJcNX0vndYZjz171+wOLD6/zXZAGLiUADCPWEUWf8YmEZUiFZeY9o1\nfrTSb5UltPdnRw827ZEHbcTefSFVhiAntON+C2sId6L25cvLRmiQeB5ucTDX\nNqFc4LCggv4+vhLPrWLl5+92gPCMmCxPKU8wVhX6DA8b/2pw1B/GH/cF9KDV\nSRK8tAki3Tylpk143uVM7Aou1tKD3c8vl0i9/121PJdhl1GCvif11xWFvIY4\nCEe3XP7cQe8utpwiZvR5TJ8lw4JrQhrMZbcKhT+o5REGk8Iuu9SksOqnqCDH\nmFfftaRLvghoYnVqAoeTxaqPvBhgI1RKlAnq/xriIcL+rEr1gKDlC615mXiN\nmzd4\r\n=f52z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"29764e57bec9a61f3900df63cef6b7521c317999","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.13.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.53","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.3","@adobe/fastly-native-promises":"1.23.1","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.5.0","nyc":"15.1.0","nock":"13.0.11","jsdom":"16.6.0","mocha":"8.4.0","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.27.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.0","unist-util-map":"2.0.1","semantic-release":"17.4.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.3","@pollyjs/persister-fs":"5.0.0","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.0","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.0","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.40_1622377660496_0.274008678538181","host":"s3://npm-registry-packages"}},"13.4.41":{"name":"@adobe/helix-cli","version":"13.4.41","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.41","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ed63e0eea6c82e36652549ffbcab3d6a154cb743","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.41.tgz","fileCount":71,"integrity":"sha512-82xRZKCz3+UXH2Pz30vlEPo1TG/+t8fpWMhBCI7XfyFojztSLjrc/GDxIwSdfjX2kFZUW38/608E2V+iHQoO8g==","signatures":[{"sig":"MEQCIBtwSctIAvMqJdRToXuzm4EZiqmIV46eGMNdj1/xMGFhAiAsPh3aZ0r+jEMsLwu9DKaGx2N+p1suNi44C2sfGJJJ8w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":509789,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvXI6CRA9TVsSAnZWagAA5EsP/RupirzVqMiEI0fneVTc\nEwoikX21JXohInVb9ssxEQ+HIeyK8DUc1ZUHzJZlEpd1ckt/vpYBgma1OBgJ\nNK6DaEF7vPHScl+3yUd7zD8G3F/UbtM/mi6QxfnlGbIoOp14pKiUR98sTxkF\nermmLcXNFgm/jYvMS3l4KAGt4q2N9kf8XCYHVawuI3Kfsez2W4ROJ7UZlXf1\n4+k7k+gvSNQ859d0bBZJPkvJFRdOxdcBL9rUWWs79FrXIS5zaOyCPZCKLyJy\nUZZUoFN4dZyxKC/9qrJC2nVTPz6ziTl+Ta9BSgrOw9YZ/ly+Ll691i6hgPL8\nQl0XVI8sVkKcolJZ3xOxh5BidCQF9CitZWID1E/CGLJ4GgulpgMSy/bPDmXZ\nXHvRIZe3Agvus76P/7rWWAGFJWknqQoqLt7bIO4dbjLSOTOu345yC573i/yM\nhOHUqecFJUmLSqzPGkOJ+cqKsPvi9r5AG6UmvEmIdbPEmgvxBUorDpe69nNk\nbsIeKbKHOSGLjH8VCQv+2UK4aV/V5sUpYDNG3Yf0LRuUEYb/NYCxCR0oBnxV\nra8IFoHapQ6pL5AHBZkDM4Shx50LTE9RAbNqeyuHeW5cpForYjiOQMuVR2e4\ntkdI0ZUPdXnG0crhzPbQdVwjs1PDA4iOJyk9lpEoeUS1gt5hx7ZW7VGzL4Jx\nWbZ5\r\n=5ZsM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"efa6cdd322d5425eba4604958dd9b3fbfd30347a","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.13.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.2.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.54","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.4","@adobe/fastly-native-promises":"1.23.1","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.5.0","nyc":"15.1.0","nock":"13.1.0","jsdom":"16.6.0","mocha":"8.4.0","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.28.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.41_1623028282393_0.13519714579827768","host":"s3://npm-registry-packages"}},"13.4.42":{"name":"@adobe/helix-cli","version":"13.4.42","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.42","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2ea65bd3d7f44252ece2b1dd4532e86d28766e14","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.42.tgz","fileCount":71,"integrity":"sha512-UCVa85J+pExccR8Kvh11ZUGh8ljBThjqPbdBE0L3kzd7TIkfAz3I6YZjkn86dsC7CNzAe9buNH+6drbOhyLPWQ==","signatures":[{"sig":"MEYCIQCQBJlXBjCq+iey/JG13U/gxN99BB9MYHgI5bGrkhL5AAIhAOMXApT7xMKZ8PqO7GKDqEegFZPdvsVTHyaPFwa+TNyr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":510184,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgw+7+CRA9TVsSAnZWagAASl0P/1obIdmDWnImKINwA7wP\nfv5C8ScnN6+7RjPAuu5DL/aob8abpGjHOrRIznwabUFnYK9Gqvq1XCcfYZVR\nt9WMmKpjZhhNLuVb64y5+iaMM/jjZsXCV+ZDySzxV2iRIMxhaexGaOAHhc6W\nhpcLDTUAY+Nc2HIOX9MKAr46CyGMxgp9wB+R2vzsgeu1u+G0HZWCmHF5Rn16\nEKV5Erz3ZATYf0eOYneDy80O74nUWZpv5NBtnFhbzgLXKZT/YQqwj3aWkTqP\npiRBr7mCFjsJGNpN3iKZ/d1NePGDqK1DRX6Qm/jLL8vFXhU7kHrou6aFj5Ta\nBO5wqTBROgphmnofMValIHhczNyRs6o2mVRzWNXgQ+6SiD2dPqr/pgR3Mj/o\nQ/JIeoV4QwwOAH3pgSi+L+yae7igt9Z8B0RF/ZO7kr6R5Sb4fvp/89MKFU4i\ns9IIVi4rNWioJm06+MyQYEB3Q6IhN3xLuAqe1YC6wMLp20AC3peFiK32pm3J\nCNrerOSTBVyQ9trK9uu74l+9XfayQ1F8yXxECaUE+cpVH9LLmgEquuxS14AR\nUvuGyWqYTP81UCAn5cOa4ZqJlLezyaVypxz0Gm07ibRhorKNugu4bFt2GY9M\nSwtOLIfg9AQDs8H9KH2hQ8kppA3aL3o2AwcA0GDgiAJLs+xkS44671gqHMDK\nSNay\r\n=JAFu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"d548ee484db2ade7e385a2c3b059b604b1cca2ec","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.13.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.55","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.4","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.5.0","nyc":"15.1.0","nock":"13.1.0","jsdom":"16.6.0","mocha":"9.0.0","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.28.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.42_1623453438730_0.38207470083114714","host":"s3://npm-registry-packages"}},"13.4.43":{"name":"@adobe/helix-cli","version":"13.4.43","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.43","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"048b6b3d7420cbd194cccad6ea72e8d045f213d6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.43.tgz","fileCount":71,"integrity":"sha512-bxLLhV0D+6eGvjRMaYLqROIetlsdwcgxa3ZmYCv2bs7kfgQIjX/2FVnJuCJVJP3+BaeXdbFuTfxyozPLcJSZsg==","signatures":[{"sig":"MEQCIH58CjZnQg9AhZo14APmBjt834nln7Nh6iwsBbNHfviFAiAOuUhE5imgMI8te0VFi+bhrPKXD+qbtOZ+CkP41QDQOA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":510419,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxNg0CRA9TVsSAnZWagAATMsP/j0niMs9+xzO40CHXXdL\n0w7BjfogaCoiRPeMUMm70EXGLjggUV/RBUoPZgm/koDhU7rlXN0aOFBgGJ5n\nufU+VNjTGaWD2f2ctc8tgz/Eo6t74QgCY3R0SfhcJTB1fJjL6T0S7BzXjeNx\naxl0l6iorrd5ks9ZigRMABgO5mXSTjvIwy/1lCLEAvOfOUGSwGE9xf4UP1A6\nIo5nBwclRUNVUItZ8HTlOVjZ9FNCJr1aVqllZpoAcMkDuzy3EQURe0fKyr3Q\nU2XAYtlsuygGXA2B4dI7E+aO5pn03c4z/migNXYvX20gfFjIPQ7wZ6sij+ni\njnv/fUcgLlx/sNHdw2X50CXSjV7DxRG3cNyIwjm0CKBvTRWWsZvBlja+rXoF\nnkxU8iilVtbd3LrEeKNUIafjDoklUtV5SAUr2J1fwTmZAJRSVso2Joysl8N2\n5akQedCUJu0U8fipLezraT6PFY36ni2Fhalh4+slbf9P8L3rC7crQP9CMpxE\nEvmpDXJmvTh8MJPshI7dxjGXxflcAhPngKiMAa102IgWQyJZjUZFYXJk2NPp\naIXGcMe6hDj1sOM9o1U41zRNUMIsmVR2mUy8NMZEAcFnVT+S5O2tYNrZBHXE\n8fAh9dZNRYu1Y4LJDxI/tnT0JeKyfz53wA1WlNB6Tv+8RknQNmoxzr2EgQX8\nAtIe\r\n=/Ab2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"daf97f1690d0dbe247a1c164b44156d364393579","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.13.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.56","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.5","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.0","nyc":"15.1.0","nock":"13.1.0","jsdom":"16.6.0","mocha":"9.0.0","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.28.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.43_1623513139960_0.8773925046615003","host":"s3://npm-registry-packages"}},"13.4.44":{"name":"@adobe/helix-cli","version":"13.4.44","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.44","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d0f2e7cf69850c68c6a56af7913c3045ec3672ff","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.44.tgz","fileCount":71,"integrity":"sha512-zQNHBgl3btmCfLdhz+fru4HnPytZ7rLdXGlliQWWwng8a6jSYULRj8vhx5AiFhbxOI7rtJFFYupJHYsK1l1qSQ==","signatures":[{"sig":"MEYCIQCQvh5lDPSFcr95hEMUZeueF2kInfxo5Rp3gMZA0iSvuwIhAKzK6Hr7M7LV+X5NxE7uwaYEtdT9YfslQfGmpTzYLAjw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":510654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxZ90CRA9TVsSAnZWagAAdzoP/A38mIXdVm8zm9lt+uLu\nazUpqBL4yCw9kcjsWgoeDbDEFiwOtMvGtA5/RTOUouI8J1onB54j5Wx4AH5f\nA3IYqq+bGlTrFAgMItSkQ21nDjyofduvzd9SsAPenNKAeWmbtB1MZ4enHhZJ\nRJMCEy7KoT2gFi54DYRsHIETrZZbiOaF5Bul3k7W+1ma/pTrhq/2xHfAZTDW\nooR8+632nU9F4A9VsQ4AMtZBkC/OnpUweWtp8RLo8H5+WPwyjuRcZ3ncuXYi\nMZV+qhcXsnJ48E8lozy0iLX9DP12YzB3C25sr1j7CkGuCk77EtLTm+0NTiAE\nYhVbKcXAzCH9OjNIaI9rC6ixufyo1lby3q8LwL20MYG/rYo9z7N+ZBxWKUOb\nW9f2yp08iSrHp8cNqkfWj+BVlI6I4aVv1Y0Fm68kEXxGbKyA9fdZH9i3ic8s\nUEcqR9gRl6U8WBdc01sNMoz4XLfK0ibpGJIHMU1wr/2FdmIJZlHoIsoOmdUL\nf/HL00h0npLXklUFYMJZp4BtMP0etg4jfb8EUIP+eyI4MkDMmrXQl45fVrnK\npZxTVxjivxWu9A2I62qTekk15lNHUigOXDvLbZ6QLMi/ECuhfVOa8rlN4UeH\njyBxb+XhbXBu9RyDfAedzh32Ueob417JRB4t5cjLvrWFrUnCYoGEzPSzcJK0\nSCdx\r\n=agKc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"f885fe6b383edf44d6ca077265abe08df5fafcc2","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.13.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.1","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.57","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.6","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.0","nyc":"15.1.0","nock":"13.1.0","jsdom":"16.6.0","mocha":"9.0.0","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.28.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.44_1623564148645_0.0787831970714632","host":"s3://npm-registry-packages"}},"13.4.45":{"name":"@adobe/helix-cli","version":"13.4.45","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.45","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3c59960a6de290c42ac75cc521e76865106afbcb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.45.tgz","fileCount":71,"integrity":"sha512-o07/Nz08LD2hBWbaOJXgIu8SB2cbIq2128UaFfeR3SBW1k4362UQDS5ASMICWO7EuilffifzuIZ08dph76JXdQ==","signatures":[{"sig":"MEUCIQCa0bch9oSGoFePG3OlMErzI60QlLCHJEGhTVbgJusQuAIgYFB2sGcJldKECNtOVhGAZ4vAJu4Jniz4zHofNq6HmCQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":510892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzfX1CRA9TVsSAnZWagAAWCMP/jYZLavoOp6w2dBUJJbf\nylayI0chNmFcAdoKrm9Q8QDcDSonSXR63toU6CNuRSIbbSWnhdgOxhSlhxz5\nXf+QS4mgv4/UgUZ7Cd6k9XmsD8MCchA0VtpG9wc1FIYgE6+7fEdiKiuvDo/2\nCSLx/SB3CLj3UwWCIQRs2swJCJ6k+2Vg5AvY1p2MH9iN64P0AjCaehdqEQn2\nIUjkLgwv+jstwOzfnncn4tnpMSo7/rdtD/74OPyTtCFfLnreMZfgOEmO6FVN\nRf8sVBDejCkHxkPitThujlZQh1ZVBb8NYqaYUSFCZWoBraDUdFidH8JJv+kc\nSK2PEReZAM4YN1yqQT8L65F5/rD3elv2mGAiJAgYvPi1T/yeW3TOTTLb8h5R\np1q62x9fEzyILBsZsHgQka3PdHxHMZjCsJOB8WuOHERqAZEerabCEdXWdRhh\n1rRE2v+gmSK+66u9YgctKoSfbmEy7T0btfp+Qn78Dx0p/2NFX5XE+Dx4L3ji\n3tgd+NLBFAfi+xAk8tS2kF69C0NPmg7IsDpPwj3PuxWODOLo1EGQvt9kt5cX\nuoIiXvLmxMF2xQBQXQWCPZWfdPcZb/GDzSmSWEkwU9FqMvlxcV/McaRXSwcW\nRYcYI0xv+vXU7ppAnqYKXQsr4JSNjG8v3GmIwusTojlDJdvb1uMpyg0jjlGN\ntpS7\r\n=khkn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"8032bf94c9da3490e1aad522d312b7e5ad1567d9","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.57","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.6","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.0","nyc":"15.1.0","nock":"13.1.0","jsdom":"16.6.0","mocha":"9.0.1","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.29.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.45_1624110580753_0.47853154952157917","host":"s3://npm-registry-packages"}},"13.4.46":{"name":"@adobe/helix-cli","version":"13.4.46","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.46","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"672d460c487ca9c2fb64638c6aa7aabe4f74d40a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.46.tgz","fileCount":71,"integrity":"sha512-UFr8QsrQWICwrS+TU0F0HgYsFyyN70Lj6QREL+zMJMEk14tlz0fy7db+CmR1yM6+5x8VO6tur035RuIy0hObEQ==","signatures":[{"sig":"MEYCIQDuqsIyD19qsc1kGA+bN6lviOhmWnzyuf2Z0SgZ1dx3fgIhAMlDiu7ZEvSCy0Zs3uJxqyp0iq5VkN2OiiAYfyCqYSnM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":511160,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzgHUCRA9TVsSAnZWagAARSsP/Ryq6XieY82nKmuDnP9s\nukLhbWfXmsS7AS9A5j0cWuwUW1iAqrJ/LgKbd9YN6gpaV9jLFDQuzu9McRjB\n8j+8rCuG7DklLGlE39S05pu5h9vKuNXC86cXgPFJLvh6B9l1FYyFbtCmlp2h\n1HmRAO/2aPoTGt5tfk0wF9RUtzj7wZ1+G8MAwwfZp+M3BVozd3/NQi32Q8RY\nkuzDdyXCpyuzPeHQDNVSKIijJX+2/H29nwYTkkORSNs7tc7cpAVu+rUYizP6\n+HUoEI1NSq0PDBm9uLe8jozIqUGHTbZUpV9kXxXMKFX+eFcqnHZ1k+8LoVFz\nVBKntlPfhLSZnY3jII28j7HN8jBvIjXu/+z2zFRT19WUkb10zjmeGVSfM7fX\nsefOkZ8LWWfn95Nfu3ceRqmB5sLabnXvrpVszZF/pwuh+VwhwpTKR6HrOCpB\nMfISYeTnz35ulZDpRFQyspK7yuFREqljhKrBq6QjxhWbeDStCUHLXFOFrS5k\nGeU9fr20LdOnRtVXZEWgH8dzQPolgMQ1h/gFcTy92JsGJjxcCEUUF7rWLUvY\n8ERmhvb6j5/+44EXZ8QKW6Zga2TkjGoLR0Q+mBqxmmmYpHGy/nBXspTCEr94\nVeFhZ+B0lSEhyajRGsDuIU2Fa3YeBrbiRkU5+PyXntWh9DMuX6H5Bb+My3KZ\nNRmA\r\n=VATq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"0b43b60ab7937a6a11c9b6a481139c5b0555784d","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.58","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.6","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.0","nyc":"15.1.0","nock":"13.1.0","jsdom":"16.6.0","mocha":"9.0.1","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.29.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.46_1624113619477_0.21618142687600095","host":"s3://npm-registry-packages"}},"13.4.47":{"name":"@adobe/helix-cli","version":"13.4.47","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.47","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"372f6ba517d3efc847982e8ec72f3edd12464865","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.47.tgz","fileCount":71,"integrity":"sha512-Ke0VhQANEgOfsdtx441+sd6j7MfH3rF+srIQLTUjBSZPCE2i6/bKm1+1Yd8SGWq8UI8Vp8gQC1QxzKPW8XEEvg==","signatures":[{"sig":"MEUCIEcgHwmFjYglOpoBWvM2ZRBKOQ8UOoymZnLe6ugGNiatAiEAsFuzZjzj92Kqky1y9JoVZHGja/p0DhAC9whpjqdgYRs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":511419,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1zA/CRA9TVsSAnZWagAA7lAP/2Pg71I1ii95kwkMcNvM\n9/AShBUcoypJBAHfINTBXGxqBkeAQ8IJQHzN+3W8PmE8DVVxehizEyzbM9wf\nBU7IcdEqLNaTc94hfK8YlhuuG/vpCzsf89fYJ9ydsGKeYvyUFCKyfJNQfZ/k\n1+kdcAYMO0RsbYC8Z5KzeC4m4MIywkVG1r0Yqwmvotvfk5hT/kkrdjYXB6Jy\nqp7obHIO/ZdxLXlRSzwsEo+878mj5vdlhMtLamUSQtVwqGlsI0m1B3bhqPua\nLhxxMu5sifCVGofIexCnucDz6yZpnRG/wkPpUEj/eB/M9uXpM95nPX2oDQpg\n/JfkxIFnYQgFlFTOarhPLNHMsXEwGp9vGp/o1xUdOsfeQ137h0WPx1bC/lek\nU4ridN+VxnxPMzUg0LVotgfIivzzwK4p68HbEIKX4awoB1WlOWHoaLmHVQ1X\nc5i+EafILIrkcj51vL78kfYymgXvMthnaIad3yMNbM+66iIuzUwy9eYQlFlJ\nrMKwfrEWbVJsgkFMPZKrKkG8DMjQ+VXJXKj26ebkezE54ndtd9G5ZSBwEO+6\nsy5zcK9DQS1BdmEztMtd2GHZYRwc7/chDVSRafOYJJJd1MXef2eGP6HOgklq\nscocr+ahDRBpDW56IdLMqOZ/ZNJ+Z6JHRz43C1RClOeNu3YQLwz0hgEzV+2X\nDK6K\r\n=jJyY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"022ba12426580de597643eed34b556433268158a","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.3","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.58","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.6","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.0","nyc":"15.1.0","nock":"13.1.0","jsdom":"16.6.0","mocha":"9.0.1","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.29.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.47_1624715327257_0.9235796852403617","host":"s3://npm-registry-packages"}},"13.4.48":{"name":"@adobe/helix-cli","version":"13.4.48","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.48","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"13bc9c745fd04875ca3299bcb69ac954b4dda9e8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.48.tgz","fileCount":71,"integrity":"sha512-i+SI8x9E4PVADWQ75fe7PFht/PiQTgV2rwzfbeJuc4BKxtTPSSrsSJM0O619+6xBGCPOxGsg9b2TiAvljyBNIg==","signatures":[{"sig":"MEQCIAyoXz7BjSSvj9waft00tCuXZFvEaOGEJnaag9ZFyT3IAiAqFQ+322XxpFiIzoZquwxQlhd2cSsBm/GMreigicb7qw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":511687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1zp2CRA9TVsSAnZWagAANecP/RaSX/M1p3q2CCAut2MW\nTbd0mTzLvfO0oo25iAGOCa1GHg1Z/gICElU5m3HPg+Uywelb9kduJorkhcOJ\nU+TlY98MDIhQzeZFHFxTubMe5R4sFFD3M73wMvA2U7jakem39WscTw2BtfIo\nPV3MhmCnIbpBlmhLCSM18YqO08BQlJR9muxsOowLxwK1060rJSMF72oclz+A\noSeLnPOsJULsEzzBv3Bk/c8TTUAQj9Ge9nSjQXOMUBUZTF4rBL3va1d1yJ7l\n87GQlDZyJNnwZXEoCMpxpgyI8+FZaSmKGdRHjga33+auLqaiBwjzjR1p5ETF\nCad6iswAwBK9MR1/MhXTTbfl33fWT39k5DOSBgSrJeQBABe08cMdCNwxLlN/\n0lRiHN6I9fyV86KIm2jfKsyrjMzTzc59wLuSSlDqOfQL4l0vTC3w4zyh4bJj\nSe3foC6u0bckD9XwpyQCDZcDKZ5LkQAVzr0Tzg4dapp4bl8h3qrbX5CSCPQv\n5UkTyAGH4PVEEk6LIakD+uY5gSNNUMJK+PWRNVOpV7hcuWx7wkqqj/CUch37\nyQ0iTVuv9x3y4O+QYnT73wp+Ld9k38SyKbf9LbU2jN/NANjHJ3rv+CZdfshS\nij8JJDt+wvuCx1O5Xxdn3lkcYAyi285FHdaYGoCDqVhEghXqJ+swXy9mr9y1\nPxTL\r\n=wmxy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"282a8e4a5c7692d8912426e65c1db4fb1f87b52a","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.3","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.59","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.6","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.0","nyc":"15.1.0","nock":"13.1.0","jsdom":"16.6.0","mocha":"9.0.1","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.29.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.48_1624717942294_0.5660550070097194","host":"s3://npm-registry-packages"}},"13.4.49":{"name":"@adobe/helix-cli","version":"13.4.49","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.49","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"67f61bc0aeebfe17c177b763523341a061c378b3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.49.tgz","fileCount":71,"integrity":"sha512-oJbrqD14DClPyYWrgKcXPuzO0e1thbZNf/4IOCoPGcpJAM9AdjrV+d/G6kbjIe9VfjN3Z7PGAWtoiewfz9wRlw==","signatures":[{"sig":"MEQCIGTu18E4KGvr4aRvyaUkwqqOIE7JIERFy5O8MA6AxwzvAiBce+4ziC7iqUfmRK9ll5vC/kTMBfH56t3haiPRmHmDpg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":511955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg11mlCRA9TVsSAnZWagAAXtUQAJCCjDGe+vuwbVqEAy3o\niublWCudLI9IshjdbKASDvQxpe3cXOAjP8n+E9aWPCXe6RxYLtK3ehEuM0tv\nl5wIvcCYqL6JVSFXB/RM5hibiPzPzaZ700W4WnY5n+6SjW8kKdBp4pj0gHUv\nc5bksQxPqNQOJoC/XP96LUYy70dk02FtRh9uuRKlssS6IcNDSDVZ/tOgFbFi\n5b6u/mq7h/a6Hgvp0Ubbwc4ynlekZaQtCxKiBnUoFT/1UyAKzLIakivUEmDB\nySLbLjTw4RsdyKI+C481SHzDikdrecW4BrYeGZODN7rRaFFrnjjnHvC/dcTN\nMLWHBJ/LkNa89W3LWuGVcns76HyJyqYT3Tb/3UWJNQTQfpO7np0HzqJ9aq2w\n9bfN/aVQ6ZnQT8GsW0x0KN56nOkujcoqJJzDCR1iE70mmne2Pa8PnKsLAVd/\nbOaQ5Ib4w1DE2KIZXEMuf9ecvBvJ0bMIo2GOqIbIMi6MHj+/Mbh4x6q+0PVj\nLcFyO2rXSQKe1kn8qFfMGxGl7f0HvLABrZyfKXXdai2XVWWLlF8bpEAfe+pH\nKVDLuqOqhY1GUcZpJ3NUiyWsv2zKI52AdDn+cStg2IOqclXqSBy4CFsFX+VL\nx4M/ChimqgzaMpuiOzzfgVS0PV/tNwllWhHgfu0CR455vZJL0FzcaH4PclFE\nNofR\r\n=1FOI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"636cda06cee007f4214c860a42f12beba8f5d459","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.3","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.60","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.6","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.0","nyc":"15.1.0","nock":"13.1.0","jsdom":"16.6.0","mocha":"9.0.1","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.29.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.49_1624725925274_0.9695773445988469","host":"s3://npm-registry-packages"}},"13.4.50":{"name":"@adobe/helix-cli","version":"13.4.50","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.50","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"81c6b0ccbce2ca5bcb222a0ec096a65222e5535d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.50.tgz","fileCount":71,"integrity":"sha512-dIjvLDbpERJ7mP8oHroKJIhrV6XfEOcnUVIC/u8JcZkxpgEJpuHYsDiVPA9fx+JyIdBdILCupaTDDwU31bmQ5g==","signatures":[{"sig":"MEUCIQCUeU5JA3DpJdr1Dvk8W5B3yBE6wGvGTME0npR4js7DrwIgcxt3hRwBO9HNRkg8C5isP7X5DSK4x3zB000o6IegUjA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":512533,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3RTcCRA9TVsSAnZWagAATDEP/ilFu195pejh82R9Sn4l\nW0QXtGKpqSo53AfLBvhpApNuv834cUNGrzdFmHzVu48yMdbGkAWgWpwEyp8J\ntrMDToPZOgOXnJkvNKf71l7W2VR1u9OYCy0txblHPFuf4AwEDELyG0KkUq54\nGh7thmzDLFqN5Ffwrj+RVPJ8pxVLbOfAWeSOVAgz88pyz5UC5+8kwidKvT/Y\nL4ZJz5JdPk8YNMQzTHLFBB5hfT9gK6oRDPNUKCnyp4m0rVeP/vc0r2rIJbfC\nzSP0F2GHj0uCME9vsc0ofv54rGFp8mms/Gki69a2vfZ5pBcKvgwa9Y4jIszW\n1ppva8TeKe1LuKa9Vg1Al8JuCmkMGQGAqvEIo6pRuxwnZkBuJ+mWd5CI+vmv\nJ9UjJ6vhdPwlpIr2tUplcdrGrO8+E/Mj0SZxBo3WndUR7rB8UastE3+p0iSQ\nsfb2sQS80rvunVGYP8C2adm7lvAeaI98Xnxc+WAyWb7VzIU0fETtP0Jrzxlh\nRM4Tv4GEqgbrA+P5QZOAf5v3U+bSuKuwZSUyEROclnCJHCds/DejwLp5qTUe\nvt6sakrsgZjN5v4wohkSAGU3wzlsyS2wMDlQsslsURcFoE5VCToQas/4eoZ0\nLabG8ao0v2TqKm9X1lZxdUvKZJYllHId2k0720H/bOiV+QlW3VkgN3Acl94K\nQYgS\r\n=o3aj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"af91060d036f8c2b6c21bf62fc6e88b333dd7061","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.8.3","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.60","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.6","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.0","nyc":"15.1.0","nock":"13.1.0","jsdom":"16.6.0","mocha":"9.0.1","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.29.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.50_1625101531418_0.8722179484468728","host":"s3://npm-registry-packages"}},"13.4.51":{"name":"@adobe/helix-cli","version":"13.4.51","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.51","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6c37333bc5a684a9cd0619af8510837b8e1e191e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.51.tgz","fileCount":71,"integrity":"sha512-L7KNLte0EV4fM9eANXx7gHGf8ZuAbUWjN+7YCIm4/7T3emIBxwAXNsrWZCo0snuW85gFk2LmWaI64YdQ2En3LQ==","signatures":[{"sig":"MEQCIHykugYSHYOE+D4y7eGjayueBmOpN50suvi6cRWneyzfAiBht6UTUBhQTXgt7vIIYwe+7kkpEtvdFS6wylNxreQBfg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":512859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4wC5CRA9TVsSAnZWagAAZtwP/iIvsm1vn9uhxsAp+jR3\nCodqdBivBZM7rLS08dYouCTRBfbYlppbFXmB9Ub81TzLVfdEuAxQ3GTMs9QP\nzP5d9vsrrsXmwJ5LYfhtp6JCl/1ossRLd1ALWpd4pxD2e54tF37HU5d3shfh\n5DsRLU7H5mB5u7cFQN4uet4M1chFpxUFq63R0a0CzjEez2rWGdLGa3nPVCIP\nQLrEEVgSqcLVzktvVErDA5HjD+C7wAuguPWsVrvvJY1e++mP7LBPDmmTPu1r\ndnVXXF4Vcy0j998/r5k0QlsoN1Ln1lyJXh5Gl7VEG98MzneDlLdXqkxks1nD\nAswzjBUmzzv6Ajbg219qbEhUBh6342r3rGZTcfneklUxTeYOAA8OgDqQESim\n3zjDVg13qeYrDc9TR1idUQXjNweWbiOgB4DjmA0hW79xy9yCwCV4u6nKIzej\nuU8t/mUTo3ZGb2y+lLATyuZzJUILElcu/l8q1hyhMT/EJHop/OyBy6mPBrNd\neBWq9EcPAcKGxaPsF+qbxN3OJ3pn/tlWlVu99m8P2GXa5eiVh7K19dID5Ah8\npsZ/XCOtvXtcpDnb+HjvkUuZ6qMROpvlP4p6/9HLRuplBVWeAGEGO5af3Q17\nFbuIZ61nSMZoqMLCt7Ch0ESQ9AfYkfQXk1nOZCU7QolWJmHx7owwBW228ZxX\naj66\r\n=HC/9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"d809e79afbe7b488ccb901616f46058bd6e70607","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.0","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.61","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.7","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.0","nyc":"15.1.0","nock":"13.1.0","jsdom":"16.6.0","mocha":"9.0.2","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.30.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.51_1625489592964_0.09854776969357193","host":"s3://npm-registry-packages"}},"13.4.52":{"name":"@adobe/helix-cli","version":"13.4.52","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.52","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7cbe51328790ffb1ded639562432933671522adc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.52.tgz","fileCount":71,"integrity":"sha512-49H6/e/zSj2v+h73OugD5CCnb7pPdpfi+uEl/kXT+JO+hRj6OyEGdi6uEbwzXhK84kL9N6oEx/2H+lGWs/wgPg==","signatures":[{"sig":"MEUCIQDqi2P7FIEi9rtrIgzQKE4gp8p/60Xo6gWfOB83rjCp7gIgChR4T1I5NR+4ICFzdLcIPuvCEZrPniXX+m9yEcmLh6A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":513127,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6ceaCRA9TVsSAnZWagAAHPkQAJ1VbtrYeW4qEa+GDcvA\nctrwHaf+Zjj0w+aje/9KE7wyohcqrqHvSah/rzcCR+eKHL2XmWog63QvaY4i\n0Sid+feVaMOoYRZQXJYsqakyVL4ebJ1ecEKWjQy89zmihQWdXlZgQjTXPyoV\nWCQOiaRtXHahkI8Er8smLySx36ft3ZDHnCwcVsxq1oBSP2T568fqw+8s/C8S\nilXqxVn+jxeRGwVDiJ6jfFg3Bf/oCw3puU8p+OySFYAc1w7oe5Cvpa6YMTUS\nsvHeM7ofs0aOqxi8wFvrtBnj9mcQggurqD14iE3FibDRMJeIkhZ1yC2LEI36\n8bgQ/ZeKRdBaoPx+OMvRH0O2k+DIs6Au+KEtzLoGjKjBUtBAMM4boduWWDlm\nFwzGPLAbcE24NsE5YhR0vbgtp4Njf5zzWbiOt5J7THa7ZGu/Jx4y0nEC1qsY\n5YK7KfINfk3BSBEVXFsGCalKm7G26eO2Hl3u9heoR+iGT4zK6xpYDwXp+GY1\n19BHUsk85p77MJZMK2586RY+5LHui4xiELoVhwlqjNy5aj3eRVzo7dn3ErDo\njg7LZkSme4KLUXxN/Z9bYiZTmqTyfcq924I5C6k+3ky7OIe7FqXnopIGISN1\niqJFAgEekwir26MjZitwczjyDV0K3Z8p1P7y/s3dMK6/U2XYlifI7tch/tuj\nCnwA\r\n=adX/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"83b900014ef0c91364db069b4535903623d9f0af","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.1","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.62","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.7","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.1","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.2","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.30.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.52_1625933721453_0.6870580523737451","host":"s3://npm-registry-packages"}},"13.4.53":{"name":"@adobe/helix-cli","version":"13.4.53","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.53","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"720bd23cdec26c269b9e287d58ed3f195b1fba4d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.53.tgz","fileCount":71,"integrity":"sha512-O2UrTSb2u2wMMKvA6aTuUhi+5mcnDwAghbo+NjfmZFzPMZKcUZpMgQajsSwyRF8IvDomk8FGyUpxQnggOgJ80w==","signatures":[{"sig":"MEUCIG3/ZI4VmkNXgWovXjDKYLXxLXdJmfShFQCifQHVGW1KAiEA6S8ampFfps6jSHZadhCgzoy4YdHxiB141kEKIYu22lA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":513362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7cukCRA9TVsSAnZWagAAI3IP/0z63TZ1NlfBcakgPdTT\neiSYuln/HKsqjUjms3ldKyFbIcwFcaEkABVNG2lgf2TyOqhrxXSu0f4c/6Wh\nC7aKCVKx0HQUi/+2d3OInlan9wp6+u272A4AezMD/T+X4G4wOtbW7cta3Tco\n275gSmebilPKQ+m/ysiDLZKNIzlL+pzowB5vGV1AiX/goixe2bWrTk+A/WXX\nQk9eu6B/cOB1H4aty0u1/Z+4InRDfgiEFV456ssYFAWGG4gbcQl9TCQ14ooh\n8OGqWNvqVM8nM6J+hDvAmyp8tvhjaYjyCVS2PAJRFuMZk2/H15uHHa/8le4V\neBvM9zGw8V2x8xklbKIXF4Z7Lz2K4A9LAKdYgU/zAah9AGQarWMKsvEbaUtc\nTSZxzsaSmIMwakvhRIkbrz7C7U62obaWMg9JJYZmTdCVmDdG1GJcv6BWjboj\nxLaKvZGxH9iXl16i/c901ghfevEpAJhbRkDZb7cbVJZ4+vqTch70EdhbMJGb\nK/YKB5daBZPf1BAY1wWFTGUJ7LRqCP+8vESMo2IJpjAu770zfut+jtREaJJm\ni7cPgHDIRMwEmVo59PAz8Tr2k1RR1oqLzDfeoshP5CKqJlhKbPW1m3GojMpX\nqYCrft3ccx8CoxWlBDNlpHmT6MRmmqbAPxyes5ywxandfClMKr7uBykmAd4N\nFjA9\r\n=r4wV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"e77547cb2ec19384884d069b46507c1674e05e7b","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.1","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.1","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.63","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.8","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.1","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.2","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.30.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.0","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.53_1626196899833_0.44633000772690035","host":"s3://npm-registry-packages"}},"13.4.54":{"name":"@adobe/helix-cli","version":"13.4.54","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.54","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"055160486f38363875b9319359471f0fb2c2e484","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.54.tgz","fileCount":71,"integrity":"sha512-Qa/VYJbi0FxKM2CDFQQVNhM7EdF+I1N17TDn4+vrL5OS0s6a3i8e1/3BGa0ICAl138k+CBPAmH1FIaqi9uc56g==","signatures":[{"sig":"MEUCIEAPKuzQpRnIAEprwxN2Y0Md0UHq++BrRYBZRBPFOQq+AiEA81YRVPsEQdxbKv/2qmPMVh+HlLBf7yA8ANbkCa/MRnY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":513630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8xGaCRA9TVsSAnZWagAAzxwP/1WEdDQLuwKTEW+j7kDV\n6VVtr2NLKNAk+ZFW6FyiGQJA7VohESZB8qRjfRnlh8NNExO6WhPpywuVHsmy\nLvyLm5J/yFF080BOPu5tnFwCsi14TwkbNZmMidfJVsR822/CtmI7IWT/aj5X\nFf6/ME2k4tPk1x+SWQ3qTRB6DLvtd7zH6lHLHBtOMayWy+gyHC3QNe8GaLeN\nDmT/t6gZ0A0MiREPAZLwPBj3O88rzH+FvNpX+Mg6p6eyZDUTRkOWalK+5QWl\nvD1ECilcNdB3jHzAaJYTJRbQY56OpLPYieRgiJQBYwX3RObxmC8P0PFhVlWY\nNt7MrhwUfN9E3oTWXMsJjOgFdUmZUDhQkrkJ3ZTqMKDhmWc1QzUVzKZ+vTkd\nP88KZOEoG0TR/zddu2vlefVufEegbq/KCwNUf7gRp00TXvjwm3+jvLQRQ1Dm\nL8pEzTDYUJiWpZOQXA2ThrQvEY+AMPUewoasY7CspfUkFPqOPJQ1sOf//PkW\nBYPAuEWT3b239DHZTJf59q/D087AbohGwk1BPtvvD64ZHht1z11E/hVrzapG\nNL2pTg/bDkisGMJVG1n08/t1a/nN0Umkzoz4V5fcWE8LRBCptgaCAcNEkqri\naYw7ILV9FAaR1JAayzXdKgaNj0XzejpYZSsXgDqvo4GN3sutjhkhIPMKrxYw\nutNw\r\n=yq/a\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"037ec60ae0f22311da935913d7b5827c49fb8663","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.3","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.64","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.8","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.2","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.30.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.1","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.54_1626542489859_0.810723563923271","host":"s3://npm-registry-packages"}},"13.4.55":{"name":"@adobe/helix-cli","version":"13.4.55","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.55","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"617f19bcda128c4a355ecc344394f4edd40c0670","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.55.tgz","fileCount":71,"integrity":"sha512-dzEbiu9Nm8LbdD0Q5TVstM9XeFHBYJs/3+tPhMt6OM4QqMaj8SgZ+/TEHckxdLoM2hYc66vZmCKdG38OHLPLsQ==","signatures":[{"sig":"MEQCIGnqgCO+z2yiEjOI0OsMpUi+jp1+9f+RbjSaggh0OEMlAiBpyx669itTaP7qkMjrYZcFzrJ1ZhN5tp1Hm3KQnUsQqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":513901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg85iMCRA9TVsSAnZWagAAE1QP/RfOO7XOeCEY8JRgG7iJ\nhY/w6KyDMMtNsSuLYvZd5DdzQmCxvoPquMz3KrxtmYiKcqd8kZKBa3TEli/y\nwCbI/2Z1RcdTGRUkqypYHJgF8hBHgq1PG1jNVSb2GOaRETudkCDZ/X3Ry8In\n059Q//KzUY+JT0PhyUWproFCjy6pzSev+UQlcBDIC6HlR7IlpM2o+vOciTEW\nUUhaaDwemGFXB0DW3lcNfrfOrqRtRg2YCd43G/qEtc7OPchl7yFIVopflo/d\nRgc2+WArhs8yqtZsb/UY+2UOWmqIUW8eGU8mx/Sh751vRrnZ7YkFkcmrEimV\n1l9pw1zSVTFSczsPke2fnRplkG0sV+FCnXlUcqmdAnTVtB/6grlYnSBVPSlT\nqCmOwWMMJ6dpQ9ENYJrE9YJcuSQ+0zjaMtw52Wznm6JdjOyz0Mum1rvX8tFJ\nVp+X9bC2UyUCAxD4Ft4eb5/LVAE9sqfwSxy5eqjp42D+ND9mof1K0EJ/o6GS\nJmRv9rZp9GmdwBHj7kACehsDhDJNUu64d3REgPLNdlcjRczheN+Wr8hHqw8S\nkhS9q/oCchCdzOHYZvadQV4KWZROmMCiwdNskHDZDqkmCPQEqzGNNwaBcwEv\n7Q4RZe17baf3Ta+nKj1xYXLrD4ENxZqGrzoG7uihAwR9qhEOeOfoGxEZV8n2\nitcD\r\n=VI6k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"c82d11bd2f5b961c80f6f8fad730ec190844b00b","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.3","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.64","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.9","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.2","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.30.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.1","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.55_1626577036374_0.9708097833776428","host":"s3://npm-registry-packages"}},"13.4.56":{"name":"@adobe/helix-cli","version":"13.4.56","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.56","maintainers":[{"name":"kptdobe","email":"kptdobe@gmail.com"},{"name":"rofe","email":"npm@rofe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f3bceb1f4db22a73204f4e1b7a99deb93072c7de","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.56.tgz","fileCount":71,"integrity":"sha512-6gCH1zIGuzJ4WaVMAfyMc3Ef/m3KiCo7uYgO3eOFamn+R0jGdEWHN53w4mi4qOCCcaCXEeQJUWm2DYycI8DVCQ==","signatures":[{"sig":"MEUCIHFZdl18WaGAkL6v/BZwwMH3qdqwajGbwgItipUoYQrzAiEApYzUDxQYAxezjgz9POBKvgUmO9rvb27k97wsd0y3FUw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":514169,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9Hj3CRA9TVsSAnZWagAAwo4QAJxeaBPIu2wrWKVS9diW\nWvYwtNzKZ6Jt7BXkEfOHlVlugruLt5eiNPEyDvsG36se8O2LdV4xIN3NIP2Z\nnTJ7WOBiEzL/jfhHYio7/nfzmyWyjXA0dh8S8qgE8hOMnOr0H6F7wFV+DRK2\nlNPOMCwtMpJtElHu1lAdaT3eijYOZgERjpbQq+H1fE3rTlH/JA6LXaxfx2DQ\nZoHJw+hiUWKDmA8Vj540AWagyGrbyiJLE30c31S+5HDk0EOlirBBvGTjXcYe\nkzOxnGllvfRF4a1h57Pg2kwoaNxyT4rQ/42iL2pbI1HYfgxyvkSQyfM1J7bp\nlcFnBF6VwG4au7Jspt0GCXzofnzbr5G33u0YapFq3pRnJT2JD4v03g7EFgXn\nk2Rdxz2QSf+FTT/SCgiY/ChBbmXb6l7dKsnXMRLDFrHcZAbDIZEnAQ0SFib1\nca9mbgjHHA0h3D6Xjh3idNDsraVlf/BWqL/Se/tLaxvJXJhzxp+8j5ODv6gv\n3lxAGx3RPpAK4TyBKNOh3glaLnDSmHitpAXJ4u4WYCbJxZpRidY0n6rgESOh\niQ52eLMf93EiaK+op65lCK5xs4j8ItVn8X73R1ciFJ0ZYH59J4yp8gAaUzIX\nj3SaCpPjlabk/ULgGH2Uj0MHPOvlrx6QUjqUnPu+xF/oppY1IICxgEb+JjMv\n20HV\r\n=6Id6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"bc1b653e4726dc9244edb309557301e02dbf98fd","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.3","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.7","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.65","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.9","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.2","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.30.0","ghooks":"2.0.4","codecov":"3.8.2","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.0.1","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.56_1626634487472_0.442414333105865","host":"s3://npm-registry-packages"}},"13.4.57":{"name":"@adobe/helix-cli","version":"13.4.57","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.57","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7dd67e8f904ce1b11b2fcdf7b67887b4a5dafc04","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.57.tgz","fileCount":71,"integrity":"sha512-pkEu1chPueksuMMcfep7jmAjFm2Ti6hURr9238nd7U5bA0M39QxFMKa4Lult8DL5DgcNp+vD6WcCujMj2VTBIg==","signatures":[{"sig":"MEUCIQDHyahH79hJp+JI8Gt4jxmlKNeQn0tI0kIxsN7VUttRqwIgIGe2Ch2XXNigCfNc/ME39ZIsoZb2iy1sFNT9Z4qtkc0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":514488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/ncKCRA9TVsSAnZWagAAe/kP+wbf2Z/c2mjaY0jkVro4\n5x/LfDiHh9pyQXQTGUl0xd7N1Z9Wd6lD3vbb78Nz1Ww+JRQ8BIQ6D6A4CFOD\nsL35Z1ScRNq65lBORXJMR9TlwPUJIfQ3KZ4EgXS4EkUieg21YRuBpDfhLd86\n5uPgpT/XaCKCqfGhszaor2vxgAi9NOT+pwp6RWgtwp3P1F3vOuA6rweOb7Fk\nk0ldUx8jcjIg25ylLtN9YYyHCXwlSbXKtP0A8D9sIXsjmvLOhEhbiScTnbfb\nz43OhUu/xF9IC4NGpk47MlEw/oi+iE4S/JVWitxFRP9CI+u/F9/GtxJ5Qe66\nPA/bTXINZpBTjfjjDg5tOMMoSZpaniVgOzy/lJETrnxS1MGKzI2PqvE70dkE\n1sReYzVI7+3IVQJiiMJcGrMbQ8JhRPqa/ZM1LWTzprX1Sy1ZESX8T8I01NTR\nKuPBGpA9uuZgWM5JgfuEo3o2uphsA+IpcQc1q55Pum3R4LrjHP/L/cwKVD4a\nxna8XqnkbpprqSmEFfh2CEoHGYqXbCJSSie/QHMBpfW3xmGh6i8F8bNLLjwb\nYYJmpschSHub+7yaQub4omp+OWqfynCiOpI5LIh9omd0wssiPswt1A+QvGCo\nwW+2IxwcUxjo6Mm8p+PP2WlbD4cW04fEk081qy4uHzCkJRFkkTK65VjDGq6b\ntUwX\r\n=aDqY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"8cedda5cc35b85b243e4830eea6460c22802f83b","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.3","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.65","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.9","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.2","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.31.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.1","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.57_1627289354248_0.9980682122149585","host":"s3://npm-registry-packages"}},"13.4.58":{"name":"@adobe/helix-cli","version":"13.4.58","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.58","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b1bcb4ba85bb9ce916c9633ea3373c35342bffe6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.58.tgz","fileCount":71,"integrity":"sha512-haFWOcMe3QCgv7Vmxb05dgk5NbkI4ZDJohuMeR3Kb5075VvmgAylHQHrlcLk5pi+6P9bMxpKjFzeCm/I211oAw==","signatures":[{"sig":"MEUCIAERfmHqaSLF92lZrHjwu+mml2xHdnh8XT3GvaZv0VrdAiEAqUcAbzIXV8EI6y4uG6vT81VNv1arbxwYu1J2+no91lg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":514782,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg//rWCRA9TVsSAnZWagAAZZkP/RxMbhEvx4axt1Emf/iX\nDe1QbkDgHXCBkWqdZLesi0f9cEiucYNcRgUFii8OeKSh0yaFnXvU7vbPxEHG\nQ7FNtmTN/A9GwDWPNQcXNSiyOr38hNm1YrFbVjpxv/kCL5Cma1FHDo/5T7i1\neefEwavoKGpiCCxBcimNBihWSw6Zf9zb451IBk9YRrUNRSPl4eCdr0NVXGCK\n8KKtcIT5YQz9ALzkHKpPtRlcYHHaxE/jMJol0xTaBeC+croJkJtesgVRTAWv\nvwjxXGu17sHzEdnwK0f5JrDW4gbOefdI6CmX3IC3qNl9YjLw0mi+x/jNR5+k\no0md3I24PVVmCTE4aBLO8Cp+1VEqWGy97q3RhpJQ3gWQ9QQ3EwL63UrBbfpc\nwN91qpIkJaiSrzXk9aSgrDABb+WnUWmdW8KlXKBkgqzLcviXgs2/5pUeotK+\nxjqH7rqCJ20SpuyV7qfJVpYoIZBgjg/hHE8epGpxYtukOYoMgj/L4ZdG2RGT\nmNvewJuM+jOOiVTZvuRKaFQC037ainEFTS7Os0m048yrp/ijCrJN2No6qJLF\nTUG+cCVlsti0WYQ/8edhzwnE6YTfB87deyUMaDoBVCQVI5xLSPpuD88MniU5\nW/04rmzhzkjrU6Xs523gjpK2P4j93GVm67/EZMDPWWc6fqLV+uhx2oU2wl8e\nnpc4\r\n=pLL/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"725ca99d52ccf1d7e292271fd49cb08ca9ccc31a","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.3","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.66","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.10","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.2","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.31.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.1","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.58_1627388629853_0.4723284161010588","host":"s3://npm-registry-packages"}},"13.4.59":{"name":"@adobe/helix-cli","version":"13.4.59","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.59","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f2fadf4c24001ef3bcb2d4dba8e530cc401e4df4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.59.tgz","fileCount":71,"integrity":"sha512-WN7A9RxHG3vQjsWk4LKdTLJbw6MthZlpTJmjvqQVk0rx5M6cNJRXNjJg7iZDhOaB3+9OQ8A7cAWKcBVy0cahZg==","signatures":[{"sig":"MEYCIQCD+WIgwxC51/tj1Tqi9fVSocklb8QKargeHlOqSFH2XgIhAOLOWhJ7L6RfZcUlima+4LhjWvmg2V2741Mlb2zqoVI/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":515017,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAE47CRA9TVsSAnZWagAA2S8P/2FXXl5PKhZLGaFqJVHa\nQMLtrrCyeDcWMXEQ1oCGjzWWRVcrLbeLlgK2rJU2uIvrgz7w9zUpRoCkgbUv\nA7kc98mAOthkHdj1oKy0PoV7mNwDeuEdJ+bHtYNZtP7OnB1RTUr+zzQrefl0\ndwcwykLD0giPQtWyCerxMGFSsk1Y6BdrkZFhr6oAvFCsdYLl7yRtb45rZ0v1\nvRkf4us7UauIj/jMulhfGlq68cFLnHyRJjd3MmlA2EKKLe2CE03YqfqX1KVY\n9zSp0uv/auM5J+zcrhwldTXcAP2h0KFzj/8FdymqU48IzDVdUJBlvF/j7Bq0\nlOUTWCA43kyk58DusQWRkfwL64Gdr0HupgyojE7oIVec7Hq863cTomozpbXk\nqB9Npa53lg8zIkgHrbq4VRKmapsU09vwZ9dhjtQrWadr300Jg1v/pSeniLDJ\n0gFWA2ppN5k+HFfdjRLdelQPWEQadZR48kWTQiWqPu0bSSiorDeM4c6/3//A\n8kq1SHQ5w1KSUgi/tUGWDg/4G2UX/UKwnIluwpOrDICyfETiNE0FnsfFco57\nI+gNEsCJnp7rENr7V6KrOq9Agu/1Z0I0xX/HpqWtaF6MvmUYGGAvRj2y6B+a\npDJXgEpypRgxrvfGaM5aQPuOZFtUlmVzJ9SgstNc/yDjb3wL3pRvr9tv7LOI\niemU\r\n=76RW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"def2e4919a3ead46388ec625d07923fc84671b5f","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.3","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.67","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.11","@adobe/fastly-native-promises":"1.23.2","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.2","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.31.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.1","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.59_1627409979217_0.6128361670918503","host":"s3://npm-registry-packages"}},"13.4.60":{"name":"@adobe/helix-cli","version":"13.4.60","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.60","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"091dc61808db5b727762b34cf3cac3596c0dc34d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.60.tgz","fileCount":71,"integrity":"sha512-7TjbOsVi3+4fWY/dLtz146Hy2d2XW9D46yaTN4c9yQu9Iu83o3W05BtoPcSq9L/Qql8zd70dki/Wg4MGixavhw==","signatures":[{"sig":"MEQCIB2jWroU/170JNRpq6F8o0ZAqFkgFN7fgeKBTexG1VV+AiAUYUxYnUff7BjEq4aNDWxwjItYUHlSu20MsSYGO5BiiQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":515252,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAUTjCRA9TVsSAnZWagAAN88P/i0O5UUVVozTOSyr1aVv\nau+9jKtFLuEdHCqNlcmX7el6+8xzSJFVjuCZHneQ1CidCgqfkH9l1JlJgq3d\nldln2rDoQs0sbkuJWeY9WBVAxZMt7sjFEslP/X+C4hW3pLGXlvW/G5eIuwlQ\nk3ICDncOdv66DyBDGbtvUsalodbdwNU2Zgz6Bv77SnqOeNSE/FkEO8A85XzQ\nBmUp1LpQ3iD719bf6lEbYJxJFn05fxsQpQ8CMZ7wKAhaTar3CWqNn2p+LxwJ\n7XYlX4LvdhrhIaHxDAcG+oFiuyf8sqkqYJx5Aj7zPHabsraXVM51zgKlAq2p\n9jZhqTRFt5FTQOE/auEAmsUTp3rETZTBIzGF1LOXy3MLoZS+MnfXFhghm9oU\nNnGgQpzA6Q8ozRdpJabeDFeKupXgTLjqPi/FZR35+qU52/WJJi/HyIjafNjG\nCOcUXVxfOWjSDrAz5nxWv5CHpZmQHcOYNxIvzFftsAprwF3l6j+a26hwm4Uj\nYeurdDUUS4xoYvZ+eew4K6cBUKfy1IZEjvusy3so7WoDWieq8rYBEcM2LtMe\n1UZD5iwHJWmzlvzZHTq7EY/JTFnr5WLYYifSxYHFQKTh4vptGZyZpmRkTEal\noptuOHtPDd53/BAy1HksYx+/kvmA1nR5ssTxN+6mPFdZRYb9ePQDcjplciY9\nAn6l\r\n=Sw6U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"9f9beaf0d41e3c062a47e2ecd92c3b6421339c65","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.3","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.3.0","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.68","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.11","@adobe/fastly-native-promises":"1.23.3","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.2","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.31.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.1","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.60_1627473123153_0.5679587307749656","host":"s3://npm-registry-packages"}},"13.4.61":{"name":"@adobe/helix-cli","version":"13.4.61","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.61","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4d0bb7ee649998183e851b930c462a7511835199","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.61.tgz","fileCount":71,"integrity":"sha512-TBTv1rZrHUC7P7HEYYoRvIy4eCrrCTr6nTgIiSwzCQ2SXjLdiQr7iNeTua+MI1UBN7MZzabchaqn/z1nVSoq3w==","signatures":[{"sig":"MEUCIQCs/P1+dkIQ5WyKBx9RQo1Hmbf2FnU+glG/XHIxk7AeBgIgd3q8lswgPi3+qQxJax51aKP/aVZzJAX0dBsjgFyz8/A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":515545,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBC6XCRA9TVsSAnZWagAAAzMP/A8+8Hj0CsBWlr/TmEP6\nFGY43Nd6GI2wgK3HM+NbML/GFS79kLT+JD3Fnt4chfVGpDrFSwSMM875aX2H\nujUqE5ArCXauAmgH515ZQMiyNakR6vR0Tb2Wxm/rmlVGxwbjCQsTKq7JTuGT\nE+MSfxnUusBbO3XhZEbQkeayVuepOUl1mA2O6NSVWkyrfNvpC3myBXjPnQIt\nMlW7ynPqsbFkAVPB6YkEu//QStB7/IEG4E7hEtlxj0Q3kNLAqE6vQp+rLy5r\n+oMTqNguU7wrKhgOOEMBvl8dbj1t29LLL4n8M6DVZpXa5BllZq9D/v0f2HMf\nymwDMPxgc4BeUgUB+MbacKXn6TfQQ2zsNQSxW3ngNk58M3jZfdKyzSmBJkYT\nGjFIs8VDo7AynF8NXY9LhiAqXYPiRKvnh4gx1OI/Z05SW2FufvoD5BmK7R+v\nsdfStWgj7Y30sw88LthBROyR7YV9upaKQd06T48QwrKIxeuiyLdGk8boidB/\nd0JEE6qa9hba9+vdjc6b3sbTE5YjKEXFkk8mpg3dZuf+eePgFoIoXgpo7YOf\n07EEHdb//CD+A5bXpxNij1/1tbnBkFWgGHLberWx35zOeRN6wo9A78G0VXPC\nEEYQB8OgK4RnWUb7emmYUqMUO2yQ3V9sfceipAzIcsr3xMqkECWkpyMhGHIS\nEhR6\r\n=Vhkr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"b0c55bcbb37244274fb699c71855150083b4e6c8","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.3","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.69","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.11","@adobe/fastly-native-promises":"1.23.3","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.2","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.31.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.1","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.61_1627664022858_0.664657222622532","host":"s3://npm-registry-packages"}},"13.4.62":{"name":"@adobe/helix-cli","version":"13.4.62","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.62","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"eca4358d235422f06dafea301c1bb01104009bb2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.62.tgz","fileCount":71,"integrity":"sha512-WYiM6l2RneCgZdiF7gnxiUDKZRL7pMxq9+CEpv3R1RcCUAvCUDFw/MAIJeBTOu1b4JDs8YaXl1XtjpLQ+8I7NQ==","signatures":[{"sig":"MEUCIBwZwRCQZEMTziFrpDmuwJ7c2+rL1PQRNPrZwuN7SqyjAiEA3/eCQA6kuNBlc+h5KgK9OWAQKCzJnk6HMMCi6wIgZTo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":515820,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBEyACRA9TVsSAnZWagAAbSoP/2jP45bsNff70+HT4CXr\nWTVWNzCBTBVo4jIQ7rRE4mG19oq3vG8lxwFosog6X5jaR+ylSxcNK5mDwsWE\ntntSjsBmk0Qo41ALF9n25dixigX+fHsF6JW0qGRmQumgdPPqVzX37S1yi0QW\nRqnNQyvfmY7UEF3KoWqctjc8Mz6gn42oim7VepIQPIzmu/hSruZrZEdMrK4Z\n9y4V2zSn/1xN8xEsTOaA0uRxw8gVdeETvfCqi56aUvbH37L2l0JMuGwbsGvG\n5o+w4CilBszqOQye22h7Si4jRRbXV8MAYFVo2olWKftIUnMREbhUi1a/StPo\nzGeimU5Uxqhmx3HFMBHIiFXGw1jcyAtkbwPCcgnjPynMO/VQ3rEUf7Ep4sGR\n9hIGtZ0mIEgCS6SOT39DzqM5NkdHzD0iZ26SoGIoWaontCygEhc9bY7oDN3d\n14YN5Rb140Xz9l/8v+Bs34WRWhZdHdBqvT8UM84pMOyBNADLgKUWGv4ESIoD\n1wNz8AGGdSC86JI/cvBsGJbxaCzGOYqOkTeEuAU5R+CXGi71suhuwh6/ockj\n+HmJJYL0xlkHKZL2WSYLmu2OQ/3Gq1/6fp++zkDeDcYT3NE2m8tc8JulXD7f\n3JiVGfq9fXrc2s/7ZxG13SGf3glzcRmc/ZQ/K4JQQkqsR1eNuTunEVvNsW+j\nL+TK\r\n=I10w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"f35ad3884f3f089ac76d313b616f2c690cd14a25","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.3","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.1","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.69","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.11","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.2","sinon":"11.1.1","yauzl":"2.10.0","eslint":"7.31.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.1","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.62_1627671680208_0.4414896160929571","host":"s3://npm-registry-packages"}},"13.4.63":{"name":"@adobe/helix-cli","version":"13.4.63","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.63","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"77a24e2e09e089da2458ae6419254c209fd32aea","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.63.tgz","fileCount":71,"integrity":"sha512-faPxUyQ2db/hkwRW3XRDKpAbPJqH7S0jQCEwjzL+vlv6C691bNCapp67IZLwAwBS5/yTJTTK1jhKTu837jDSZQ==","signatures":[{"sig":"MEUCICE6VrRIF0YOL/rrGEQH15xNg7jswApR4VVta5m5268IAiEA8sxhwJ4dNJWUi+EhRY1mvqTMA6JKhBn+xtPSZPLEhcE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":516058,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBVvkCRA9TVsSAnZWagAA1/sP/1ushh8OAXim7On+A9Wa\nnEftP9NtFDF6e4JkzjCUvyu72QNNKaE+mp4zHE2ZaoVrRYyVT8swh8GmTd0C\ngTLZrqlbHqPScdcpATYxOwpZjTike0XIRkD6Y81VIUVfpx/xJndGSpjc8UCX\nKoZ5gp6KR51He00hsvbe5I3FJu+XFAGX2LzXecMtXZtaSw33q5r764R7NHpg\nB1qKerq8Ul2w1B0D+pZFsSD/WtRLoJKfVbciAPaXfgtK5Ep8rfkYX1h4aInU\n+4HcFkj7pyfzcckWb5X6611qrB3271gbwvS+9k3DhNgCIiAQREv9sPN+3FIu\nbNS8Vj1WwrzgoHfAoMLxwOp7uQVtqooWo0e57JnYqTruGI3+ozjZWGjxfT1O\n0nYozCzRWVOI86C5xYLhv5wCGwMwPeRPZHJ03lt85TnyZSdPIPxSMu02krdd\nrqJSVFXUt+Cig+/mtuU8VJrDoI+Hn7oanT+g8tHNEqOZ+U0nmEsrDh2Ky+NU\n9HFCm4oloqqJDLKcWMFKWfAcWHlTKtx4Y4TQMAgkomfACAD5bC8xq1sOBavA\nNSgduwhwcdyWIy8rgBxBCo8PRM2+5Qb1EUl7HSKr5FN5/7PbFZK2sJx4soQ0\nQOARXETcfJma4B3YOL5+8MApB0hirReFmrPaecYSkO58J72HIxk4pNx8w3n9\n7iZn\r\n=U6XT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"7a8fb233ae46bf6a19cc43135cf805fdd4be8814","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.3","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.69","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.11","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.3","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.1","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.63_1627741156344_0.4650996451699767","host":"s3://npm-registry-packages"}},"13.4.64":{"name":"@adobe/helix-cli","version":"13.4.64","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.64","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4f6cea74a79bbbaa38deac5e1e16167b15c5b219","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.64.tgz","fileCount":71,"integrity":"sha512-67TW3bUr1s0ovDTfV0nTF8mOhzweqHkx2Ozagu0lwFt1/CRmDsyF8JbUYO+akJiFpYBX+y0m6xp8xFZc1XdCRQ==","signatures":[{"sig":"MEUCIQD5z4QIcTil0Xrb6+5O8zrVCRWP+2//hKmO9c1L8OCjFwIgGBQZomRejIU8+F1l3/AKDrh30SAfiFmpbBfl6QhHIjo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":516330,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBXCOCRA9TVsSAnZWagAA4k8P/16dPT0TOGWvHctVGLl2\nrJWz01RbjtwXBvsXYSR6erJraCJoPZGDhxVYiPzRX9/TBibuLi4GDoNtG/OG\n9F2UI4it1cTW6jY4wMH39ortHjTKZDj2CuYFx9dOl7Zk2kl62oPeAyInQerw\noXZHbE27YzFZVBIKR3r8rwn1vkvASfo5RFcsmdnlfpBX8t/wuY7gw5fIKDX8\nBkC5cRNN8g03UrKNtDfbwlJT7QTtvg9ilGLP0S2tvnCD0kyfaE1zLgLSbIkk\n+0KCGiWFsL5J6ZfC1CzEEvvtfn5tWnCsrLGO0nK07QXMJSCjWv3UjEWxsxbA\n/iZ49DMyAx+Gbr35GFn4KEuiJONCbgguyg6XM/cIw/fporTOaMU1DoqiQKox\nnDQkScbKRf0+2TUQRSOCkyRvMRLHs01idqzBmV1Z6as4ZfJzO5k7kaDucPAe\nXMG9Nj+HTLEvrXyGnOaTa/yAXlrcSxnSrwY/mf4sAN3iQlxAVFCkAheOkk9d\nuT+fo+LGu4pP1hi2P9t+8cpzAb6IfeCEpxueF+tGnvp1b75dnkxHGWu1Sb4m\n54Wc/FUDBd2b749r/MCjZffFUsdWm2VFCffJ3TE2sSDqP6hIqpXVaZf5hbNZ\njuc3eB/ZuRPYlMinVP1DfQnk5Tt/Qd8t2yp2NP4iCNuNskf2ca8N0zSW38Vw\nk0jE\r\n=fzKn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"3a1b4e1c79e38878f6e9d39e3ff77078dc430f1d","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.3","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.69","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.12","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.3","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.1","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.64_1627746446403_0.5101922156258507","host":"s3://npm-registry-packages"}},"13.4.65":{"name":"@adobe/helix-cli","version":"13.4.65","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.65","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"708cf56c35f3fc5db5e2dbbe1c5dfafe9681624e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.65.tgz","fileCount":71,"integrity":"sha512-3iy6G+IpurEtEVQTtCd26aPZbDZ6VYAAjW0EvU2AH1+Z0uLiAmDGWS0lM0EUX+zx12ddqINywPl8IO791MxLEQ==","signatures":[{"sig":"MEYCIQCxTIy9AyLLb4VGau5mzuvDOvo6BOvzzxVNIToj5LRr+QIhAJUq8i9izgTB/Cl4Cmu3u0tM0HwR5WVi+aCBTZqpNuVM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":516598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBqlxCRA9TVsSAnZWagAAEjwP/2bOn/uKA30MnNtzFR+9\nrHFk0ivkQNyk2oTZsgJanT4sff3SsmiKp2cdfDa7zAZQN+UL7n/drvhcT2pL\nMEu0j5t5Cr7/js2Jupu6RF1+KZvX794dU8k1EEr6oJ9q6bjCapChR/FAXRTo\npftoXAToHt+5sleLul6zYsbXfAE2w9iqKtDwuq058/+yKovlzFmYFXPmBXNG\n6S3/LbeQXgGT3m4NUQZnchMDZ9VZwn5eRT46ViFZD4CMCMP8wltyfms+XGt2\nHvRXAxooRa2jLHlDCb5XQbF0ak3aizWOP+7fNSuXe80QlOSTDE4OOcRBvnry\nOqGvd9Da2MC94aCI3Y/EHNEIWiz66TrgHDR3+YEWQAyCxfxYzRTWN0UWSC5t\nA1kupNLLTCoxyN8yJ4DPlml02J1EARMcAWfjsCiZu0SslU00BwMTYpNTdkMf\nF+3CLVcatxIHakecukh/GPJiL7gXFFcjiI7RUvmiW7ita6w1sguXSYOEf2pT\ngECtXm9Nar3ux3kjs2aEOhUoB3/pgFX/mDpgA1BmnL56n+QIEmyRzG4owxkO\np/EFhJWf3ZSjOQxG8OtuTKTHW93IXNteh0W36QNIunc+Jlrd3nmRMQJN1rUz\nvGjk3SF1AaFd7zHjN3kxXmXBx7e/9zG+XXgcDn2AOO/As89/qUwU0VQOcCJU\nGhJ9\r\n=2an8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"267979d773b74fee504bd8d25f99dffca46153ce","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.3","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.70","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.12","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.3","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.1","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.65_1627826545708_0.13189484895551984","host":"s3://npm-registry-packages"}},"13.4.66":{"name":"@adobe/helix-cli","version":"13.4.66","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.66","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ca1b19aa19ed15bcf3f13521ab29708e492ea50d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.66.tgz","fileCount":71,"integrity":"sha512-9hxnua+sJoaZQzpoG+qOrGsrXC4+5+cU48X01LBvxf7jte8q3TCaamovqVyBD0l48DTE5Nma6zEFDF7whjZiMQ==","signatures":[{"sig":"MEUCIFwQpgxFG/DWGxkrgUv3vweMhbZ1lcaKxNWlphJc6le4AiEAnxjmSnnof5qT/BgWmIfS3+MkDh3Bw8s4dGUtrFO/KKQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":516866,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCRWyCRA9TVsSAnZWagAAs4EP/RYcLo4InSMEECKc5fk1\n4Jn373mGaW9Il4DiDbjDPnrGg+Id62y8MefqvCMb3oja3S9p6IxusiFwY5PJ\nMGq/8UbJLZSxvfWgkjieBJ22vmsLsoZYdne6DzQOQa3NuAB1zdJ7YJBslXbW\n4qNEeAFtQgJg4JWokN3dRA2BvG/E2gZm8laO2rjWN3sR01WQjTqA6RPHGbyc\nXEMe/zaQZP92aiPD07zQFKNgU29Wg4ApkD8SJ2dl9E9/ukTIdUc54yTt6UGl\najeEMAOsM2BxMT3zXYdydXXtAXkovpAPd9CrwgcdeO6u2vAASQTbRMyIa0Ka\nTi4v3L6phruyShD0EpfHXYtvicFPGPfwTPuA1f9IQmeL+UkZwLa05NUdGbeq\nK9IS4cHoGScQzQ5RHAV7pZtqH18fq+gZERaqbythf5Vso2PRRD3srdfaO/gq\ni612XiABx9AI5SUq6P51mouXmBGluRMtgJZ3aAKQS53V/WeNXXxO31QH2ZEB\nBfRgWnd6Ymd9LJpwUfLAb3Im0UmHx0C1McpUIUh/l143okMrGwIoHWCw/S8l\noXKNTCb3Ywld9ov9VWDpwz1zD8pfE7fOD2r9Gzd1gPQUix9kaRTuaHtr+Y7+\n2NWFu7PnuWIjkYlIs+Lwmjx+7NR/4y3b/ybli+16nyXHbVQ0m3ic+/3+IoKw\nJrjZ\r\n=+0ln\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"a0c655ce66143b84c5f5b558f42d47d4d610ec94","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.3","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.71","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.12","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.6.0","mocha":"9.0.3","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.1","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.66_1627985330021_0.19100805107499563","host":"s3://npm-registry-packages"}},"13.4.67":{"name":"@adobe/helix-cli","version":"13.4.67","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.67","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"55a1ac79991fa81c0492f0cf6e34b0c03b990b5e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.67.tgz","fileCount":71,"integrity":"sha512-DCNoduPmRHO5ARv9h1MPAYQCahe2/Vy5E7Cr0QPituxY7r1m/BBGtaMdtw6Q1SFN+MVwclg0ehU4ALLgjxyAmQ==","signatures":[{"sig":"MEUCIB26FXbFgYHrHpDZMBg1iKS/crkbPlskBW/caezCjOt6AiEAsyCUMfg/v3jDxlcXnLGqw6LWo30rRY8hmKdRKff7gZ8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":517192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDqmxCRA9TVsSAnZWagAAUpkP/ir02BWMZKKMlG7DJafe\nAVl7QyfGAVr/1H9nHoajknQ9406WRjrh7ue/gO4j7FjdCSmsvvWKiSq9DEu4\nr5SdqeE38nxhAGAwt6IO135J2os9ZVjKYAOIhMBF3DafVMjKeeiZkS+0CCHL\nZjkod2wERpBJUM2vyjNwlGqN4HEp7Hjaz4EoeHVoCIBHTIGNldHAP3X8VV8I\njDV5FFtf9Roi/VJmBKmAvy7WniZex6K6Hpiu3gtZCmc24kzLMe+0bTCwy6p7\nKiBe7Ep+52Ao/owRktIpk2t2/vBZiSXvaF4b186N/ffRet2m/HirXvGwIKWk\nZxefvR1TajlG5HEI+reo2fFkvlVIRrl/vCbjYtzrHB3LFjbc4wS5ei8EPPNf\neUEc/5xppAt2B10NNgMXE+ppMIcCjzEaqINpRwZhTOiOKdwV8RcY6zzf9JAs\nJMmFEqQlqqc34qTgcCzPytU14QU/33T+ISI0OjpDd59M4azhswEsKtUDYbSh\nzHWbBnnEVacy94OgezKFwohePrG/HE03wZF12wBrhMgoyAxuoN4CxNo64tl3\nVgA1eG0jk6SOsxTtvxKB2CwwnDzAmaIS7GY0v5HV0Uq0lFO+Mq+W0a/Ggf79\nqnmvcplHT9k+sKilLm4WKNBzY2sihGzJrhOpNfRozex8wWDL/seUZQPqCeHa\naAxW\r\n=wMKj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"c5397ade3746231ac1a3653857dece6f5fc2973a","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.4","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.72","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.12","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.7.0","mocha":"9.0.3","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.4","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.67_1628350896946_0.5431710180033964","host":"s3://npm-registry-packages"}},"13.4.68":{"name":"@adobe/helix-cli","version":"13.4.68","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.68","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"98900cc68e2f4c114ef2e15abcf5400b53312de4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.68.tgz","fileCount":71,"integrity":"sha512-t1814tM6Nr6QRCd3HxS1lIdmuCMsHIUxioz0yhI30/s5FagNStEWl5Dwrfi9dW3S09HtncgEdOlQPBLcgxFAog==","signatures":[{"sig":"MEUCIQDbvt2d9VouQJ207By197fh+arKKrVBsCnZBPt3H7/2pAIgbFfMANK0i2acOt27H4euTKOyr9bBFFPRIo82+yQqbCk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":517522,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEPKBCRA9TVsSAnZWagAA6lIP/AqoSrIoIU8AkEtQwY44\nB/9tYp7YhFA8PL7xCiYiG5/frl1oDJ8KbZeJZw9EAbEvhRF8RfUP7lzzwPy7\nOEMFm6Nc7pQ9z2698u6K/+t+8egER64ozOAMFH+7ot1JZN6RB5vatRG2YmAU\naiZExUPqBjDIxU897DWegYKAKPAuYUNJPpsN3kNyAbFrf6sMjKtNECAt+hPy\nNSLvnZTqFCi4w5ZbADXzLSIe+8wox91HuK5yG8c7wFVrT3V4RVwwBt8bE9ps\nvLpdBXXwxpsg3vOI1Mc19+Uer+z/2/i4zTk0ZSBqlCc8cYXp0ir+T6Ko+Brw\nbE/YhIq2UFoKl5K2xWGeTL8oH5hVwulsN/ot9JWkwbf05j4w23wGnIdUUt/1\n+7QKVXav3SZ5pDv9x+s09A2W1Fv6+4eKdlTfppR4ujTERcAfowz/vHwLP2uV\nv41Javo9z1i6Le0jlzzqi5nfXZxnFomXHIRrHGaws9xb7Gbc/jKiZaz492u+\nDYKjNSdr9QD0QxhAzdsJ9RcxRFeEkc1AZ1LeWrMSPccchp4s7SgbSvMYTvJk\n8mjBuqoALVTr0NmnG36neqaqLE3vrwYpzYYpGcQU364IkOJNL7Nlmj82Ipzg\ntCnDdCfD95IZl3K9EYj+EoSNVCitCcFpIsD+PUAQzRpuEtSfoeMjjYidXwx/\nKs9/\r\n=oqvC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"d8cc2be6f8dbd1253a81805fc76b7d5907f234c7","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.4","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.72","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.13","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.7.0","mocha":"9.0.3","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.5","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.68_1628500608934_0.601635763869306","host":"s3://npm-registry-packages"}},"13.4.69":{"name":"@adobe/helix-cli","version":"13.4.69","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.69","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8019f1fa1a20af73e744506b4fd4d44aa9789a1a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.69.tgz","fileCount":71,"integrity":"sha512-oxTgnRJqa1bzjhtwEqBlhVsmLxoRtz0vmHk98TQ5kNIDaWYaF6txwHHXbziH74U7UNM5z1Y5k1EDbu4ghqkF/g==","signatures":[{"sig":"MEUCIBNOZsmCtgvRiNM0PkV3TXGODYqlnjR0tNTlqK7SlucdAiEAu5PUWFYU89k5beH0Zx6uqhxwaX3BA9j5sLH0nufpfyY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":517848,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhETwsCRA9TVsSAnZWagAAvxwP/32qRDPucQwPRWAxVdng\nzJiEN3uootiVUn0z5zcFipRtMJCfbjC2tZIGZRAa1qnF/Qqt/G+6tX1RSUet\nOB9jeqxeGmELuWEpolX79Lah57K/jaZH+AQ74lFybcOZFanv1PDYxX3aQCCx\nJddXdslLEXwjiuAaB6Gy1m3a+uVlX8SPHdAZDbSdOMDeCltERWHPLhBt8kf/\n1AvLLnofdnLTsvqSZ71bIRjHusiB55ea1183K1jV/KRtDdgo4R3MMcb07DNk\nn1JzqgLUYOSaGkAs8kFr9SNHMnJNsQThlXkZPrD2wzNP44R746QaPq93BmgV\niJP6KuaW+hNvI0ZWd3GX/l4+mcX59ZnMAOFhe7Co9hdwymUU98i44wgMX0Xd\n5dGFZ0VsNnuT3WjggELVU5umoLva+wNnSGDT7h5k9no0In2yW4E3WlcvIFjy\nWoHfxGMCfrCwLtYmy/Aj+U+3Bw1q5iU/SNj5oe++LsGG/+fYh1kkvgVMeubG\nH+MA+Kzge6H3OD6QTNlzLIyFa1zgzALyaEhwHEqA/yFfNdLIBRx9zHp/FSId\nUuyEan+SR9LYgpFWrMWwe+EBbspMTtWp/A3qHDs5PY0jJMLNaPFN3D2jfA/S\nlnZGQD77MBTWGNvRGEdPAt5EjP15FS2bg1+3I/HGYFsSE/apDmfQ8uVUxopx\nMYDt\r\n=Aaeh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"86bf0071790e52dfcdd81c3179748a66e25678d1","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.4","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.73","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.13","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.7.0","mocha":"9.0.3","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.23.4","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.5","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.69_1628519468534_0.34322828416755424","host":"s3://npm-registry-packages"}},"13.4.70":{"name":"@adobe/helix-cli","version":"13.4.70","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.70","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"5e8286b784bb69bdab3d364bdba45c50a2480358","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.70.tgz","fileCount":71,"integrity":"sha512-v9FsYlLADYi1hvaQ+wDa8hBa6icEh5cKmgomBeznXjrXyctEBuJH7UHKno3aigxLaJtnhoC89q0t7p2s+gtcAA==","signatures":[{"sig":"MEUCIFsafXtv0dOCV8saiSMH7YhzK8WWoV6LDD0MvA0v+N18AiEAl+iNAJw6WKLTRXjcSdmA3D5TeLU52pqJHPQbDOt6ZJ8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":518120,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhF9wUCRA9TVsSAnZWagAAs4IQAITyQ5l7sQvAM2LlZWXX\nvZo4V7CgyD3gdFqqPGkAd+9vDexLmQ8W7ll3iWiaoibOtH8XjVTn91Z1zPbY\noDOydFa8DH7QeYR+0VFR3igQrUpAQsy17KJ1pWK4G3GXbfyUb2rtibUoBzl7\ntv89d35wQaO8O6yKn/HiKmaqpt6TAgSjZ2Dm7DxgxVuWzOEeTpvoTCaLEJRQ\nGk6718Gz8q8d/RKJRlRVaPaUmSM+A8RGCcBHKHCDxb9W7RZ1UB2QiE2qsQEq\nwXKu5pv1d7fT4AiBkpJ0v4MnWn4DwIVVv5AKFucDrDs2MuuXgGLdbzgInRt4\nAI84smd7qvYI9Gs9ubGmiRCgCuNWMdUKhhMPhAfBiYlKLMnRPb1q3F+WbQv2\nyEv0GZ7PKgLsPxvi9tC0ZGtH7v2czPf6tbfqw8YYp/5/WgGptb29KbqshaRk\npFS2PeL90j3Ni2PG2jGJLbZVWyC89SDVj8kqTjMnswAkvvnjHgae5rw0bV8n\nxVypr5SZ6ZXnFFujq0QDsB4oUkP5uG32jvG6jxeUbB0tZSisZVabRG36vtUl\nuh8RU9aqdsKpUSkmeHWrhFW0o+2nv6E3FlCXqClI0WGeGi5FDGLou714LH9i\nvi9tFMbFE7u4PLsoimR67XuRo075rF961PGEdRDzwfJ2KrB4WXEw2JauPYRW\nRmTU\r\n=NH5V\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"8615052b9c09b3243bb1e854586c9aa8073041bc","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.4","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.73","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.14","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.7.0","mocha":"9.0.3","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.0","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.5","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.70_1628953620550_0.693948506900903","host":"s3://npm-registry-packages"}},"13.4.71":{"name":"@adobe/helix-cli","version":"13.4.71","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.71","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"c203efd9480041bfb0a3eb44472632d6d1b5faa9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.71.tgz","fileCount":71,"integrity":"sha512-ZsiaqE0O73eYNTOOwLoN927ZV6501EHhIwbH+iE09uUOdaf2TP6POzAf0JmeVHBgnkALgRLUXhfIlZ8k9NFSXA==","signatures":[{"sig":"MEYCIQCkh+8W9jggs7RlOOMjHu7XIpORacOr+af5WWfVopmknAIhAPCvt3Owm2J4ymQSXXCCeAwO8zqQJ6lfP6TOGUpKppEh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":518388,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhF/3dCRA9TVsSAnZWagAAzx0P/3O88HOfJUkYDIpqMauL\nUynF7y5kLSADOWR5xfvdmPTTa5+d8BT382lDFTqZxmo+mQNhRDqc3xgFX/29\nSIjyREK8AzFt8CF7uzho6zLjYP5kAgwZqKww071UvP8oig/jC7A4Y4c3N6Fb\n/b5K9RX94/iGmK1FUEUIjHN1hlbIMD0NvMvTyRs7eJ6KBBGAk7qhnZ9Go375\nlQ0HPI2EcF0pjoDzdegmexboMXxZtoEVNvDSCLRSfK/kEjAUmfC9tNgMJ2kH\nvblQFIN8ZiGDVs+0vrFY164vRZsysAiQP9U53NA6htdY0HeHVakUhtmdY2pC\ni7pIBlxWm0ykxPuiBaxN4x8SeUZS4YDDROi0ICs1qhnDY4UjIeQF3A+gbAbB\nmnObVkwpWwYflixc47UYS1NFTBJDSNghq8fA2nkXtFBJOznQauUQzuF3WdYS\nk6mV5YJLn4GLoXbZzV2ZQ5YkKtSMsNAn3jyj2mMTkYetjOxn9rqaBn7b9DLy\n0LWxX4lrwS4raKXXj93O3BwLceERIIoxCVaTVlQgkj1DZZkLW/GhSJHyvC06\nVheQJT78SLwSMLYWJx35pC4bWupMeXieW4WQTQQqF8J4b064phEL5HODfULb\nkzleAp5sbkguFMXbxl0FwWHf/DmFoNyuPOJ7uUwZIKbTxfIY9DcbjDymSZFN\ngxdr\r\n=SjKa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"80501249efdcce1c217ec30aa46bea47df8bc8c6","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.4","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.1","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.74","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.14","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"16.7.0","mocha":"9.0.3","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.0","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.5","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.71_1628962269678_0.7211129872164102","host":"s3://npm-registry-packages"}},"13.4.72":{"name":"@adobe/helix-cli","version":"13.4.72","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.72","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"958fcb3a172aa3b44fad5a35dc77e69d96c1c19f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.72.tgz","fileCount":71,"integrity":"sha512-Ifyj29CnwaTaBINjdEdUfn9406cSC9NCmgyBHfG75yWdUzF8p72n2dyW5kTwQcYt/Fxf6IcaUWJ0ip858LpT/w==","signatures":[{"sig":"MEUCIAuhvbyMQtANa1GuKXYpAYVxLodeiUB/sT9MP0RCcISnAiEAqhpYWRMeWpKSG9Ul2/x3hdChCx5IAdj08YOT7z0i7oM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":518836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHWYJCRA9TVsSAnZWagAAWFIP/A9u9oj1psbdApk6Ckt5\nsl0dK2OyhqKlcxvrUVsxGjdc/YupoV7QuTmfdGknY+E4YkupYPB5Y/8IBW63\ni50eoLGlSQsniYZxtefq65KFYq38drygZWwQQbZYrRPrtRNnJNhvW6ClL2GT\no1mx6Vtw4pk3W5TNKNXRKO2/ft0k/RilyXMsnWMXGecJMEa0YxlX5jQhKu1f\nQmmGq9xpc+6PDEhWxIzHClytTDGfqUEVi8Yq21X0qsGXRvpp9K3fVUYC46qh\njgirnl9MI5AvuS7WDgU773qNUhdWo1mZv1mlII/M1RmAwquBE5MILfD7Nw+J\n20C6C6Eru+9wjn/Y7xaLpbT2DHdORq2o1+X+h0sSZqwUt2SpAmmRuuUqEG7G\nuQh6obGDgwfBnBvH02n5BSVivZ5m4aTk0FHrfSAEy62I95srYelKXFeG0sLO\n4IJmlXnaDBkoAQp+J9KxtBAMe9mNixj68s/avzYKqqfneRy7OTgZ3aM78URT\nMCa136kGerKY6uz5sUMejjw4YcRV+YFmYqqlH9JGG0Z6i/GsGbmSU04mWCxb\nC/vbCzEKEJEB6gis4ngS5m8FW6JoBFqL/dGPKy4YyXaFng+WHZH4AgIFs7wM\nEcULTx92vPhvuJoqP3AU5SrVy7nVktYJ26XZ/AaTWQBaPb3Ug0Lfv9QKfAsv\nuUNP\r\n=ywr+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"f665b97addad7fef98d2047d758fc2e3dc610a4d","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.4","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.75","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.1.15","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"17.0.0","mocha":"9.0.3","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.0","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.6","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.72_1629316617550_0.5572344538579694","host":"s3://npm-registry-packages"}},"13.4.73":{"name":"@adobe/helix-cli","version":"13.4.73","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.73","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ea70a1855edf3f86be91c58e3fa62034125a3f1a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.73.tgz","fileCount":71,"integrity":"sha512-gPpDXHwzWB+mNIIB6n9sNLIn6z0jultSB66A0Yz01Ry4eMHQ4lNJSLYqA8YzPmPbR1IPj2m/opwuk7DTIpivrQ==","signatures":[{"sig":"MEQCIBMJW+NvnBAGjvt7ox1C3Zuu/eO3fpYDPogWhQt52gqTAiBkA26lbzy2gXl9+vzzMtZlg30Tf/4GgUTMlpbkzSCT3A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":519106,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHZaICRA9TVsSAnZWagAANqEP/RwvkLD2ShRSPf1LYW00\nksgWWN5w5Pug+FdbrSoOGZ4lDDVL7I1bDZ5fKkByJrLrcDIwUYMDDAFDUfp4\ntNXh9x6BbRGrQLtxRUPec5EILuQzScmlpEjbIF/etKf5D9W5iCmCK7kmqKYG\n5nhXTwDOEJUbhUc4SR80APWvgpugJG1oZwspyPTUVcyU2qNXfpLq8OV5sOS8\niUdebsTVILuUkMylK7ycrqIAekn4372gDli1j34LBEoeQXZQ9Qh3/cZz+MJ1\nLVKG0l1eiTsIwIcpQ9he5DHZ0IQW1l9WkWAZ+oPksGvfBXWOgBhdd4LylOdK\nvkMfuvb+SkpNfD7FHmvm1T3Upqesywd6WKH685SxmghKru178c1snKLOXVNS\nvOLvXUzK1dqxGUjo5JYWSYhLQdegLgfNf1t0ClNKg2GamUKK+L4SmyuIDVY3\nXCjrLHJ0L9UjpLF6MiQWenoCN3IGpJDjGj4Ji/TSNb9MAXbjEHOf+hhAMryj\nvHWRQDbL0RQdWCRyAiNhYrgF80Azq1O/tFcA6gESlew5ScLEVGAt4VkOreNy\nsVNPk/yBXj+WVWyUQ+6pO2tdKqeiN9dRl1jXX9frDSCGY61cTDrO9muY1lcI\nfq7uoI5d0K+MRoHQmLCD6okA4e0fSnUN3KjcZdcK2OyrK3uGWQITF/tvrA0c\nCh7G\r\n=ySeq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"047c936dc8bdd4d94f9da737d32e4708d290e2aa","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.4","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.75","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.2.0","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"17.0.0","mocha":"9.0.3","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.0","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.6","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.73_1629329032836_0.1798708704339469","host":"s3://npm-registry-packages"}},"13.4.74":{"name":"@adobe/helix-cli","version":"13.4.74","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.74","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"02711f027b94c29e04e9893ee5242ac522a9d07e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.74.tgz","fileCount":71,"integrity":"sha512-RAKiiLf/s3Ewi9iEEBMSAcOt9iq7Sf0H1IYL647AFzHjqjP4r11K3z2SAUiat1Nyq3SKbOfX9LcwFIfG5dJU6w==","signatures":[{"sig":"MEUCIQC9aix+KQhDPJ1bSHuJq5dAYOMGL1kjk9jxcM+LXFOolQIgD529uKsLRzwyaTWcf+FUGZurnCgAyP3bmqDLtModG8M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":519374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHcJtCRA9TVsSAnZWagAA55wP/RX7Gp+/F/Pf6PN2N1Zs\nHij9GWaqgFVIdGj3Mnu6td1TCCSc9jhJ0pYtAW7RN421i4xE70uU4OZwo4/J\ntXcDZzVzokW6TfHKRYXRpUkqDhMzEdlHjgjZ897DHkjxOKCwh8VL/lhiXkV7\nDPMRN8hqvxY4vZpaTVMYwNioMtCKbegQQw4umKsCUZRu6LoQcWnfR6Rd8tZR\nNDdyxGt0MKUJHfszaNau1IAWVKIwZWrNbRcpnK/w+TRv7jBiW+WCNFQtsd6r\nzcw3CLvRbzIqrGpV4bWw+cGVm2tOom08KRMoGUDdsIWdWxdX8CADEI84r38r\n0eTdLB9v9uOij35XbUVkMoyHErEL6r4ADEm8dqIQgTJtmA/iFdC/S+Qh/pZ7\nsbkdWBzB5pBhU08gEKPa1s8duBuoVyxrqNCzlqWPIbkPP3OVyfXrZtxng8RP\ntSr89I8XZal3juPfS7mdnQX92U+DGbnYkIhkZ64QUODtWScwCllPs4Iw915W\ntA2oi1J8GFSYn+LNklIKcer60YZgWGItCbk2iNEn/Xm5f/o5acMKLWkDugY7\nz8/NV2/6EPJ4p/wRhSRgz1aRCkw1LRCKyHLDc8lV2ulD8V3l+xbUw8Y3ydS2\nEZdlU1i3sXkl2UKEDGhwgiUw0Z/E4V8hNPmIl/WdnlMa5aSNeuKEyqAj3oXr\nawwf\r\n=JLxc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"916132e7f788e9658b70daf0e7b04f9df1c91c07","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.4","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.76","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.2.0","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"17.0.0","mocha":"9.0.3","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.0","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.6","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.74_1629340269849_0.84927834587629","host":"s3://npm-registry-packages"}},"13.4.75":{"name":"@adobe/helix-cli","version":"13.4.75","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.75","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a3c6fe79892f8290474458ba8a41ad8b413a5bba","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.75.tgz","fileCount":71,"integrity":"sha512-mKlPM5dXBQGQHi6sfnQgU++FCZskjiWW2cuZcxNhTON4Z/NbODVt3oOWzSRvdwGt3bihuFrM9FvI3VblSoG64Q==","signatures":[{"sig":"MEUCIGhtrwRPlBJINxR1xXCB/p/rI2AMjn73GVVQBGxsUKhSAiEA9QDDbcH1N2TwGJ6bwqYInUA/UemI58XsBCvAx/3X+SM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":519703,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhIYOSCRA9TVsSAnZWagAAgr0P/A83SfRCx9UMdjdVQGzm\na4btP4l9BmHJ9liMXjE0oCR1mOZ1EnU8g6zhM4xP0xLTnv57sooirPBNVCvF\nQdBK8rsI8HigR3k9sxWBuM+/eot9xHUE7q70Vp7yaKs0jw//ICzSF3M7K1Fa\nf4c6iL2OJb/AE1eGyd2fl8Al3yzAFX6V+ek02nZs3fh2ZzBaxZbz8QbqHjuU\nmuiKy+rK1mERP5tFWi+B21/jBqCjYSlZkIpsNGeBj//flR5ShTE8TiWFZnu6\nxeHLWANY97Lv/TWC9+pj160pMbpOTGiBkDgQR90/aMNQSQMyREAITAeaVbUq\ngMddQRWedm3KBDwTMYLmiitdj6xt446Egq6+QV/J5O+UPIpAaPpqF84N1PZY\n56a67XjwJdaoUHhilAd2XHVCMDVRFIYrcrspoee3rXc7Jg0KabUUc3TSQ5YK\n8M4URjqQW33mtVUaX+yi+8H3sLssa/dtxnDfSofGw/lMuAPDRayRt5HToOE8\nKOV4WYaPPGDiftm5dZ3CghZGU/aGHOWriX9fsHLfjunLfvVRoRO4ydls+5uG\nm36LntC9oIHYKwmQYYbTZBbYUAxJvMQX9fzAXXO+ezg0V9Zavuv2d9boqvE0\ncps8IQm4bkkRlT+e2OZp+1v5ZQqdNHONbsOPlMS1n105IXvTfV+c0dZzPF4O\nswd+\r\n=oKU5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"a9afe8d17c7d2bfea83d21e575ec7e0db738119a","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.18.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.5","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.9.2","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.76","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.2.1","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.1","jsdom":"17.0.0","mocha":"9.0.3","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.4","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.0","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.6","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.75_1629586322203_0.5581358203931577","host":"s3://npm-registry-packages"}},"13.4.76":{"name":"@adobe/helix-cli","version":"13.4.76","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.76","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"58f31f70a357ec0339955c583512a17c861c9cb7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.76.tgz","fileCount":71,"integrity":"sha512-puRjzVK/n07uvIdewRoP169cKpVBFLAliWUXH1CkRQKG47PQL6RzKCZC7LyAnwRzKtyoJS36VfKExo5hkWflHw==","signatures":[{"sig":"MEYCIQDbIU32aC9hnMzNaSlaGmXihHGqc6Xfrxkk6OYHUzlQ5wIhANLuMHKM7jhxiaPw99z+OsyxcxPmoMfDF2oRS0lT0agk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":519972,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhIb0/CRA9TVsSAnZWagAAcV8P/jo51Suwa5vQo379As6S\nUDmWdf1UhxiX+wSxRgzLD6Oh56pEzWfN8rXbQRON9hW3tUAVryw2YEh9FDtN\n/lb2eBJAuORvcwzUe0fyLY5YZd62ZNspjGQiZb1UCBMdoUrZbxW1CFfZPOAc\nmhlnq4bq1Rteqn3TzO37P0W4Zvxls8rXplOFp8gZ0hgccU8cfn2HpregC7eS\nEKsR+P0jzc0miovzcIjk0FL9jti5k8ku8KT1sWDTXp0c+nkbjYbSZ/oaKzRV\nEFwGaPVRZVX4x5uaUW+oua+V9i28kYZ5+9DzzKE+i954IGO08ctNzyS+IGdh\n09PSNIxABj8QTdgJ3E/2IKAE81k82WrudpgdQ3yYhX1/F+4dM0+eAUo6s16h\ng53X1s79OTI0O7IfA2MC8fUq//O4E8ZeTwhRvVM7nEftx8yFhpPRu+WyrTop\n7T4i8K3hGGERZpKls2CM5jOJIFk7zkDBSmlcVqBk4wf8/Is8o0t/2ap055hQ\nhodaeDWOvX9HRFy8av7HU/3WL3OsVUF8eOwaA7giZifydfauEV+cfEGeoO8b\nMQHvch9Fbjk+0QZvE8YxFFVpcnxIhA5xtqvC6H405ELM3YweJZxL996EpI6n\nVOlEMoc8GkCf4yvefYjuOkHAangKmnIfyueR9wPJaEw6Tm8X3Rk9bGwAkRMs\nyWOu\r\n=BRp+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"54b99a2cf1f6a86a2d58869f7864c5f5ff460129","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.21.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.5","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.0","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.77","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.2.1","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.2","jsdom":"17.0.0","mocha":"9.1.0","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.1","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.6","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.76_1629601087040_0.5573280582089826","host":"s3://npm-registry-packages"}},"13.4.77":{"name":"@adobe/helix-cli","version":"13.4.77","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.77","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"518fffde55a1cff082ca202498d643e774e38eb9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.77.tgz","fileCount":71,"integrity":"sha512-eo/LNOYYAKiWQWoa3gF0hk9ediAbwL8Km/1eCGFpeATlnQMdln3c7REGZzz+pnV/rnyI4kKaZU2lScjIiyHdsA==","signatures":[{"sig":"MEUCIQC7xomhgj5nEWvM/DfVH6B6bGjSvqBcgPFgQhgsNGt5xQIgDls+/HoOCxU3/edsG8qT8M4rKepasI9CFBEZaj1VEYM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":520243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKmhVCRA9TVsSAnZWagAAYm0P/28BO77nDrSaOeeLJwD/\n200HrQUKfeHdlTOGKD9Po4OnYM9dixqC9zY5PkYptlrLG1oXaM6ZjWtWkmZA\n3WzQrfwHP8ZFfaraLCx/O1cJ3YiqR6G9vcdj8G30B06fAkTF+3L4Ri75VkwR\ne07H2OPhdRL7rAu1OrEz4XtCBS2jI+P57CZclSL9vsOKSheGWVRwjBgb7QG2\nJ9fnK195P0vgmgN86h1Wq+KJEaVXdBvzqspwrmQDRCUfoIN3D+lqDakZJ3Zc\nGPGD9R3NLWCAuOIBWnWVR0+95v+EHb/wnIlLWnpWOa0KjzjUxj0I/TwIy4Ps\n+gk6302PjtinyGLYMPfPWRMt/1jogEnimP/fXHn71RsJltSqUEkKEQGqHROu\no8+ckVcQGJfLTfJXiRmiKKKkRh51Z0N1Ats6zXKh2lXLLxAkexx/1yKqRhy6\nL6+S36D3f/cKfWAiF/wZSETnYFbtFMEw9ui3zp4T9CZ9z3GtH7j3jHbIh7Yz\nHL07Pq7ohB5I838aUHgrfTgVmfFi3QUPOtf19qrQX7kPH8t7tjtqDHxrUy65\n5xdlGLxOk1m1fCONqJZ8fL9Ci9GoSLO6+UAVq0PReTT8Ekaiayd+euO2bFnw\nQNS1p/5L06/8dnpHEDaK5mC7hz0rgnnxAv4njGMVIe2JiVVZUYGZ0rioJ58m\nHxt5\r\n=Qi5r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"069f8cb55361d2ca1538ba9038e34ebff046ee49","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.21.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.5","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.0","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.77","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.2.2","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.3","jsdom":"17.0.0","mocha":"9.1.1","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.2","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.6","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.77_1630169173259_0.20858324799652106","host":"s3://npm-registry-packages"}},"13.4.78":{"name":"@adobe/helix-cli","version":"13.4.78","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.78","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a75a0bea9d2ebace8c7f6ba1c02949c2dd836a00","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.78.tgz","fileCount":71,"integrity":"sha512-UDAHvLKh7iDu8sfw4Ddx2a9WZ1hDxe83sPWaFNLGdhrsRd9rvOINTX+JvF+ZomQAWUi6ailRXPialEpBFa1dyg==","signatures":[{"sig":"MEQCICe/AwIIeLfbjSqJGUTFwx2cyEanQCEKnPTi/su/5wTgAiAanzR/ICC5MxjMF42GUxfCCO9G8rI+gAVDgj6+AK9moQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":520511,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKnVCCRA9TVsSAnZWagAArFoP/jGQHnKI836e6w3cs6wa\naE5OS5EluywTz3PCW3Rl/BGACi9EH1loIsbgCXUoLvvwNR64tttX51FvZuql\nO9eGeW9rhjbaXQPcGEFhbEC2JOAs264YL/dOr7KGnY10mpIVIBH78Zwh8c3P\nnreceCVcHurImX51SbizXbdFkNk5AANh8/mzXXJ18iekpzFdI76LR9/YoCd6\nvciG6ALwkxg6cf5BUrtUtM92p9PWYc4K0225pA3Z7fJKDAWdbfg7jsjlQhgy\nIuZYLj4J2GoES4Damd9lplR2PNZ5RqtjG1wP7ul3F/Fej5FgYLP10VNGnk4W\nfBBNsYMeDTyydaw7Mjvy+Gt0YkaQtobJeoJUARPpKFhliVOCyf1KslJks7+j\ndUemcPco5Lq23XLdhYqndWxr7j2yrGi6OMIB53L75hvuTnF4m7Dhwaid5Wrn\ne3dDF9BL+fMpRo4rvf7cUjA0WUQAGzwaHYGZM9vG9t9lhdkCJWDAvlt9GMYz\nyjtCgdvRjaREANasc0vEsc/OfnAMqg9+XtFBEW25h0/MVllgHAtnhta4OhRT\ngpElkNzVszdJP0CvOgxG77lIGKyuRUX2dNRgpp8EK5VDX6Y3YxV3CTA3whlS\nGjIwt2r6SjBO1RlH/YwdgB7UZNVEHmaOcaYDpQtUWFrtpnPfnpXFiEz1wjMF\nUWm8\r\n=NYPX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"b769d803dbfedbfd2f67ed1cbae1b6390e13f738","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.21.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.5","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.0","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.78","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.2.2","@adobe/fastly-native-promises":"1.23.4","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.3","jsdom":"17.0.0","mocha":"9.1.1","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.2","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.6","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.78_1630172482481_0.4117170425356511","host":"s3://npm-registry-packages"}},"13.4.79":{"name":"@adobe/helix-cli","version":"13.4.79","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.79","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"cac9e935f7e5167020b5ecd175c23ca6ad93d81c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.79.tgz","fileCount":71,"integrity":"sha512-E7IhMN/OtgurRDTpaXbiMDCogdKrHVv1qKxLEHLTVpkWJfqMUJyMYIr3MCZpEOdepGxH+hh9nJuXrfeBN/prtQ==","signatures":[{"sig":"MEUCIQDFfvDFijURJKiAaJcxjHWuLE5QiEqrUTbAukHob02OFwIgWS8orRL7oTJPgsVCho1DxSW+w8glRc7NqaxcgAh1tsA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":520844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLMYbCRA9TVsSAnZWagAALYoP/2WotPXnjrbCD7p/HBuh\nMi2tEUAJX7fuGZcq8QKZx59TdnSL9q3BnuZNDkxrYKzw/7GMsuL4IQpnJo4J\nomhhHS5L0PMK/XSeu5SR3l9UWiKoTfWQplr840f3PWVJcF3GrHiOurt+Z2Y6\nhiv7ygLN6ptgUzaD5Rjvj8kU/i7xXElWJ0JiU1peuuhIeXZ5VZUnSXygWuEH\njVkGHErrdOzhh7X5ogo62wkUNybl7nPYXWZPxM58ipBjBsR/3ldh2n7oIfTQ\nEJ+J6fLFtYKBiwJgxlzgrsNKyPReGNDzTFHYFg/6EX4gxDoSep2Ym/XYaY5H\nQwNnMewf6Xaz3w6Bs8ukEvkrvjYaljqPI723OirrOwD889+yQVAPt25Id91e\nGIrVZovopoQf0GW3ym42uuExMd/kGHQxmYKjjvmg7YZ438jL/AqmB+RLpA1E\nqFeQC+7CH1bgaohPxiDRySgJ3QPoEQZMFepRYKzuz2G4bb12h0uXayI50y2h\nlWClRJw/GSB5xdZQOSsu+vpsBMb7BWkOmd5w5SoGZBZRIjDkGy30xChmtt2s\nQ9ho8cUx9KNBFMFXICLr5j6QiTeorf6VorrMlM/G8FZcC3BvjldltPMGURo1\nOZcHI97uWefynN7y+W212WXKnE4e/6olqOBznfrCXTt85rMnkwyjP5hu42ea\nXUDZ\r\n=c+/z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"942d92c1f22351fbae513660a97922ff6a91d7bc","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.21.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.5","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.0","@adobe/helix-log":"5.0.3","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.78","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.2.2","@adobe/fastly-native-promises":"1.23.5","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.3","jsdom":"17.0.0","mocha":"9.1.1","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.2","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.6","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.79_1630324251339_0.9790088349789547","host":"s3://npm-registry-packages"}},"13.4.80":{"name":"@adobe/helix-cli","version":"13.4.80","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.80","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1e4305b9be354b74fc37b869961bb20d021abe43","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.80.tgz","fileCount":71,"integrity":"sha512-kBP0igRU5S1e6kgw++Lveayg0DJ5FVSZo0Hp/YHlyK4U33gkaPPfIGRHk5Ig7M6hrT9MXiVQHWfQla/5a8qesw==","signatures":[{"sig":"MEUCIQC6RwuI3P1fpr9+1ClQuNLbAfd8kh1GKo4FCvurnXQTpgIgHWCvd8WwA3nKhkoTcUZ49nBj7dmTty3PG68RI3g0ysk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":521079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMQMLCRA9TVsSAnZWagAAs5YP/0ojl9aXUj5K5cYDDtCa\njkkRO8V+hVNVluCjeBH2mysP3xnxVhh/+t+SwMGzXR/ox/LjsGlpKJ2okNnb\n1WQj1bWooZyCoNMIN4L1igyZ8BWD7cG0VkSEqy6ArYypVGVqpaQ8BRgfzQ9o\nmjvbjubT/109H8DpEh9tDtxeGs0aGmXMqDcQxPbOp8/qYuRdKbhmKPMUhPPi\nei+PiLnbM5akkip5QUJ4MxC6+DrhupyYs8SaPjmC8aDgWhgsc+RppVzHQNNN\nlUSh0352lFvUhYwqCmYrsc7wT/OFqB/PGOfNVBzqtTk/cas/zVMfHo8jyJsa\niT95CnOSQ2a+yB1Br+XBIteahGh7s3dpFQMXR5i2uQJqg/t6J40q2g82Msz4\nTv6FtTrXzytEm+5TSLu49rkonHUpImTW+uJ1R9LnC58S5DDyMhhho1a6z5yD\nTDpp+0SxO4T2XqOZ2yo1nP6FkDRDwehnRPY35TjAC5GfvGjbS9UljSfFsuxs\nxnO0JI222pc1HrD27lTr/1K0/bHN/jVNVEbtbqUj/ocOFr9SaZflQYNh26Zq\nfRSxXqf/4EZKhFQAXj9DtH9qz5PYriZ3TGcXOf0Vx2MPPlWp6nZp5s01GIR5\nJM0weuFc3poamxHXbT9AscHf42FzrTs+Y3xjqibql8z1EnXq+5+E3A3Ma49o\n+BQB\r\n=w2uF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"1f28ecbcd52c60870befe5bc1a8505683a981ee4","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.21.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.6","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.0","@adobe/helix-log":"5.0.4","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.78","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.2.3","@adobe/fastly-native-promises":"1.23.5","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.3","jsdom":"17.0.0","mocha":"9.1.1","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.2","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.6","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.80_1630601995000_0.8821010545262575","host":"s3://npm-registry-packages"}},"13.4.81":{"name":"@adobe/helix-cli","version":"13.4.81","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.81","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"macdonst","email":"simon.macdonald@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1c8b8de416bf2bd7e7b133d715bbe97130ff9d99","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.81.tgz","fileCount":71,"integrity":"sha512-3wU9FFKdZp57Er88Mxujcpy//tUcNzrCBZDJmRH2PnIqyn6WhQD3A9wihDXXOjInp1fOe6N206aBnvNzSXHS5g==","signatures":[{"sig":"MEUCIHCFIv4SX6RBPoc67FCtlT0CA4QdifKFewwLW8HKfldWAiEAs6jjwpZ5NUlSGsk7mU6ujJTnH2s4m3aP+uxIvnpcN7Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":521405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMgVNCRA9TVsSAnZWagAAyScQAIZ7FtPM+8g5cV/RZ+AR\n9gmO+Aurl/0IpE0NcOzbLSUcFitH9SMMeuUHIdvnmu2VDIrKxPEVbvVsarUE\nSOxHvq6pmNPuu4KLJKCaFSCLL/7CVfskEJT7NbLY42lwLV0tclH2beqwwE6+\nZlKcW5qgsuP3y9frUfKS1G6tIMU5yT524z9eu8efKoooA6E5nLgQ4COPyeRE\nxUcdVABpfzqf9XkKQ/LGMqB+5PR3/HK1lrKDI3YwOJ3vCh46TDQI1Hb+f+CU\n2rZAC/tl7rDJM7kZdTVuyWbhIL/7OalioYa6ZzjwnpDTZ414LIbypo/5Nlfx\nm9MuayQYxEW5EEuJvq8OYUWwyBi8xm/GgLp/3J3xzM3fFUnBlg5cvcDM38IC\nd8sfPfw+lQpVxZkp+abSatpveX0ASfk4/flqtSWxnXYAAsHrmvaEsYTN7zQd\n4ocvU//WvCFXof9sLR608sLlrgaEUEJ513bHh6CSq1isa4rIDnMyaCyN3SfJ\namlZ7RPvZ9D2Q0gdINl/C1qrUvJ7nDp9viuW7giG273CCUss5kraoNuVt08s\nhLSkZQEnvsRb8lHo9QQ7dYSpmctNqjYI01k01IIfFmjx+urN7sOjiRu8TiHx\nTP/Dt01wdeoGoxrDISczVt37x1ox5TOluzv0DU5oNbZzTxDDdfJqyxl/jIhV\njPY6\r\n=VhtL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"d6d6ffd0d97eb3e6c3f36d991561c0bc03700e32","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.21.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.6","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.0","@adobe/helix-log":"5.0.4","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.79","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.2.3","@adobe/fastly-native-promises":"1.23.5","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.3","jsdom":"17.0.0","mocha":"9.1.1","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.2","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.0","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.6","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.81_1630668108852_0.5708266738281471","host":"s3://npm-registry-packages"}},"13.4.82":{"name":"@adobe/helix-cli","version":"13.4.82","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.82","maintainers":[{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4be6ebc85668d21a9d06e3215e7ea888be4f3873","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.82.tgz","fileCount":71,"integrity":"sha512-NVzhsP5b51ud+PdPrwBYJPuX5fcNb1pdc2J1h7IV64KLreyrC+EyqmLn/MfUTW7ZM8kLV3LaPK5XWLNfPgmGjQ==","signatures":[{"sig":"MEYCIQC2xPFAmulMFUSKOO764Th+ocNgMHjI+lC3fPNlLN8lgwIhAKDImyqp+6NprwrI0TzJYgbJ8PHNxvA63Y7VZIkZ5WoX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":521698},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"ab55c6bd1f7be3547012db45ec1422f2f72e26b0","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.21.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.6","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.0","@adobe/helix-log":"5.0.4","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.80","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.3.0","@adobe/fastly-native-promises":"1.23.5","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.3","jsdom":"17.0.0","mocha":"9.1.1","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.2","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.1","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.6","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.82_1631915513022_0.7038251139157814","host":"s3://npm-registry-packages"}},"13.4.83":{"name":"@adobe/helix-cli","version":"13.4.83","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.83","maintainers":[{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6816117342ad3c869e7184a859b09eea9afd837d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.83.tgz","fileCount":71,"integrity":"sha512-9gZBififLVayeHwNayCgZqDfTXISHPnu8406IHvgMThaZtf0WHBHTZKPtJZEsmgnVy9V4RUKTFo9JuBvkh6jRg==","signatures":[{"sig":"MEUCIQCm3qNqfp9pVFw8iFlDLZWxnM2Gump5HG6BjF2N55K7IgIgMohgfpzAlgucEC1otYFkrmbz8RqvOcktIG3YCwJa/pg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":522024},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"19266a1a6b75850df05651e6ac28856b76570ee6","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.21.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.6","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.0","@adobe/helix-log":"5.0.4","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.81","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.3.0","@adobe/fastly-native-promises":"1.23.5","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.2","nyc":"15.1.0","nock":"13.1.3","jsdom":"17.0.0","mocha":"9.1.1","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.2","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.1","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.0.6","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.83_1632136593158_0.521244035198617","host":"s3://npm-registry-packages"}},"13.4.84":{"name":"@adobe/helix-cli","version":"13.4.84","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.84","maintainers":[{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"542d8cfdcb9555f1f0a9f02bb74eb0ec155cb30f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.84.tgz","fileCount":71,"integrity":"sha512-PE2xpZG4+h7KJYLp8sFxLwWMdFlD7ztIsaU3nWy+7wlS5fP/WZNqFhVA9qnSyh0/Zd98aV3Sha66J5ljTP6piw==","signatures":[{"sig":"MEUCIQDc2LxbLhICpcH2dNaQd9bndSPEvlitKA1SfaKabjFo0AIgYxsn9E/75STrzTgwKoHAsD7S/RFULzeSgTXfSfdVcTI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":522317},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"d6340896acb7cb3ff89294474884f2188b1753e6","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.21.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.6","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.0","@adobe/helix-log":"5.0.5","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.81","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.3.0","@adobe/fastly-native-promises":"1.23.5","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.3","nyc":"15.1.0","nock":"13.1.3","jsdom":"17.0.0","mocha":"9.1.1","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.2","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.1","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.1.0","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.84_1632138081099_0.5721379027511335","host":"s3://npm-registry-packages"}},"13.4.85":{"name":"@adobe/helix-cli","version":"13.4.85","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.85","maintainers":[{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"48f05bcbb0912da31c67c8850aa0bf8886f72f50","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.85.tgz","fileCount":71,"integrity":"sha512-EhuhuGONEY16BoYc53hg4E2bWK9o+e3B8Gc0VEKcZwrM3azahR4iCkbUUrdrrJJ2Kt8fqWNPVCEmoxLy9C8nOA==","signatures":[{"sig":"MEUCIB392lRmhRoM4/MMKzYODFQ4T/qggbHTM3G+9TOZ7WO7AiEA0BnmFdlC5nOmhXshBV9sR23daG7RwNJS70Yjx/xCUbc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":522552},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"7ae8d7c80090ea8a494e00d94e78b704ddd54f73","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.21.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.6","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.0","@adobe/helix-log":"5.0.5","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.82","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.3.1","@adobe/fastly-native-promises":"1.23.5","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.3","nyc":"15.1.0","nock":"13.1.3","jsdom":"17.0.0","mocha":"9.1.1","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.2","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.1","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.1.0","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.85_1632144323475_0.9011346408185956","host":"s3://npm-registry-packages"}},"13.4.86":{"name":"@adobe/helix-cli","version":"13.4.86","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@13.4.86","maintainers":[{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"cdf92d4cd24f4b2aa3255cae8e4caf108aee3d29","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-13.4.86.tgz","fileCount":71,"integrity":"sha512-Of/7a+z0MEwQP0wtEAqZmEuy8ERBLDZNITIuz5Dkc73yP6DoA9r1toyv3yYtshEsaYJm351jbKXC0tVYmYBtaQ==","signatures":[{"sig":"MEUCIQCbYXxPGhnKhmsXdjbnesfr5oqbiNRaIK5wDP7cS2zGrgIgRu9mTg2G8buxPfkcnPW22y43ilEO4y5DbuiypPm1ge4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":522820},"main":"index.js","config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"192f8410af0aff35eb2938080f77fa01cb0a0bb3","scripts":{"lint":"eslint .","test":"nyc mocha -t 5000","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha --reporter xunit --reporter-options output=./junit/test-results.xml -t 5000 && codecov","test-ci-win":"mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.21.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"12.22.6","dependencies":{"ini":"^2.0.0","glob":"^7.1.6","open":"^8.0.0","uuid":"^8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"^10.0.0","ferrum":"^1.7.0","ignore":"^5.1.8","lodash":"^4.17.20","semver":"^7.3.4","request":"^2.88.2","shelljs":"^0.8.4","webpack":"4.46.0","archiver":"^5.1.0","chokidar":"3.5.2","fs-extra":"^10.0.0","progress":"^2.0.3","camelcase":"^6.2.0","openwhisk":"^3.21.3","@babel/core":"^7.12.10","hyperscript":"^2.0.2","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.0","@adobe/helix-log":"5.0.5","@adobe/htlengine":"6.3.8","@adobe/helix-fetch":"2.4.2","junit-report-builder":"3.0.0","@adobe/helix-simulator":"5.3.83","@adobe/helix-shared-git":"1.0.3","@adobe/helix-shared-config":"1.3.1","@adobe/fastly-native-promises":"1.23.5","@babel/plugin-transform-react-jsx":"^7.12.12"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.6.3","nyc":"15.1.0","nock":"13.1.3","jsdom":"17.0.0","mocha":"9.1.1","sinon":"11.1.2","yauzl":"2.10.0","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","proxyquire":"2.1.3","lint-staged":"11.1.2","@pollyjs/core":"5.1.1","unist-util-map":"2.0.1","semantic-release":"17.4.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.2","@pollyjs/persister-fs":"5.1.1","@semantic-release/git":"9.0.1","@adobe/helix-testutils":"0.4.5","@pollyjs/adapter-fetch":"5.1.1","@adobe/helix-shared-dom":"1.1.0","@semantic-release/github":"7.2.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@pollyjs/adapter-node-http":"5.1.1","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_13.4.86_1632164667220_0.049015400502500306","host":"s3://npm-registry-packages"}},"14.0.0":{"name":"@adobe/helix-cli","version":"14.0.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.0.0","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"370f8d1acfe39516e3ed045d61e69619129c50aa","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.0.0.tgz","fileCount":25,"integrity":"sha512-Fnwy4Pd7SPW1zy3AJJTAR4nF1in4HGWcaaVOxxOUsdWgixAjiEihXQZ6eBbahkJLCKlzM2GI+nel4UwJNPWIpg==","signatures":[{"sig":"MEUCIQCi1tSdteLjOke5755pVB6cbmMrMKTQTqrwRfpYsuQuRwIgKq08B0tkeNrvEIVv9txYtcyKmmOPCYo11zBTaN+IMdI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":256585},"main":"index.js","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"75e9956cbeb4294230ee4f65d591ece638cf9d6a","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.17.6","dependencies":{"ini":"2.0.0","glob":"7.1.6","open":"8.0.0","uuid":"8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"10.0.0","ignore":"5.1.8","semver":"7.3.4","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.0","livereload-js":"3.3.2","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.0","@adobe/helix-log":"5.0.5","@adobe/helix-fetch":"2.4.2","@adobe/helix-shared-git":"1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.1.3","jsdom":"17.0.0","mocha":"9.1.1","sinon":"11.1.2","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","lint-staged":"11.1.2","semantic-release":"17.4.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.2","junit-report-builder":"3.0.0","@semantic-release/git":"9.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.5","@adobe/helix-shared-dom":"1.1.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.0.0_1632406871136_0.9602776818606251","host":"s3://npm-registry-packages"}},"14.0.1":{"name":"@adobe/helix-cli","version":"14.0.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.0.1","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"09bed1c9eeeb484a8de7ec2057e7941a666b34c7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.0.1.tgz","fileCount":25,"integrity":"sha512-ML86wWpiCZ1EkiyiIKrCED3Qx30/RuByaal19oiiY3CTQqKC1YxEkivROf2EKHR1b3nK3r+hMzcW7cmZCGQh3A==","signatures":[{"sig":"MEYCIQCvVPD5HkaM8QQ4v3/SEojfIlONP5CCyicIQNMoA+LxlQIhAKGk3gvXG7mFtvOrrI/e+QGRS8vW8cWXSZNqB/8c42Tk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":256923},"main":"index.js","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"ca2f01886f24117892a221c1665bda4f6ffbd023","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.17.6","dependencies":{"ini":"2.0.0","glob":"7.1.6","open":"8.2.1","uuid":"8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"10.0.0","ignore":"5.1.8","semver":"7.3.4","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.0","livereload-js":"3.3.2","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.0","@adobe/helix-log":"5.0.5","@adobe/helix-fetch":"2.4.2","@adobe/helix-shared-git":"1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.1.3","jsdom":"17.0.0","mocha":"9.1.1","sinon":"11.1.2","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","lint-staged":"11.1.2","semantic-release":"17.4.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.2","junit-report-builder":"3.0.0","@semantic-release/git":"9.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.5","@adobe/helix-shared-dom":"1.1.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.0.1_1632412314218_0.9286236389592148","host":"s3://npm-registry-packages"}},"14.0.2":{"name":"@adobe/helix-cli","version":"14.0.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.0.2","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"cb3d022e4cb20ef0f62de4ea971b28d30ed8081e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.0.2.tgz","fileCount":25,"integrity":"sha512-g+pAK+hhcraM8fngyvs1Pkip3Jjeqy2bK15U9LufUCrNZk5JlJcvSYciivJOPphOwTOxwn6mAbFli7kYy2rXlA==","signatures":[{"sig":"MEQCIClnP5MQPXf/xaOP84UaVHC4Nh0xZtRggD2VDbux7o/bAiB/Txd/S1QddcR9zw7BESNZTQKNAMPUiWMAryq7KGVqKg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":257158},"main":"index.js","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"a5d98f966966eccfcfbb17d8d07478ac28f2d5c3","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.17.6","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.2.1","uuid":"8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"10.0.0","ignore":"5.1.8","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.0","livereload-js":"3.3.2","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"5.0.5","@adobe/helix-fetch":"2.4.2","@adobe/helix-shared-git":"1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.1.3","jsdom":"17.0.0","mocha":"9.1.2","sinon":"11.1.2","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","lint-staged":"11.1.2","semantic-release":"17.4.7","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.2","junit-report-builder":"3.0.0","@semantic-release/git":"9.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.5","@adobe/helix-shared-dom":"1.1.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.1.5","@semantic-release/changelog":"5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.0.2_1632580298472_0.6020031581594851","host":"s3://npm-registry-packages"}},"14.0.3":{"name":"@adobe/helix-cli","version":"14.0.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.0.3","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b9b9b6595c626eb53539db40b396ceed6ee68a9f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.0.3.tgz","fileCount":25,"integrity":"sha512-BYwPCaFDcaDkdAw/grIa3QAwo3HVVlD7zYO5dcyG6xGtIfS3kjGcveRnYqeiaSL2bsFtyILl09WMFmfDP3Rfkg==","signatures":[{"sig":"MEYCIQCP12X7jz0hhLhVSlPzA14eMf+6dNP6H+4AdsdW+NifigIhAMR273IBIVYYORR+Lvpzj7xwkpsf9v0x0dzG433v4ETG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":257496},"main":"index.js","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"d15dc945b5983468e809e8b905b88ba6527a2c74","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.1","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.2.1","uuid":"8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"10.0.0","ignore":"5.1.8","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.0","livereload-js":"3.3.2","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"5.0.5","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.1.3","jsdom":"17.0.0","mocha":"9.1.2","sinon":"11.1.2","eslint":"7.32.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","lint-staged":"11.1.2","semantic-release":"18.0.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.24.2","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.0","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.5","@adobe/helix-shared-dom":"1.1.0","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.2.0","@semantic-release/changelog":"6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.0.3_1634546127722_0.5753617187075304","host":"s3://npm-registry-packages"}},"14.0.4":{"name":"@adobe/helix-cli","version":"14.0.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.0.4","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"72d58545669423557d3f8f6a222b92d6f19efc35","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.0.4.tgz","fileCount":25,"integrity":"sha512-QjpEMvDENFxwBd4Aj3ibnHmerMUYV6ldE6FevD33sM5lB/i89AkdppkQaIdN6z7enir+P6k866lMYCAavCJg+Q==","signatures":[{"sig":"MEYCIQC7NfuxEbuQ7Uiyx2tCvyeBPd+jKvCyCvtnHvoqQ88mHwIhAK185i7UWoja2JLxHN42697nutlxNWrnXzcZQeLRrZqm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":257644},"main":"index.js","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"58bf21cfba6c06e41384d95b3a05930dfd4c9b57","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.3.0","uuid":"8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"10.0.0","ignore":"5.1.8","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.0","livereload-js":"3.3.2","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.1.3","jsdom":"18.0.0","mocha":"9.1.3","sinon":"11.1.2","eslint":"8.0.1","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","lint-staged":"11.2.3","semantic-release":"18.0.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.2","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.0","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.5","@adobe/helix-shared-dom":"1.1.1","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.3.0","@semantic-release/changelog":"6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.0.4_1634751040839_0.8941268280427701","host":"s3://npm-registry-packages"}},"14.0.5":{"name":"@adobe/helix-cli","version":"14.0.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.0.5","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"239d43ee2d0b498113ea12e181bffd3adba64a6d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.0.5.tgz","fileCount":25,"integrity":"sha512-4qusdNwdrxjxb6yeyMEdXs5YMqttsPxvTqMyb3nI4kXksSxf9ai9c6WFn2zIuVfwnCYcWDDG4xA/bTBgBE8dgw==","signatures":[{"sig":"MEUCIQCRlYFSM1wPJ1pRkiwVsSfpxvB97NXEgvjwEpYzYYi4jgIgCw2XET+LzhGCxDeiQ/XktS7hkiCdZHE8X94KyYbdfY4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":257725},"main":"index.js","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <15.0"},"gitHead":"341b55800d85ed03f4717ee76d30ce4adc32054e","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"10.0.0","ignore":"5.1.8","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.0","livereload-js":"3.3.2","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.1.4","jsdom":"18.0.1","mocha":"9.1.3","sinon":"11.1.2","eslint":"8.1.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","lint-staged":"11.2.6","semantic-release":"18.0.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.2","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.2","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.3.0","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.0.5_1635850935579_0.8170782883050502","host":"s3://npm-registry-packages"}},"14.0.6":{"name":"@adobe/helix-cli","version":"14.0.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.0.6","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"80818b9b6141347a126f2b9009217e4ad65ada46","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.0.6.tgz","fileCount":25,"integrity":"sha512-COG6+QRqw0xNZSu9THYN3ELnYhY24ayNS/JeJyYEpflkl1h5grWcMJ9kTwQMjb5ewAXxaLCZy18lvORlFijcCg==","signatures":[{"sig":"MEQCIC1bi09XWghqEsT+4sniwXl8OEcGJahMx+RL8W6k4aoPAiAXtxL3PZ1L0GS8OUBqHK7w1l5b0sgkv5ePqlEYc7vzjA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":258888},"main":"index.js","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=12.11.1 <16.14"},"gitHead":"430889bbcf11720a291af35bc71f20f0927cb9b0","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","chalk":"4.1.2","yargs":"16.2.0","dotenv":"10.0.0","ignore":"5.1.9","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.0","livereload-js":"3.3.2","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.1.4","jsdom":"18.0.1","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.2.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","lint-staged":"11.2.6","semantic-release":"18.0.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.2","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.2","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.3.0","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.0.6_1636446168661_0.974730837346172","host":"s3://npm-registry-packages"}},"14.1.0":{"name":"@adobe/helix-cli","version":"14.1.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.1.0","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"fe22cd7e8e6e6fc37616281e53db1ca9927e0537","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.1.0.tgz","fileCount":26,"integrity":"sha512-nZUSKFvO2gS8jn88wTocMC+10bsm5PKiGqeOYYJJMeZ1JKOG5n9DZFnqn1eLyEGxuUjGuAPe5DRPSps5HzTlDQ==","signatures":[{"sig":"MEUCIGf7dZ89pbhdHeNZ4o0TFE5f/0ny4CppTfFtwjmytQT1AiEAn9FhmY9zd5wQ2A+QGjpk7X1W4TCcfzvbKwkA1fhkYjw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":263936},"main":"index.js","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=14"},"gitHead":"029020c10fb62e2186046b1aa101da834a21763a","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","chalk":"4.1.2","jsdom":"18.0.1","yargs":"16.2.0","dotenv":"10.0.0","ignore":"5.1.9","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.0","livereload-js":"3.3.2","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.1.4","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.2.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","lint-staged":"11.2.6","semantic-release":"18.0.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.2","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.1.0_1636636619607_0.2431364191177554","host":"s3://npm-registry-packages"}},"14.1.1":{"name":"@adobe/helix-cli","version":"14.1.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.1.1","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"9bd4b4013c10ebd82b01237d79a8707b0f6bf950","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.1.1.tgz","fileCount":26,"integrity":"sha512-AKHeEYqskTtyDmFbaSOWD+muaNaYpRI8UVK2+1Zu0MvjL8wZY5n4mjydGV5bQR3Edde9FLoMEgaXVPUWmgWydQ==","signatures":[{"sig":"MEQCIEs+PZcU7nRTfpa7HQeqfILc6g/oHsB/JEE36hgET2vgAiAF97SWg8gets//ru7jyBSwTJs0aG4udBm7vhw7o/5CkA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":264274},"main":"index.js","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=14"},"gitHead":"1159c9e5f174b4c67be7ab0ae0fb28d8d3230448","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","chalk":"4.1.2","jsdom":"18.0.1","yargs":"16.2.0","dotenv":"10.0.0","ignore":"5.1.9","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.0","livereload-js":"3.3.2","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.1.4","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.2.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","lint-staged":"11.2.6","semantic-release":"18.0.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.2","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.3","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.1.1_1636639064817_0.9609169498661445","host":"s3://npm-registry-packages"}},"14.1.2":{"name":"@adobe/helix-cli","version":"14.1.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.1.2","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2f48fa0f765025d390daa61601bd539df4a60651","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.1.2.tgz","fileCount":26,"integrity":"sha512-DNRTPtRSLispy3+xwXpSj08nummMkiOOYJmXSm9EDr01x6kchtSkYKfj+gle9yDYKR8OQkTvV/FvzwUjc9sXDg==","signatures":[{"sig":"MEQCIFBnD7fQ5MmNe4rCBaKoyhY8Y5OYMwVygojrI+SECdjWAiA+oCI0tPIafXOngTW9rGKpEMtobv9uPC+3qDiluSfP2Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":264567,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhmQ1lCRA9TVsSAnZWagAAY00QAJKzyBEP8EReD9bmXBT0\n/uT3WGb4oCuHCWeXymP9aArIbryMuViBO0NMbSl9kH82oxoO7JMzjl04VJSE\nnuzs2xqdrXsmil4Q73uFiQcxdnWdOHNas0PUqpO+VL7XVVjxiWnTXh9c+k6l\nL7pkMck7pecckz4/EYcbYk0x7u/GTdVkNzcfIGhMqHP7tMSP44P6GERfrq5V\nzu4FfUVIaRapDcZe4oVKAB0GOyOo/2Yint1gYuUlsa6e8Wh6PQ4LrGtKnOIF\nJK5mdWDKhNsTntdPWVjPeGOQOujJI+6IdAnEnQi6BT6eGOjOug1FGCvk38yf\n81a4lNrEw16smmLXXSkN5R8O5ECp9bWiIpe/d8BFVD+d6KsmokGffeowkQQN\nPwVec5uNtrPOq0ovGPO1D9RASIrR531mxnE45wi3egpIxSS2f0BF3TBMzsWC\nIL9O6HjaSMmUno3rXJ92QzURrZctnKldrr2orYsBoUptPXGh/r5FiwgZ8QnS\no1Djjv02TxcRjHPcuf0JJjgsCtOUda5lI2upiqPc0CEl1QHMl7dSu3UrIM3w\noR64PiWtkTTorgaJ3IMRAD6cr6w7PIjHj7oJwxNrH43KWRnpMgt2+zwRLgbT\nbXa41csmsU0+zK6IVhkclq06Vyac/QOrT2RAjX3pWN/ma2gywP1I9ic0/3g7\nHIrg\r\n=ELIE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=14"},"gitHead":"f10b5476c75313165aa51b3751746c530b57c0f6","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","chalk":"4.1.2","jsdom":"18.1.0","yargs":"16.2.0","dotenv":"10.0.0","ignore":"5.1.9","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.1","livereload-js":"3.3.2","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.2.1","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.2.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","lint-staged":"12.0.3","semantic-release":"18.0.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.3","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.4","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.1.2_1637420388951_0.5920270392830942","host":"s3://npm-registry-packages"}},"14.2.0":{"name":"@adobe/helix-cli","version":"14.2.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.2.0","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8f8866ad221eb6624334a67fc544fa6be7009c94","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.2.0.tgz","fileCount":26,"integrity":"sha512-GSXi2N9UBA7WGoJ9cLcDgRmBnjtd1fBOXL1EFdh32qgvuQjqE2olGJ5oI1J204vU+PuaSI7aLB0hlq73Jn1mcw==","signatures":[{"sig":"MEQCIFz+x4bCaBMsCxQs2kuA6mFlw6kjpSf2MdpJRVjVsaoTAiBxvFX8ZbMJOJoxVuRxSm4A27V06n85AGHWuhH1W/RDjg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":264989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhn2b9CRA9TVsSAnZWagAADKIP/04zMrZ1ErLtSKMJaWvi\n6dCzXgFG5XZ7bwRuuM9AtMcQahG0TXI+vpJQ9/TJ+5oGZBfKwKQrXcSc81gZ\n0Y5hzLHOSpeFxzJ44WI5O9s/LC3TnqzIsCLusr7A5Mg/rbvZynSk0Nf5Wauf\nIjS23AHp016gX9tAUWqCq9VQ6kcDDkxH/3rf6CRVFoHVf3Whz4zqwgkeGI0D\nzSNi7RSSKajGt+8PhXUhKcMYKhGL2GcND9L7K6mzNbzy5JUpmBgM8E3GyT9H\nkfpx3FR0PuhUUHvyOXT1rZQVjcVHn8jCPyhUtjcOpPTFLWZlMTyNpMO+NF/v\n81q29xaCTuw0xeJ8bfoj4Fnk2nXuyEjT+yunMEUDunl4z+/M+WFZB4FWbMIc\n66XFejwqMSW8mBY9nskxC4LLyPRpLU5vcl4dWA3IR1SqcJMWAbDYSVf4vz5Q\nHf1t+0Xm1YqE9o3iy6Kn3h9+LSFVUsVL11WweHSamNRE0RGj6W5XMN/YoV3q\n3usiG7yV49K03aSR1CPgP0kYQiLpM17Rtkx+8FFX/86eXEYtCsTcqFB6kff+\nUiCDC5mc8tvD408rf04OLaeUl/ypEelvqgMva857f3ipX4yBiqQL77pjrPzU\nwcq+Eb/B6qNsAXDb5JmcY0oqvVTIxz2DW3/Mzqn4OkkdXhDlfk+2hUOHfTX4\nL8g/\r\n=8ys2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=14"},"gitHead":"a80d036c2341e78d18565ca6f96edd4b3adbe52a","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","chalk":"4.1.2","jsdom":"18.1.0","yargs":"16.2.0","dotenv":"10.0.0","ignore":"5.1.9","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.1","livereload-js":"3.3.2","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.2.1","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.2.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","lint-staged":"12.0.3","semantic-release":"18.0.0","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.3","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.4","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.2.0_1637836541281_0.3345504740541496","host":"s3://npm-registry-packages"}},"14.2.1":{"name":"@adobe/helix-cli","version":"14.2.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.2.1","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8763c08bfd01e43414972a5e79f1080af574a1ac","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.2.1.tgz","fileCount":26,"integrity":"sha512-0PPEndIfn4OBn+/DPpGHg/rpVk3rPjwSY4DoIRq+6+aZN8inRzKIL+dJcGcoDFm3SSBtr0ouOOEWgi1P0soQug==","signatures":[{"sig":"MEUCIDNPTbIGj6nPwcIoqRmJ+du8nFHwrXIMp5i3Z7e0V3iUAiEA/0znbZ+L1BZR12om6enbMkFqo8Us0pPRsvSZurdIaW8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":265428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpKCCCRA9TVsSAnZWagAAr3QP/ieGbaUh+OvXx6/GVcwE\nTV1WIKufUWLUjjZ0PfHNjIPRfSaLWqXAZZY3zIQGzcHgNakmjjFaoiqfnf4U\nWajlJYRQLKDsggacDinz0p5EyFRnt0Tbiohkn91Yc0WKj7TS9yfusnTuWgpK\nzAGvR1A7n+MB55UIrHwfBxmFsBkRLpeFgcTPztn4fWcx48HHHkuwpTzUwB+M\nBjqft4eyJdLUNBSedCE8KyRJ9bfrcK5XH0HdvhCJkSEhvczcaKv/uVywnC4Z\ns04jvtqmncsWE7I5fSb+UQHFBrcXvP2kqijo/ZF/QYGOZbq9lxnt/RQIEBBb\nxyYOk4mneZyTCgrTCvuf8nHfFbHjIkW2qqTdVDUePiZxg1osB8Zh1qjqjaxY\ngtfrouGgjIAtDODCPP5WMaIkXiYx4+1D/RnzNusVpnBMzsdPJijJcikWNhQf\nIsQdK+jtFZacNlJJoBqmfbw5t5ZUxnS81+4G4agnsrLTHi+DLPh0HoVZnhHr\n94UPfCLE+XYVNULwf6smiHfDRjGEn3b964zBPM0Muln3x4fysUl7Fu72E6JJ\nkKIo6kDRnrvXBxF/ynov7/7scaWA2EmMdP7dv8n2VDZ+kl3dnZezIzuwPcLd\nZ0ieyTlMualhfGBP+D5ZiH/nHNwEOCdV9mvrQTosy/Dzr6spKCjdPYhQi4g1\nLIT/\r\n=qBFi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"config":{"ghooks":{"pre-commit":"npx lint-staged"},"commitizen":{"path":"node_modules/cz-conventional-changelog"}},"engines":{"node":">=14"},"gitHead":"267bd09f3eabc789b2c7819488eb4b09d9222878","scripts":{"lint":"eslint .","test":"nyc mocha","check":"npm run lint && npm run test","commit":"git-cz","test-ci":"nyc mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","chalk":"4.1.2","jsdom":"18.1.1","yargs":"16.2.0","dotenv":"10.0.0","ignore":"5.1.9","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.1","livereload-js":"3.3.2","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"15.1.0","nock":"13.2.1","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.3.0","ghooks":"2.0.4","codecov":"3.8.3","commitizen":"4.2.4","lint-staged":"12.1.2","semantic-release":"18.0.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.3","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.5","cz-conventional-changelog":"3.3.0","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.2.1_1638178946003_0.24282927647502306","host":"s3://npm-registry-packages"}},"14.3.0":{"name":"@adobe/helix-cli","version":"14.3.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.3.0","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"12598a3327b24ed889d3d221ecdde5af670a8a91","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.3.0.tgz","fileCount":27,"integrity":"sha512-mdoNXNcCjFaCzEDfyp9fVGu8m7xYJwMU3CBu/ZLW1WUWScgCsQK/4lNaCcIrkKboozREI4Xn5wFBEIyXC7+Rbg==","signatures":[{"sig":"MEUCIQCI82ox2h06Da0TvyFadOnx4enBFj5gFaAyMJs7Kli8NgIgHZ35MJbrmfkpv/RLtKbgqSd5N0Y8fDfPFCIjCLNSVyI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":265275,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpNswCRA9TVsSAnZWagAA9iAP/Rm11ezkKu3dCaldG/zH\ntEYEmQsDtc4sY9LxNNcpMtR7DMmgv0J+IiM6sdXNAZdA1oxRWsQXSJYn6RAQ\nxyhZ0BA8JmxWtTJ8WwF5H96QIvz5r4asZrloASTSIQi6HfyZyFR93TQyiv/J\nfHnc6iMyAnI2i+qLcuB4w25mPvlgTOpjM2uMSPTH5MYaH6ufsb1i5+xhLkGW\nKzzW/k0W/njTymBxFXI4j4dTSKrQwMBWFaVytaIU6O6czalPq3t2QonfBNQ1\n/j0c0oMGEv9rmHXAUEtZpiTuvo+yPjBKPduDFfLbtlh8vzrFt43WfJWagdAr\ne5PsJf5iwU/I7Ctwrp3HBa+Y8Ob2CO85WMH1iF9AozNxRTjgWHfRkZxP9JvM\n58tX3a9WpZ8LWKek/tWiYYVdQ8pcQe8LLe37qEj6TU2XZPZBuPGO+7QzVfIS\niWbgryigNmWbF4CaiKHnwRom/wIEGvHed2F8eZe/0v6OxiabbDUqtTs7ntN6\nwXKg6imfuGOFzNMcZocdFbaMvieB+9AiORPCySxGOHcXGsvQfLiDBdWJ6nr8\nj9wvTaVTimDXUEABx9H9RViTXsJmMORKVdJljMAn1FJA7AaIbKaXpCwJ8xEn\nd3weyhbCtaQI0Ea8Nowp55naadvtADGODaFovi4GVIi4GT2AwfL8WYoxOsDv\n+U4k\r\n=DMip\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"c6871fca1a82f23c5382f1fc0e41559d2f2d8026","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","chalk":"4.1.2","jsdom":"18.1.1","yargs":"17.2.1","dotenv":"10.0.0","ignore":"5.1.9","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.1","livereload-js":"3.3.2","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.10.0","nock":"13.2.1","husky":"7.0.4","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.3.0","codecov":"3.8.3","lint-staged":"12.1.2","semantic-release":"18.0.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.3","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.5","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.3.0_1638193968761_0.2457770053389754","host":"s3://npm-registry-packages"}},"14.3.1":{"name":"@adobe/helix-cli","version":"14.3.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.3.1","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"e87593972d9fcdb06b84592726aeb706cbccce48","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.3.1.tgz","fileCount":27,"integrity":"sha512-m/Zq5SDIZ5vLIo6jelnT/hAuuhGshypjTrBxdMPZDAH1PzW8tDco3I9lAOCSnMOsrLwLJ5bQkxsYRsOJCkaNVw==","signatures":[{"sig":"MEUCIQCkBK8d//LzgwY/d9+T5Eue3ejneN4/AOX/dRcrYznmfQIgAqZbk9RYHAw0W/qh05DCqgZZmk5PvIvhtDmSX80NrUA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":265778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpOlpCRA9TVsSAnZWagAAt8YP/1HGzCJcDkkLbDlWTK8u\nAgyj+FCAtx/k/HIlY+m7UaSnq55VLBP8LMMtn5KZ6gqyytC0wD7RAsf5O/LA\nH2gypFC6nHOLkiyYuQ4WC2dr8OxepUMqLc4xDDMjv1FKhxOzxmnjFy9CrLLY\nM74WZK61ViyQDud2ATBPn5n0Qf/LPZV+q4WJyP3mmHqPmJP2OsGZigdUblfx\n98bVzgNRKCSkGldQXYiEi9HzhBL2xsrleZqNEfEnQQS7EaZTL4Zrqe6J15oy\nXAPzUItN/Z7ElseCzRNx/RYePm5JJhWoVLw/OdKktNR/R+om2CCKAR8+xChQ\neZZ2qIqvsbg1IdGTLK3Cw4GmwTZccuykMxf+aF17z7Ulo87updr2r9vYM6Mc\nthmJLybIFQ6RPvIoC9xW07d0E7ya+is816mgtP0hOeFDunMcgOmBqjlDm6gw\ngbhsXn/Oq/bVqUGVRieiJ9rFQSzwKSRTnkUDOsYTfgLgqpw2G2SEEAvy4DZ4\nsuNyyIws9DSWw4pZdlP1slerrkzTEFzRASkpshQbUyPYN3JdygtZxbXSfAzK\nIvYXgsG8cIXkpnKtNm5bBdkv8XKZTJRsZUP8hHfWYYNqRMvugfEA7lnDbLso\n/x6nH0BxVrWK0RSp27GYC7bPHBDyWaVxympjxdrsWjMM/By50EvsRgPFynRq\nQfv3\r\n=M5uQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"1712a1fddad4670be484a39b7bd889c3348861cc","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"18.1.1","yargs":"17.2.1","dotenv":"10.0.0","ignore":"5.1.9","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.1","livereload-js":"3.3.2","chalk-template":"0.2.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.10.0","nock":"13.2.1","husky":"7.0.4","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.3.0","codecov":"3.8.3","lint-staged":"12.1.2","semantic-release":"18.0.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.3","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.5","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.3.1_1638197608997_0.6197522210900197","host":"s3://npm-registry-packages"}},"14.4.0":{"name":"@adobe/helix-cli","version":"14.4.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.0","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b50c3e94652ca032d2b9ba95c73bda812c5808fc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.0.tgz","fileCount":28,"integrity":"sha512-oWKQYM3sEdq+dBoIPPZ+CAOX8/AybFczElzh+yrRS3TqUYY1T/v55nAR+iaKd1kRByy28K6l3i1vae1oca9S2A==","signatures":[{"sig":"MEUCIDoYAyKRn5QbmVhxppNRCwHBd2LIBVXD2VWLob/OKe6EAiEApUp2HWr6hJqPMR0FpcQzubVft0duqOBckXqV+0kttl4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":271279,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqP+bCRA9TVsSAnZWagAAyQcP/AnAhuO0j5+ccXElqT35\nRKPuKMyDsJQ33eR6Ob14KS+w9RWxPrNe3GBGd4VKJMBBGjkCokwuEzDlPg71\nuMO2M/0DPP8GzNdTZcxr/1/kmO2lNFkCuCrNDyDsvRGuGEMlg9QY0G5X8Jux\nGnX3ZxhG2jrvCpqoYyjzB++Rgw8CBhqlwMgufizdN0YfT1ZupS2jgC1PevOq\nCDcbL9hxIgG8758H5+/H3ZPkeZwEZG3PI9lZAl2+RC5Yz8juf9A6W7QFnV+l\n3/N8iAzUwZfVXCM7cvmxoU9btttNBeScVBDv8d5wbP1xdHa/OQL8IsPio13N\nbLjZkAPizMHVfqdOyRMJh56KWR/499H8XcNa4WpAyfCr3nOx62VGSn3Yw78Y\nZXNdmazsx7q44BEKCJHyZY9cU66dAcMTlCEBUfaOb/b8EfHPucUf0lU2EDOf\nUHxAMmeqVBdEqZTS02Mo1PrHfw27YYJGyxe83aELuO2RAhg0UmB5KS9SD5Ul\nqb8lnrUL8GRXeFFLmmWG2xWYajc+0qxGFqvBUvatDunca6hVXHJ+La9gxGul\nCr3KXVd76Z+dDVrmZ9qMtBju8WvCs7+gbwh33j58Gke54KxU5/CwbjovsOna\nkUV53UheySMgFTx3H9yJf4w5GySp24hUKR0NVAGtuoUQnCEdOivObJ3Nnfxl\nOpT7\r\n=sgI+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"ef311b4e13c2cca7ed7c943d1841306255ff7fd3","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"18.1.1","yargs":"17.2.1","dotenv":"10.0.0","ignore":"5.1.9","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.1","livereload-js":"3.3.2","chalk-template":"0.2.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.5.3","@adobe/helix-shared-indexer":"0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.10.0","nock":"13.2.1","husky":"7.0.4","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.3.0","codecov":"3.8.3","lint-staged":"12.1.2","semantic-release":"18.0.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.3","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.5","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.0_1638465435368_0.7686304275955571","host":"s3://npm-registry-packages"}},"14.4.1":{"name":"@adobe/helix-cli","version":"14.4.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.1","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3f8d6c7633f9152ae805cadd9d858cc93599442b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.1.tgz","fileCount":28,"integrity":"sha512-3fs9Ijx8uPHhLARun0RZRr001S6zyx8As451rBm/AeTB90FLIXp1UzpAy3tnuYofG1UJWwIiHviLYXD6Yz3qIg==","signatures":[{"sig":"MEUCIQDL7hzA1CJ/JPS92TcvJOzLDFH1aou8I2HFPU9TV7dXSwIgSr9gxex41SACdaKJgKqGzjS0JUzOg8d5NS7GR8Z1Jpo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":271547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqSJmCRA9TVsSAnZWagAACGsP/iQiVbOOA6+MpZgkH8s9\npY9g+o2433NIPrNO87sYNJ5cjys5sbeRmbXK0iZzZxKQCvaUqw32B3BMaiQg\n48tENMFpUJzCKJkMu38q1KrWJz1d2StULXabDcqtVPk/vnoJ3Pz/3jer8FbX\nInZroFyagmXvMLspvJx+V2LOaKTr+vaGgUBDCsHs9tiHd11KneI3zX1Cf4BM\ns/6jHLy5T30a5eIgukNUkb7FQQcgVRQodFUXLzPaKxyAuY+vkSYE6Od9dM5L\nMYtYPMau7yDynhp0s66lRQnY9O37JFscYeLQXXfFbsRGYKCLibP0MygvCaZ9\nU4wbwJoznn16d4BinugQBDzfzdjx7O1TgRjwAidt/TRFlnGNeOlEKHVNBqO3\nBcHfSsOdnnw5zLKOLL1Y2wWrpqZ9gv15TRk0fnhLPEy6EtNZg0/iHHx9GFO6\njxrD6ijN+Qo2oUhhQpUlXDS/z0uUjTuUajUWogHJLX4Es/u/sk8A3adABzxg\nqAufnE080ovuZPrjjKmpU3XE6epL9p2doXr4HnSBoW1Po6QfkaEjHoAv4VM9\nLLtgHH0ivV+/verQQ92P75y/dppBD+SLketiGDLplbzbcGr+LkFTSxOKTfIe\nIk4zz4cbxdOeunVVnMO41PejCnG5uH7QS1I/ddB1TiZsqhR5SlBFnh4L4dRx\nqRJP\r\n=PHRi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"606618d08dfae8b51234c71601a18f8dbe0f1ce3","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"18.1.1","yargs":"17.2.1","dotenv":"10.0.0","ignore":"5.1.9","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.1","livereload-js":"3.3.2","chalk-template":"0.2.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.6.0","@adobe/helix-shared-indexer":"0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.10.0","nock":"13.2.1","husky":"7.0.4","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.3.0","codecov":"3.8.3","lint-staged":"12.1.2","semantic-release":"18.0.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.3","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.5","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.1_1638474342145_0.8142141120082595","host":"s3://npm-registry-packages"}},"14.4.2":{"name":"@adobe/helix-cli","version":"14.4.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.2","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"124badf7e94cc783a20fa8a7cdd40e66b422eab0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.2.tgz","fileCount":28,"integrity":"sha512-hBrDZIK9U1BsXn1OoyWuwTGbMX0filYHCmcWM0X2LswJ/wTNKogqiSaC1ardfvgnQq/eKiDYgnn7/plFxD8RQQ==","signatures":[{"sig":"MEYCIQCPdp5yNIj9XhN1H1HIupGvGGkRxDr6/7S43hCG5jvR6gIhAKdIj/bJ9HHCIIicCni+tWFhY4lx1iXgEQOUHEfG3Mvx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":271779,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhq3G+CRA9TVsSAnZWagAAfZ4P/2ewOXnaOXF6eWtVCr/f\n9dmHxz7UmoJb4YX8JQk+bsc+u8KGldVuUN2WJu0ohbhakEI3JIo91yBrjO89\nZesv8inK0iiszPVkeud4NvKARNRvGIgEAy3+k05nab7YbctHz7gBGPpqIrOq\ncMJqcWRG/+Dd02AqQIzeZTrrxPULV1nOWYBirz+OwxU8NlnTLVeVIVwk8AJK\nk/vt4/3ffMTjmxLt3Z95Z3F4v4Nt1qVj8nVkaT6hzfh0KuBKRuusBNOUa1ht\nX7czHUBq/Q6s32Q77NJQ/XA2ulkccdnlTy+kslGu6e7L6vrllh4T/lWK6ipX\nzg7ZL4DlJ5iLSW2yXvdUSYzTkgg6A5kmR1qydXdrfFc7/Fdd+Q/e7psRGGBQ\na/zw5RgVuyDuCj77ACLskuKLaadARpCWgqUlObutLICynOr7ErsnOHxNAIdS\nK9WmRWl1etwbMXi18uzYlseX8ytC5cISRVthYD4rk6p/kFTFRsM4LgkCuPz2\nUj62a9J88G7FNEim6QgJbw81xSAxf9UQHpyISTcYsvMWh52pjWTOzXpU9EpO\nUj4rB56hmJCc5Nc7MxXKOsmJ63sFrSjmEOLWp434gt8ul1LI9pKFK5HW2sTY\nDGLOfNOl5lG2OUmgk7C9G6fNM+M3PPKC42fyj0l5xyVloHxUaEmfLjA6Y8P4\nzbAS\r\n=AMo+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"442986ddadda5b68198aa92ada245cf790488d60","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"18.1.1","yargs":"17.2.1","dotenv":"10.0.0","ignore":"5.1.9","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.1","livereload-js":"3.3.2","chalk-template":"0.2.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.7.0","@adobe/helix-shared-indexer":"0.2.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.10.0","nock":"13.2.1","husky":"7.0.4","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.3.0","codecov":"3.8.3","lint-staged":"12.1.2","semantic-release":"18.0.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.3","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.5","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.2_1638625726117_0.6073703648212001","host":"s3://npm-registry-packages"}},"14.4.3":{"name":"@adobe/helix-cli","version":"14.4.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.3","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7947cfe8b8abc665675b531dff0f0b46526eb4e4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.3.tgz","fileCount":28,"integrity":"sha512-DiczcZCQvzmPSahz60zNEvZXeSjHOKpaOBrP7awTvmm920R5ag+jVODr5jClStIchNgrvW/9aW6bdFV/uX1YOw==","signatures":[{"sig":"MEUCIQCt5T66SQF6DVEJvjEsZgt18AUqXAWxCCka9G3j8gGcxQIgBRbCEhAlWDoDRVCqFTVJ/n2nKZtkbQI1FqP12TF0SCk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":272081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhrhg5CRA9TVsSAnZWagAAoswP/jJT2YsKgcYoZG/UZ6IB\nJR7lQMLFaEYWNuzZ28jALiiddBym5ihe9lIHmNBwI581DmOsdN7K2vXZl1p2\nhsAbljJ3XzC0TwFDOPiKEgB0dpZLhttRDSIfl+pekPcVVv7lxyFnx2iu09K+\nFyedihufhBdwPRRRGMJVX8cu7AZHsK9QyRWT0nDel8N4MyjBwkrwUs67lOH4\nqIV9ejZ26O81Wjrb/fudDl4yHzMeH9nHFo4hxDhOe+KKMKkJ0nCyqCTIwjW9\n02RFklacFw1FnHq6/I/JGEo85Xlfgiih4LxHWt6uOevTkWZZ/lreRu6bW/Os\nRaKg83boHz1HMNoLvxbL1O/TbsVRI0oRKHBeelRRBFsWpi+519uvE2sukaHo\nol5ioJ27GyvXHnH9sM/ZvP2Z0SVRY114LjPu3DiscezVbIpEQ+juPlvcNNdM\nZHmWDSBuy75eh9l2pik76rU1H17RuMqL32qqBEkOd7QaGpbUCS1IIdCIbIUL\n9jmmbsnx7LVuk0TKKY0IurJkk6/DByRUTyh5jaO2cCo1xjo6T9RJsnyUHgKs\nSV4xG1ZsVC59EO6pdABgvfkO1jHmMqwVszIf1iVaPV/dHquEj01m48CG8mWd\nx+UXjCyVP5yZFKKEskHzlzitYq6Vyfy4H37lJcJc0GSBKqvHupjUHfxXP4/+\nwTvo\r\n=SUXg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"9b14881ad35a5ba217ec4c418612feabd8d294b8","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.0","dotenv":"10.0.0","ignore":"5.1.9","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.1","livereload-js":"3.3.2","chalk-template":"0.2.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.7.0","@adobe/helix-shared-indexer":"0.2.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.10.0","nock":"13.2.1","husky":"7.0.4","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.4.0","codecov":"3.8.3","lint-staged":"12.1.2","semantic-release":"18.0.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.3","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.5","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.3_1638799417171_0.7348364678464137","host":"s3://npm-registry-packages"}},"14.4.4":{"name":"@adobe/helix-cli","version":"14.4.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.4","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a1e5569405cea6ee6dffa7dd9ca5ad4a9115db0d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.4.tgz","fileCount":28,"integrity":"sha512-xKIS6vdIiJ8EDf/UENS4KYAfUYyKNfP3vCZalH2ojtLzFxLSkWEbSumCh2vC8m/dIIvhkgdXBxPR//POmtJg+A==","signatures":[{"sig":"MEYCIQDVikHmuqtXdXoiWlU8Nx7H5HTvYf+Oa+vQp1qiylgDCgIhALFt65KkPIoX2aoXvwc0Gi6rCv0OW/j7NhE2zMxIt3Z/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":272313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhr5MLCRA9TVsSAnZWagAAaa4P/ivTRqsBk5oPy4llfpNd\n8BB1NPkrAQkvFYuyVAKExBfUAM2jVJ+X3/2CwCwxwcJcNYV+Yc61VAK0a4ZU\nlqtTJD4j+ZfjsJbXgkjMAXdqsIx9d+k1MWsX6c5J/BNtudjNgPQ7kZ20vIlP\nCHrW/97+iCHV5GVApztHI8/A4q/NiAQhTj4Sa4TB8WPraeyxVNSc8y8HL3/P\nZpdDoa4EoDC2RbpQcCI/INnSTsV5VokNTXQx+dtREwm6cfGyRE1Kqwh02yyU\nPrsLFqpWPdp+I6f3iodKPMRxpJX28RuiZalkPQd5a3q9yDxLHtxashEV2cuk\n/K8cNlk7ASmpIU7e/pxKUqyNsD5WLoh5qviBJowaA5ZRH5Urau7RZfESzpU6\nm2m3JNrmmj6mcyknQ5TBVzO7K08QPFfBX/i7HWwyNKn91eU4th/6O1gJXkTr\nSy/qRrJeqr6BsKX5yxhA15Se/FU1x+My/jQ4wqTYaiJqYhEY+n6Sj8Y73YJ6\nX/3umxhxJCDC5jhQeD6HRA+Dea7G+545+OACBTBC0pCKPoEcV9ySHBHliuiE\n+Vtb9SlMNaTM3fnoGqSMwtRjTxEi/HTmjHp1HLTQ/oOM+HSf9f8ypBcWY9s1\n5L3hXhFU9AIhocrUdjWg/iZ5lh/Wmiad6YrBG1TvtD9sGw0RYGCkcgkq4ajP\nM1Ck\r\n=qJo1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"46db2fe4fd39c5e3754383fc76575639b8bad2ec","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.0","dotenv":"10.0.0","ignore":"5.1.9","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.1","livereload-js":"3.3.2","chalk-template":"0.2.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.7.1","@adobe/helix-shared-indexer":"0.2.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.10.0","nock":"13.2.1","husky":"7.0.4","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.4.0","codecov":"3.8.3","lint-staged":"12.1.2","semantic-release":"18.0.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.3","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.6","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.4_1638896395273_0.745324660257976","host":"s3://npm-registry-packages"}},"14.4.5":{"name":"@adobe/helix-cli","version":"14.4.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.5","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"fec1d0df8abd60057da260ceaa89389ccfdfd32b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.5.tgz","fileCount":28,"integrity":"sha512-CBwlPHA5+ebqw2H3rcCQLu55IiGjzEucSLeWGyu0gMg8N5zsAp3E/YuxirjfNQJBJLhyLzLAWtXawKusAruusQ==","signatures":[{"sig":"MEUCIBfBhufay7ce2mkyAKWYOP6sLhFL/wQumN9rlieIFAB9AiEA+k/IlOUelwql1LMt12oztUzO8HCPHk6HxqS0cdjUdxs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":272545,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhtOsQCRA9TVsSAnZWagAA8KsQAI6VlNiQ7L5RzMkrydzs\nfNGodk0ZPvXXDsFqNjHqrx972oau7Qeemxgsg8Evtrprsy3crSI0rz2dq+vh\nGI59lEup+IPHtfrI3u5lRR/zxZ1pxGQOb10B6yg6Uw0PYzj2pZaUJN12MAqh\nxJgmkJFrtr1Nx4tsL+zBc1kH3JKrlof6xmX/l/Va1kLTeslaqxwPOUeJ4Vyv\nJkJ/PTNrr9s4CIuv8BhFXY3oLZWz3m/eJSttko/yxHCxZJB/felmngvz/qkJ\nppHwL2KTeeuQRUdjip4ymtapQysa6ACRT/6NttkfbI5ItydlEiZ7y4NjawlK\nTv+yBhQn5oWS/OA5bwcnSa2EQ8SgFCUZ9JaTzA+pGlQbcXl8XVlXg9E2Dd+8\n6boUAZO8RHSHXVI8EcPcwne9l5fSOdY6zDq79dgDOM4JC33rqsNMYx3L8Kb2\nEdPymAW9wSSXuZrB/75yq76cscfOEOy0JdEcsB0l0E2wSTn+pJTfEQ06FXJ9\nz7b6zbSAEsm9dpbQT9+gK+6RQd25v0C+B0LLP6VBLBuUxd+WlohRoRveUKTt\nrnbF/2k9Sl5xZ8GjSsdyUIFdffUVdrXdgkmU6HTU4UVUGmMARHOiZFLSmjDe\nS64OytckFpM6NCwQ3xjNTytjn6mEPDXd1FalD93KPcM8X8qQWGOwrgAHsZkT\nz3UH\r\n=Cd3F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"f5b777243a7172afc732de96472e96eae32831a6","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.0","dotenv":"10.0.0","ignore":"5.1.9","semver":"7.3.5","express":"4.17.1","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.1","livereload-js":"3.3.2","chalk-template":"0.2.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.7.2","@adobe/helix-shared-indexer":"0.2.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.10.0","nock":"13.2.1","husky":"7.0.4","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.4.1","codecov":"3.8.3","lint-staged":"12.1.2","semantic-release":"18.0.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.3","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.6","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.5_1639246608184_0.5815409533166065","host":"s3://npm-registry-packages"}},"14.4.6":{"name":"@adobe/helix-cli","version":"14.4.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.6","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"058a076d73cf16045a82972701277d288cd99698","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.6.tgz","fileCount":28,"integrity":"sha512-usGjfXMCclsGGOwETvUSO2IeQMJfFuGKvPZbodwn4EeDlqt2DdBzo2oNvf3tN52z2Jsl6P9wkJLjuMeI5xRz9g==","signatures":[{"sig":"MEUCIQCt6mhNkKmNxjvQhkNpVq6cDQhN9+8ySwS74L9qjIwaSQIgERKo28ofD/59ibZPM0Q0ff0+LoRcE99oc5oJRaGBHCA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":272780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhxzDUCRA9TVsSAnZWagAAmToP/1jcd0yTA80p3i0SpFJ3\nhuZxrDaOVcv30YmYwMXliQbYqLMfdKswOx+Tks+Tl9kB6S5/Cxef7aYlDtDS\nxzaV7Tua5A8PH/gKAbzwg+UXpIvKczePRf8kRbQ5/FOQvKO4pGELI+COU7/Z\nClxGn+hvmd2oqvNf8roiP2TcHQnPS1sxTw6kbUEGu67N/VgFnBGwsnPgqWY0\nKXMAhfuADhnJ5ZF90Qb9qy//ZrREk85fsEesRWv4uuV01e9g2nCfQc9RdqfH\nvy2rYWt4rlLXtzZulcrHVTwy2emenoIpInz1Nh8CbcgM7XLIgQwyfpthrlLW\nHY2OEiyT+Jd8kuzK05Fo8stHN9ChkbTv1jM92T5Lbe3yNvxcxl1ndUWJa8Wy\nGkYD6Ji7/igIAE88g8pH1j/pggHf+oaoLkRObmHzd3Wuc1qIOoqPcSY4hSi4\n8L5gcySB9FqBSpggsnuFKGpgWBjhFWQZy12EEApvkfpQ6umd+N+BMWAS6gw7\nvEeW7u40qT4znp5HM4EfkSmzax54oJl8zFP5upF0RR6iSFgyA/l8fyuHhlgd\nyw9Kd1H4VatDKPvXmvuhQDJN5nWdgVavC8xCAmF3hdpw/tLz74V0ifkI1ZY3\nZpVb/7OAayz+vXwC28GuvOJJENUUcbBLH/NOnrOoTaRE2ioGfI/am+MHCoAe\no+cY\r\n=hReT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"63e89532766d02ec4f79acc5980b8582a3140d8c","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.2","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"10.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.2.1","livereload-js":"3.3.2","chalk-template":"0.2.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.7.2","@adobe/helix-shared-indexer":"0.2.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.10.0","nock":"13.2.1","husky":"7.0.4","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.5.0","codecov":"3.8.3","lint-staged":"12.1.4","semantic-release":"18.0.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.3","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.6","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.6_1640444116207_0.20585115587050185","host":"s3://npm-registry-packages"}},"14.4.7":{"name":"@adobe/helix-cli","version":"14.4.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.7","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"bce4ec29b6f20f9c3f860b38e3a8a1f1516cfa5f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.7.tgz","fileCount":28,"integrity":"sha512-LwwH1iUDSXtirGTSoi08119qWA9B4ggmdmGEw0oEEphslZo5uLAmZuEzSc5/cePqU/FAuuauzOyUTWoYzd3Hmw==","signatures":[{"sig":"MEYCIQD/q2A08VuyuTt+/Upc2wE1cTGPPQdDyuIM0Okdb4KEZgIhAPEEmIh9YDbcfeBvPqwxWhC3Z+v1/s3PxBEjQbzqjs0l","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":273031,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0OivCRA9TVsSAnZWagAAnD0QAIMQ4kwvqweWMVL1sEqo\nrQ+Wv53UU+jyFBqYr+jUgj5kcJyqn/Lqha6l7Dk4BXgD8L5LLdDzegnXFOCB\nfB8nInrLKgm+tjSE5t37Kz5Iu6MEoC2r1e20vO/DbB1jYUseD4FpGvonZAwg\nfn76u5eD/VEp3s+Ghuz2usNmHbz5zAtOsUI7TRPWV0zTRLDJHQ8V+N4rmK5b\nqtSpkpRMQHDhx6k+gE6fp0p8t4EFcVkptRq1apjL7+M742kNuCeh+pOVzHtP\nnE3d/BVuLlGW3D9eE6x7goXXZrXs57F7vHOtz3EVcheVckNvQOiSeZAvHKMj\nkDzE1i0xpMZa8BehAE0btCewPpuWHBBJVKDa3ftozL6IXRkaUnbwTX3N/6Sq\nYtmJdc6R3KUQhTKHRrWWYAHpaMc0uyu4GpyP2taJqUcn4iKn/5NYBG99QTTK\nkX56iupW0XqzDtv7uSQGoa4hOYQDzo/m09g4WLipibSEToiW8hqdoML5KOKl\nWqBxR9GmGoS9YVOtB03wLqhVEdVHVKEHyh9QJyT1lC77lMTjIw8KTSnRbVlb\npgfcXNCoI01i08cK9e4GbWYx63oMk1VTlfPNIl+q40swCttjlfyj2udSENnh\n6g1YtHrk/cDQafV3Xvxy+lz8eeqZyF9PgKNSf8Hs3QG2vIxaFQXdi9jUq4bU\nmtKd\r\n=lXCR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"b249555fd60b7c4a92f7c490adb39a8d52f22e5f","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.2","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"10.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.2","chalk-template":"0.2.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.7.2","@adobe/helix-shared-indexer":"0.2.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.1","husky":"7.0.4","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.6.0","codecov":"3.8.3","lint-staged":"12.1.4","semantic-release":"18.0.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.3","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.6","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.7_1641081007085_0.4595648325072772","host":"s3://npm-registry-packages"}},"14.4.8":{"name":"@adobe/helix-cli","version":"14.4.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.8","maintainers":[{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"5ac92627a43cfd0d79c6da8e3aad9ce95d973c8f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.8.tgz","fileCount":28,"integrity":"sha512-mvpdt9bHTYjZXX9/Sa1edv2gU5LQeXzI/jQNSabwtgdxIA/JYFxrEJtQfKI+188+FnEX7vdtji/iRbPBKpcAcg==","signatures":[{"sig":"MEYCIQDKdYG0dSZy3283X17mWGfRVIditaAPEXZwA9yPrDX1rgIhAJv7slFwGtRtglPdZvx+rAntq+fWVJiEkHuYix1oqW5+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":273321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0tChCRA9TVsSAnZWagAA6T8QAI3DDygd97Pxl3yVjifQ\njWc69mOE64PRDBxXxUoIKSyAu3N1Uspl22ToHwJp5ct4TQzg5w4683XqRAec\nNocY2f2MHPhfzLZmfaLQwxAlA0ymoo34pPN+y4aQF5IXOMaq7XR1Brd1OjPn\ny1vjlq9l315Ae2Z0MGvUCYOxgAOFQx9cF8uqFsXlycKF8KUKdi9FoPTgEwsd\nAMNNy2opQ5vuz+jQJ0b+tA6ys9ZUIRZvkx+pgiIvHfFg+UoKnCcO4ShfG4QK\nbUOkOZxBHxM3HWE6yVeOX/mXij9d8f45/Qj5OAGDFwLMORX6vqQzuY2IkW6A\nVImcT8265u2ORkoLxai4s0+dKqcDFRNnl+XmDlb18loUfL+w9/kiaC1kQJUG\n+ALRH4nd2AhHC9toz75wWbWto+bglLX12n+6ozHqBQopnBxrOcm+iPT/iuxm\nre/apiBi9s5+Nnhuux6kKf4GZPjUvbR+/YIYpsnQ0BnidMiaTSRbnyuhUW0T\ngkCDimWyLEjZ+8nfnLw2aqmhaEGzDTjUKg4Q4Xf2z/USzKY0J8vEnjHNJoTz\nYpoPXZE9JumnFFM2fiMeAJyHYyRiDHRprMl2/eeKERYLeQpRAVLaCWUQOBri\nSkM1Tu7nKO4L8fanlS4njUVO2MxPlK7QGlKAgO7wd4C+hDBX5lyO9l9aBril\nNHE6\r\n=foBG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"d108074d01f3832b67054c39c7c4ee5a67e0ced0","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.2","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"10.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.4","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.2","chalk-template":"0.2.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.7.3","@adobe/helix-shared-indexer":"0.2.5"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.1","husky":"7.0.4","mocha":"9.1.3","sinon":"12.0.1","eslint":"8.6.0","codecov":"3.8.3","lint-staged":"12.1.4","semantic-release":"18.0.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.3","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.6","@adobe/eslint-config-helix":"1.3.1","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.8_1641205921496_0.8546983066501697","host":"s3://npm-registry-packages"}},"14.4.9":{"name":"@adobe/helix-cli","version":"14.4.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.9","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"bb8999471219572869d282b44a5ebaf5049399ee","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.9.tgz","fileCount":28,"integrity":"sha512-HB/XifiIrLK0NwADLcx74/2s34WjKrS6y3j6IyAkvjIBA+jz0KnVLCwOJ9b5lAOBPA0IlrtVn3UuUvI4USzpZw==","signatures":[{"sig":"MEMCIHWpFomQbCME1TlXld2fYZibu1Fym08oX7YTcv+Tn49EAh8JB+YlLqSKfQK4AbuwO7JDbH7f2skqiRXCjstn2R6H","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":273556,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4ueZCRA9TVsSAnZWagAAmOEP+QFV1GvTVYJSdYLabhQe\nS9COd2QQzAPRlNb7RZYfMuTGdW7gnW/+RRQi9affNFbVZbkcFTB3w1bPhwpA\njRb4JXNfMOehoXDyhl8wb0GYo1E0uvcwmJlcCb51ylAE/w8v9EiQGu5C1Tfs\nofApYyw/tNvu0UpkyCUGr/M9Up8ASzdNV9yxgBVkYkQXt8E/ZsLMQ0K9n7AN\nWA0mL2WtZ6P1P6Z/+35qKeN0uD218YbRxjtb52VUqHb5ebdZzLdnz3diBObd\nNilxgjES4gh1zOOlqUVDT5B7YKd6ZF6c7fg/AQruBZdL+iOG5HZWNxJrXcDY\nRsQ+pxy4IgJCxyugRyAALdBW22+CNp7Ffrn3+jec6IXi4INZBIOMMtoOdYXU\n8gHfm1/BONMTs4UZUlcKx1Ll6beOq9pd3eb61uSWVUfZfSKidJOfQS8w0cHW\ni4O4ayfNsy6LCVGWiDwvOdnhBKoCpBKcKX04JkdtNabgnGfiz504aLgUELEu\nUH5DV5mGhf420CN9aHfjcPfsff1ArE5p7hH+c6G3/lQ7YOoIkgU3hnsMho5l\nzs1SJaxYf3IuE0VvU+ghbtyK/tKvHWqcg4/tSbdQcoTJlbK0b/xMxF/xQhSG\nZw6FTdaUxRKcV5qIID1vxkz3Ni/xKv7uJ3Y+hfwam+ruxJPTcZiU5H8gRfkJ\nNt9Z\r\n=m2z9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"e19a11be4add6da110efe5368bf86f4a52832de6","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.3","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"10.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.2","chalk-template":"0.2.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.4","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.7.3","@adobe/helix-shared-indexer":"0.2.5"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.2","husky":"7.0.4","mocha":"9.1.4","sinon":"12.0.1","eslint":"8.6.0","codecov":"3.8.3","lint-staged":"12.1.7","semantic-release":"18.0.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.10","@adobe/helix-shared-dom":"1.1.6","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.9_1642260377784_0.9887448759696889","host":"s3://npm-registry-packages"}},"14.4.10":{"name":"@adobe/helix-cli","version":"14.4.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.10","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"08e759d9e32dfb218a94d7deab2d842d8c82027e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.10.tgz","fileCount":28,"integrity":"sha512-ZbSxwLO/gVwHmgILLx6mTuS89bRDclpUvv9zDizZamEOLuZV7NCSUC3oiQW5U4LsWffaMYGhTTuB2gKxRY1TcA==","signatures":[{"sig":"MEUCIGDo1r+0kqX+C0zWDl0OhIkMSzCbBnHHR6Ns6AskmKXGAiEAozjcLG/bYS9WfLKCwOEFLWLUT0fEnHs0E5rQGyOyI0M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":273791,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh42crCRA9TVsSAnZWagAAaXQP/i2sWEOGw+ixyr5AoCab\nnFATi073uNGKAm1WLO/IOJ8HCV7u3bHoyAMvioWr3kEqU0yHglzbbRs5IDcg\nJOiYBhJAUT/ZHURP/RXX9NeMZR+9jWbK4NgHS5wnJg3wWhVV349NEuXMgpWi\n8lH4dfAuTNenB6v3VPEiAYaajhBkHzgMY5nvvUeZAmZmcKft0EhOEVPee4e8\nAIJLDdYsizpl12tVr5B0a7bczAdmTY4FEPWeTf+GhUDl0Saqe1vYBcycE6F8\ndn8WqCumDdsVOkESJ3NGCeWp4U+VBdLD82JGP32GhmKDBlAnYiZjRiJdOPp1\nio47C4sCm0Z9xfMYzkSAedDYWTgGaTUOg/Z/4UmSaJ6YWK2DqK3S57iLFeAl\ns0N3AsC0DA5JBkjAjrEJs9sbtKKJsBM0GbefNBEGxSqqBQs4n3bH48WxFU9J\nodhhGwTaMF5RGzN0SpcOZcrx8BFfLv0/4fqK6af4h1X4UDAoM1wk6YAdWhpU\nQgnjuIhU/i/jeeZjBvX5TsT5sGWdWAsgsaDHwoi4jO+8M4LcVgCU4jFlQPXN\nm974dXOa7/s31Boa9UQ7Yofn9UkgXFvxM4fzk2DTf6cKf4aeI7FzkcUu4HZH\ncVAN29eWBgS/hwh5y0kDvCmYRV3RmgNBtVBkA/HSRhsLs4puBDe7AgNAbPXt\nx35V\r\n=Axjv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"406cd14c9ac1f7e5e69eb5eb0787471e19c59d2f","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"7.24.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.3","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"10.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.2","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.2","chalk-template":"0.2.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.4","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.7.4","@adobe/helix-shared-indexer":"0.2.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.2","husky":"7.0.4","mocha":"9.1.4","sinon":"12.0.1","eslint":"8.6.0","codecov":"3.8.3","lint-staged":"12.1.7","semantic-release":"18.0.1","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.11","@adobe/helix-shared-dom":"1.1.6","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.10_1642293034955_0.36399098145367126","host":"s3://npm-registry-packages"}},"14.4.11":{"name":"@adobe/helix-cli","version":"14.4.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.11","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"fd001a6e58ba29484908c2364f7964e03e7b19b9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.11.tgz","fileCount":28,"integrity":"sha512-yAx+3OhJAjJPCrp97/d4As2VHQ+/DVYV1uhKykuVSc3FHsiQ+oeT1pZtYZq84LcZAiH8kM/Ari2niN5jz7qNfw==","signatures":[{"sig":"MEYCIQCN+VlFhbapkbrXzGmkfSpgP9TiWYOk7rzvSgLyRPSG5wIhAPHc0sRefHDYEL/bgcXXiczjliYjgNCfZKE91ksoG89b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":274087,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7kqeCRA9TVsSAnZWagAAS5QP/Rg3T2RJesk0Lksf6URu\nd3Xr37PwCVqmVntjYVpDoFsIHonZfYlGOXRSwWACxBCsJgO/oY1Wwo/kh4lf\n9vWel5Sf2GYNruaE2pZlE7WyMqKDpYDFc9z+hXvaqbiMjbnq+hJRaaD4MAii\nLCez3fbT9Q8A1PUH3MbyRGlKAfKn+fC8zqeLsRfnXLvW36gyAlCj6M+y2k35\nHzgF1OnHvSpJhysTpNEVDXUkyb1ZCvUZ9VxrHGNRxiDfE/UCZe8UWmyQyu27\n4ylJjtzJAQOhLUvFKtCpAKn9HDDtEElu7rAXFeayRND9bDGuewE3PNxM0ozV\nKnwPwszxw0HX7dge4wDCTMTZcNF90gDOgXdyBTxkSX2tdMCgBLl/ZEM7J2Ts\naLrH8dN2ChXK2WzBMpfEdBtG3KfNhdCdnDTSaoFcxnmcI/NN43TFikZDreAu\nUTNEkE91d1dIuUCdtUmSyqWIcZzFxHF4EDrRFqRnyWYqiCGTKiEvhmqSvJn9\nJvLaD1D0rwvAmM/yIbPg4NGlSufaqkNMtRi04CQF7oU3Xufq/Zkosu04fmGI\nWzIw4LGeNhg7b1qYL5OJrA2s7rE3u3jyIDjdgpaq3OYAMp5pfMo5Rapfv2Nm\nlAUfptftZFFUCtQctGIR3PLk537ItbZzyNgjEb8nXE+wcYySjXB2LC+mX8cA\n+jKs\r\n=Q0Om\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"98628cf93b03b7db2f1450c42920d7cdd6b72cce","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.3","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"14.2.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.2","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.5","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.7.4","@adobe/helix-shared-indexer":"0.2.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.2","husky":"7.0.4","mocha":"9.1.4","sinon":"12.0.1","eslint":"8.7.0","codecov":"3.8.3","lint-staged":"12.3.1","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.11","@adobe/helix-shared-dom":"1.1.6","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.11_1643006622155_0.4956025453992754","host":"s3://npm-registry-packages"}},"14.4.12":{"name":"@adobe/helix-cli","version":"14.4.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.12","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f026605f416c011bfa42bc2d6036e21b6bd6ee54","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.12.tgz","fileCount":28,"integrity":"sha512-GFj0V+lMj90JW/gIXLuWvQPIw1uR0ug61b41Pf4vboqU1ajjVHNTzb5VvoTGogRsBxID18EUa28pJO4uesf3Hg==","signatures":[{"sig":"MEUCIQDuX1LgweNZD2YmBP+h5SF3izpHsbg+vI1Di07SxY7DlAIgHe/pUF+5n8dbxo/EKbJXpmgz937DTGgcjLUyzsSYgOs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":274380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8ps0CRA9TVsSAnZWagAA+PsP/0HtHqA2Xat+SHXT03Xt\nC/rXjvqxHNgCCBVwx3aquw8B659qXaIYfuSe57XPwlFnzL0XkD4CWEd7JPao\nfJC5nD1YGxj/mQDtjTb0IPWgqRr4qJ85iV49ja+p2OUriQkg4D+RLvE6a56o\n3VtXnn9jX5tqwqvGdSh5guIh6vWBI3uzh21ZAIIrzs3PjpQKCZEgTaMVh5fk\nLUek8vo3a3j6228Whn4S7IUv/Ea5nnVttL/TulZMIxQOn9s6M8LVRRpWmP87\n7TTBuPLRsR0P55eCNv9snnVsQZLJlgVGn0S3hQ5+QHaLZYJBAmqiskBo8053\nKvUPM2oLYsZyjmcozPNeka1r0ri3OtllMLLkN2yrolP0zLDEOCvtnTxda6VD\nxokGd/B2SjGaeW9FN/1byBb6JPNo4zumBFXmrkUGf+sjlOA0HDe73ywCCZNE\nalyKmdPDt6lUYZIXWpwlm848GMjjB6pyDnm53RV/bhyGrBwgtWhFr6S2IfWx\n1Z/qx2eeW2PP+rvvX/3BgLlBN+aI/Ed0q3fg/ao3IVau9zBVmL49CRVQs00u\nfxBP2a5i9ombHzUGeY/eFmKLaeMeTzqSosHx/TikmSXeDlwsTYjFmWPZJLZ3\nePlEvBGsfWKypLqXYRkUlPx1tv22V3pHTRArh16VUGBk+Twafz6TXO+Vptmy\nc7ow\r\n=QbId\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"d9bbff2072406e23ee8a2a758fb7d4a3f3781c9f","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.3","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"14.2.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.2","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.10.5","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.7.5","@adobe/helix-shared-indexer":"0.2.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.2","husky":"7.0.4","mocha":"9.1.4","sinon":"12.0.1","eslint":"8.7.0","codecov":"3.8.3","lint-staged":"12.3.1","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.11","@adobe/helix-shared-dom":"1.1.6","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.12_1643289396533_0.9646265211681475","host":"s3://npm-registry-packages"}},"14.4.13":{"name":"@adobe/helix-cli","version":"14.4.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.13","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"e16fc593e4d1f47550d4a9d9bc24dd69ed50701e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.13.tgz","fileCount":28,"integrity":"sha512-2sJpXkj0HvanJ/sQ9ng+fMRoRydk00Z/OV2zD6YwF+6cwzuZkYrd21TAw5XGHBPF8T7puXqGDlaJ9RUib53IRA==","signatures":[{"sig":"MEYCIQCL91rUte+KnxWffXiroVUO6LrGnlrxbxxj/Le64nykSQIhAI7s725CYrSo8noIcApYPFFVQaf0s1y1ojeEq7Wwgaxe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":274618,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9VcdCRA9TVsSAnZWagAAYfgQAJw19Cn2Xc0zgB6kJ9c0\nGxgklfA9RpVJJj6qpDmDAdA9fmfcxnofSop+28kPpu6VDgx4MeenMQFJlXh+\n+cXE4wgTN5A9DfDhZaW0StvkSDj719GFXqUtqxNWZ7Q9M/mlw0kL2N7yDaWs\nC5tkQCh9MXSDfP92oGCALgh128Leel/0tA5lxbAOt/2GD2IlzvhCuOPkhux7\ncd/Ko/L38YVJqzpl7SDh9vozGkbiCat29oG1NQL3gNchakSp+5IsMiN4PIeT\naG8DzmsfNxtPdoQluxkuwdXM3F6Mi06YzEmDQ7+3m8ytAu7o/+u6mjgNYRjt\nhBNtFEyvwoqOY5L1o/Y7ghU6I30hHhYURD2xcYXazleUTJCi6qj10qtA/vao\nlg+K6LBe04BHdBo5jd353UMMelu9MbzZkFytb4QDXgenatlUJqreUsUjIfET\nTJm/ApL10HSS2u6ERHPZjJp5CUhOi+QQIztMoqz466McPVZrWaADY+E9KvKo\n8nb7WorEAQ4FqCCyTXis+5b8ASriqDswA1BF29HmdEXXzRT/6TP3sL3X6gAg\nHNCxrFvTehzy5q9QGH+giPet2rTFj3/Rz9k4hcNYa4jYkqI04XNk12tXRkXj\n9B0rzn46+dHLctjdMzFOZ6qJeBB3WRAE0tKhG0AL8ySim1VB4MraESYSVc3s\noXSs\r\n=K8+K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"444be5884a1e25744703eb9bacde0e6aeea63840","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.3","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"14.3.2","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.7.5","@adobe/helix-shared-indexer":"0.2.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.2","husky":"7.0.4","mocha":"9.2.0","sinon":"12.0.1","eslint":"8.8.0","codecov":"3.8.3","lint-staged":"12.3.2","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.11","@adobe/helix-shared-dom":"1.1.6","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.13_1643468573083_0.8381680858994254","host":"s3://npm-registry-packages"}},"14.4.14":{"name":"@adobe/helix-cli","version":"14.4.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.14","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"66f582987c45aa49ceefa0dfacac683ac2448747","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.14.tgz","fileCount":28,"integrity":"sha512-DKAE7OSbgX9rSLQL5dFajNzakl4C1r/jOPQM2jQSM0FZ0kGe/NbIjHYrkJiCaIu+Es07vL+BmdbCRyRlB1sxow==","signatures":[{"sig":"MEUCIQCQLYfjv7jKzJ3ncakvYwM8z7dMlF51eVHr5bpOnMo5SwIgXPJjeGwbb6hQVZtrdmW2ZWHExwlXz9ugxTMGNb0u+gU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":274914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9+O1CRA9TVsSAnZWagAApKIP/Apfgb7845cm9LTXhPUZ\nRwnKUOebytIp2n5LVpA8yRM3jsCNALE7mGAGqI9tCa1WKXP+m/Tt+MBYmrCg\nB/APylFxQbRevhzHYgG49H7t/eSwiixA/o/7F7xRHfvlmzcNdakQyyGAYtJS\n9FRG67IxwGvcIv8LwQcDvXL896xiYoL1MjTxgDB1rhRpWmm3Vj69cWLEfe00\ns/7OOKTJY1gSKqR/xL2zkSSklInCsExC5VqAVd7/ITjSNCmVeH9pXO8RZNoY\nORvbl8t7h605FuqsXjs00fFUOzdl5qsTxw6PPovngErQvV8R4sxxdAFjf91c\nfMn9VSnaZZYNmKXvZYuqbGwEFtdxPjlPDwi0uR6Y0TdYwcA4/deSd2pkcrCD\nM985viXQN8z9QWl4WM9fH4xW2S33ftvLQCpYhalt0kgX80/qJalnBZ++1Kw3\neSDtoqvbPAxQ+W/PRWiS0jfLbAotSe7AzdSliqHLL6m0OLk7dS011uOL3yVV\nWIsAgYJEIouP8Qyvp3U+nXvmfxwboqs45psugt0JGzMf64ze4+NPtVyFKuHb\nGUty+mFPS6HwWkZh1Q3kXE0k3I0sB3+pk7TyXAlNjQ8lT6X24FfCAut7EbUi\nerlIC4Gm88nNa/a3e2YeHMgG7G9YPFOeF5tQoCggUvk6NslHb5XudUa5kZ8F\n/Lts\r\n=4//O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"ff5c4d4d58fc55ad2a3d8ed130645c0f6272f6e2","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.3","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"15.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.0","@adobe/helix-shared-config":"1.7.5","@adobe/helix-shared-indexer":"0.2.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.2","husky":"7.0.4","mocha":"9.2.0","sinon":"13.0.0","eslint":"8.8.0","codecov":"3.8.3","lint-staged":"12.3.2","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.11","@adobe/helix-shared-dom":"1.1.6","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.14_1643635637125_0.5203684009592813","host":"s3://npm-registry-packages"}},"14.4.15":{"name":"@adobe/helix-cli","version":"14.4.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.15","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"eec4af639ed3d0140030b34efed220bcf8a93a23","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.15.tgz","fileCount":28,"integrity":"sha512-izrKzAENXOvinO5Y6JXN/VVCtKoSuOQIEnmBYNsEgmuywVtyG+Riv5mVxWl/nho88akwfgphXnH6Np2AIR24xw==","signatures":[{"sig":"MEQCIG+9B6FlPwwpzm+9IZKicfhsz5EHRvn7Yo68r3J7IvNQAiAB95FaehsJL2IqzwosTNK9QWyWI0c5+zM1VCY17XBtFA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":275207,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+/JMCRA9TVsSAnZWagAAFJIP/1hEvYo1mNcrD4V0h24R\naT+HGhst2B1ncmMS0BZf7j+DbyJ3It8VyFRb+nzNDK87P4+qb64CKMgXpS/O\nGip8e1NCQDJIv+9D+ip+c+APg+H/n27Umd2LHx/D2ezPzipja/A88NvQYmBB\ndBBlaWIe9TdhJsHOhzZT4C8jVyPXk6xSuVjm6m0CPKzQl97NNU4igTTuSO8t\nb7tAoT7KZcPHbIhYdIpZOgSvZXTr33vxLfydQHfFSVqvrKKhl6V9Gz+5Jv/s\nns2j+AVp82KOV1JD/pP6uaLxyLRKCHVi18xwdfGRrZE1rWH7tN8t3nNIGPRA\nqXXDUfTo/ZEyyYcAvLTfbh7QleESXubwj8u9jzy28skiopaZGLjFfi0/Xi56\nxzKOYk4vQgK7o6vJvpq+b4vWhbO7NMHrFk2vEpa3oo+Nx71unBjpFskqm8df\n+SrOJof8ORWslnSl4OzAcDQ0cypVzKXcl97vmsFu03YpOJwSz+brLyuIHXSR\nnBYtIIwhjpOzdpHFzz0bCk60z/RS7NQ64QE45cKV5UzB9hMhD3BbXmeGQWC4\nzo4uszW0l2NQtRfH9pY7lBV5wnTAlgGMcnJ6JLVXilBIiWG4iNhvgm/gy9um\npfHoA/f64vlHCbYdyUSmaFk/dbOHUvChsNohNQWsJganSPfXqv6bfq05mQQx\nWdxk\r\n=PLtW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"7e2594785d56613c9089d6ed8dcaa26e375d4a36","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.3","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"15.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.0","@adobe/helix-shared-git":"1.1.1","@adobe/helix-shared-config":"1.7.6","@adobe/helix-shared-indexer":"0.2.8"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.2","husky":"7.0.4","mocha":"9.2.0","sinon":"13.0.0","eslint":"8.8.0","codecov":"3.8.3","lint-staged":"12.3.2","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.11","@adobe/helix-shared-dom":"1.1.7","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.15_1643901515723_0.07576303896250014","host":"s3://npm-registry-packages"}},"14.4.16":{"name":"@adobe/helix-cli","version":"14.4.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.16","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"bb5a4fd8217104ae76dca579f3fc1fddecef34f1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.16.tgz","fileCount":28,"integrity":"sha512-W+KimspGVRr7RStXK1/+Na2nNIUUqWPrGJK4B94cvQOsT6Ky4pgWb+ARKqCpNEOccCjs8K3LGIA8HDBPIoNZLw==","signatures":[{"sig":"MEUCIQCZqNZOjc/O9g7tILUWcPCMqAzkRSCGMI4fKLTNI623owIgAiarykrhOGmCi2LiXX19aDDUPuUl3A55rQkem/DMz2A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":275442,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/IVYCRA9TVsSAnZWagAAN64QAImP9WwK6BoJfpmFqd/7\nL1qgocEitsPotnwsvSG5XXmUhnkHlkMap/Arqv4J08/TdO5SA7I1R8QL9Tz/\nY28lT9R88/+r9kaZomP47LoqXEocbMUn/T/0Pp4Kpk1DtJa8MbjIYm2sw0Ze\neVIBE9tR/Q5Qgs6PJuE6sMqkAa5b/116GvWSSo0PgAJfCvcRMNpfwQ23rWtI\n8HVWXKI8Bu/M5qosHGAoZiOjIjog5C3fwfefKJ6dallwMyTkv3EMZDOZIYc0\nK1T4+CekWSBKdU9JlvK/e7iQO2TTDao1raPBe1+tV3Ei86qL/OTBK2rzwoJD\nap5MUxcGUFo+hSZM+6ZBQ7BdnOdcuyy/r+WqIrvHt3Sd49hep5LsObgAiEla\ni49E2THLybReuLdoJ2agNKXu3r0Th5adlBppgamxBEG7DodTs5JsSDT26VXI\nN8XlKqDLNl0LKRi//QRNdegXOsxrUM/Uhu/rfRETNhnsIRj3p2u6CU4eYNnm\nyjOpXoSgBMdGbDuw8A5eMok4MvktoRswE5SFXMZNuhLp5pVUSiaCOsVo8LOq\nFYBBDWFCa0WMmfb9/2i2C1RT14petJ0dhg7qL/vDUK8pSQZ8UbpS46bxtLPu\nxNH7aLvPNaduHYuGcQQlv9lgE46bhBOQGY40uVFHGhq3CUw3zxiDsmIKrKpw\ntd1q\r\n=woiT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"e9bc82e2809b181bd14c4fa52a39bf23b9cff702","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.3","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"15.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.2","@adobe/helix-shared-git":"1.1.1","@adobe/helix-shared-config":"1.7.7","@adobe/helix-shared-indexer":"0.2.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.2","husky":"7.0.4","mocha":"9.2.0","sinon":"13.0.0","eslint":"8.8.0","codecov":"3.8.3","lint-staged":"12.3.2","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.11","@adobe/helix-shared-dom":"1.1.7","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.16_1643939160312_0.4713121446785742","host":"s3://npm-registry-packages"}},"14.4.17":{"name":"@adobe/helix-cli","version":"14.4.17","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.17","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2a92906d11201e915f1c50e563bce81c6226c462","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.17.tgz","fileCount":28,"integrity":"sha512-cPCd0E1Coc20fJbsbeTey2dvSw7AGjcPq+jGym6NzzEhZKVlBfR9+yJ4SG1Mfd9lBhfunzYBidxtbdT0Ed9DpQ==","signatures":[{"sig":"MEYCIQCPtUX40uXjiaEZB8GZW5UXvDUWJuVeOybNQqmQKe722wIhAM0EJ2Vz28MaL1274VbNGsm9LkkxB8ZwWbkmHsXtJCMT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":275705,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/VtSCRA9TVsSAnZWagAAfQYQAKEovHrX1qiVuhEfHbB5\nLy0+XhC8zLMbOEWyUQ31jsr3Zec90IQ9wNo+Wn9kqmxVFB2lFDsIArlOzajL\n/gUJ7rkualsUma34FTJ2Etw7LnnSHPqyHv0UJun+twS+bgGm5qZ9lWi4DEp5\nylhqPoQCfpzVlHBKyPgFqQXKABMoaHeQ6rxQ5+iml1CXrtabOxO0gSBgE17W\n8C8Q2hERMwJq35tGuIgYzlbO2yHuq71e7o/VdOkp44werh3laGyQW1kU7vKJ\nc3PZe82iqKqqkOz6aGVbDgwH8X6cjfehClZK8yOLiC3t96Po9pMIJIqS0unq\njj47G10geJPRiz2mvXkbkYts8EbJRD2Q5huLqcivOMBZrRDJKZs56muC6SHM\nQUiDCG8e0Q32x3zv1dK+vHMRna48YqQbW6RQbsx5Qz3JeMuOnp/QVVnbryUA\npw338kPpHE7AEYJDJJjyMuwgRgz8jNbbp1nTDvkYl9cWzefke7sOBm+5QBB5\n5X4EIgCYOrHaj73UJZoZ6yuS2NivUsMSJdYOiNUydLnnCmEVRMipFojngvxZ\nFl+NNhablBH69kDzAe9cXB9ftA0fAgDWF5HMTDS5YJkXD8CK8iqsPrZ0gUIm\nmH/ood7UqYpJcwASSWIVZvgBcFxZyxvz/ykJJdbVDRzcVXnm/fPRpMn9eows\nJXlD\r\n=/vgC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"306b715ed1b7d34b855ce123cd9f3d90a6d6cc6f","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.3","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"15.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.3","@adobe/helix-shared-git":"1.1.1","@adobe/helix-shared-config":"1.7.7","@adobe/helix-shared-indexer":"0.2.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.2","husky":"7.0.4","mocha":"9.2.0","sinon":"13.0.0","eslint":"8.8.0","codecov":"3.8.3","lint-staged":"12.3.2","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.11","@adobe/helix-shared-dom":"1.1.7","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.17_1643993938567_0.3971399473042583","host":"s3://npm-registry-packages"}},"14.4.18":{"name":"@adobe/helix-cli","version":"14.4.18","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.18","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f7267abac2644766512b3c45b95c8eebdd61c424","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.18.tgz","fileCount":28,"integrity":"sha512-0s+SkgnE6f9TN52bedpsRFuYbqKj5+TqB+0qn6sC9jZ67ZOUyAwgYai2/fyGpqjLrkX/9hqjCI1f3uVUSusFHQ==","signatures":[{"sig":"MEUCIH+oF7h9EXz8KlC75uP3+oVb5WdnOsU/vlvohqY9+7rkAiEAo6Wjj4qeRQ09XQjUjAUw50U8DVoSgKVeHJv+m4C6N5w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":275943,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/py0CRA9TVsSAnZWagAAZdUQAI/hR0U/gZRjZoWko05i\nUkhw2JsMY0fXn6mAWoRdNWcrT3T368Rv+E7UtSOfAuJY80bqmCetAK/gxj9N\nmWncYcORwW8kilXw34khg5qbA0nIn+TgLz97gn29z4k1X2h5GPbc+++b75vT\nZgdnF6rjyGZc/RoOm/DfMufgjPIovfYfBe216223I4TkEq/8+sZObQ0VKWpE\nlfhjpIILsvn5Is2P7iKT7Q2vJ6DU8C2HDPtAjaNIyw+zMIJFxW9vHfhQJNhD\nLzE4tFpI+YZCKug6C7AVuMgUGK1lgvVPisQ6AEMSRuk8qiMFfMJZMYp8Rnmq\nYXH7JUWB6rCQf0RcK68wCS3oMoqqetzIY8ReEx/uVT8b4BeVp47ogpgqEJX2\nqJfKC7jnBfVp8T4kPy5eycMYIzyWYwLWwwpvFaeLXQ7FnLv34Fyv2UAfMYGj\nRJPsYcEkVUmePR3A6IOLVVU92xKJu0pdE7XbuEU0P2ms9+Npn4wx8HUJi489\ntYbWTtj07f6xvxrS+t5veb9p1iYw4HGP085TQgRtN/fA0A4JFXiDXpzRyQ+6\nAiBZ5KacmdG40sGBcKSB8Oo3eTbPrAyBPTnqB7CwZhfCvSoiJGhgaToa0vx0\nVfsmBg52V6lgeTZEgRBKfDNFmmpXmUlT46IvO8NXqRmegyk1zOkTLSdxLiJv\nDfDY\r\n=TdLy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"2d58778a9aeef9bfa68f72848cbb9d293acef022","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.3","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"15.0.1","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.3","@adobe/helix-shared-git":"1.1.1","@adobe/helix-shared-config":"1.7.7","@adobe/helix-shared-indexer":"0.2.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.0","sinon":"13.0.1","eslint":"8.8.0","codecov":"3.8.3","lint-staged":"12.3.3","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.11","@adobe/helix-shared-dom":"1.1.7","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.18_1644076212401_0.3074801017179203","host":"s3://npm-registry-packages"}},"14.4.19":{"name":"@adobe/helix-cli","version":"14.4.19","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.19","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2433928c6963d14a6c31f65f73c54bb537fd5727","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.19.tgz","fileCount":28,"integrity":"sha512-XRiwxyEWQpFWqssGKP3z4yr3DcA+CE+F7WxgPUZ4bN8CE0eDofzLi6wWpT6Zg6ToxqgCydKI0GRGpn3PU2Kiow==","signatures":[{"sig":"MEQCIBn927aiKZVAPLAfbvAz6RdAOBhyDpJZaqSRrs5ORsyJAiAWt8PTzy7uq8tLL0LRZrqpA+OqLAe+qo+NTr1+Pme5Sg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":276249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAR61CRA9TVsSAnZWagAA7AYQAJJEyujzoOHsFsqiN+wQ\nAMy/Uj6Ntbqe68zT1BCD7GYmrqQHg5GoXYDtFnWnNeZYu9lrBFv2pjUm/iCX\nHTOZantCtUiqGN02HDpTMQzjKGLTaUGTN5EzAh3xgZxdI/8gpWRRxVBjrD/5\nneQY9wn/Rk1NuqysdE3fXQnRowZ+cC8wbQrIxG+jnorL1jR0zxIMcvIdNueD\ngblzlTe7wjsGVR2/m2+gFEK2m8BZV8Mfzo72H/owp8udO1aJ4aC1FgVvTZeJ\nuSkGEwhm9oTr/OpzQaRHhy5faoruei3zJKsl/NJIA4qy3P5U7+jqHyGVwTDa\nIKlBuwEDQXso9ghi5IK98SHGAQJ8+9Fmu9P4qr1KXTnvT6m0pHK8VJB8y7se\nA65/KtzScRo48aT5raKT9PU494qMONfDrCm56tndsDs4PO5jF+QiiJt2+qJe\nb0gw6Pgy1wIK5P++jsTAWo/DUt7xcMfmU7VXiGsr9mejAryi3wxF9aHn24yj\n2yYlxecCx+aYe+3plgTCQXzX3Pr0wEy5Tosmvq8kU76lvEQo3YoKxg0qr5fF\nrhBLzURJf5uh7z7Ui5YtGO3Tw+eLu/EqRjfkDeSALiGhusEQZdpDzrrllybS\nX7Wv9k1TGxwIyKjYre8+qnNmWkExHaV7KyoBK7bzaEHRdV2nLMJDZY+9PlaJ\nHqO8\r\n=wY3F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"9b3ae692fd5a1ed24cbe8608a055256fec7aa020","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.3","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.3","@adobe/helix-shared-git":"1.1.1","@adobe/helix-shared-config":"1.7.7","@adobe/helix-shared-indexer":"0.2.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.0","sinon":"13.0.1","eslint":"8.8.0","codecov":"3.8.3","lint-staged":"12.3.3","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.11","@adobe/helix-shared-dom":"1.1.7","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.19_1644240564694_0.3037429126824205","host":"s3://npm-registry-packages"}},"14.4.20":{"name":"@adobe/helix-cli","version":"14.4.20","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.20","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b9ba95f961d735271754318974936d5eade4f28c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.20.tgz","fileCount":28,"integrity":"sha512-bqz9/qhmHyA+gLZma9Eb093fo7r8iXuQUiyF6CEzcBmjckFTh90KPfBcqhyOGCqNHj4/K/BPeSX5XcWLCKjGPA==","signatures":[{"sig":"MEYCIQCo7Edgd0OO1tEzT2JW/iVPMGW9gvalc2l1wgJo3M+L8AIhAPNsPwwSMtMSbuoKVBDnMB7zd/AoPinjK3z8JRFBjSO1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":276485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiA5quCRA9TVsSAnZWagAAtssP/2QKKiQLdfERCy7y7Nee\nzWA0GiTNMi4Q7Tu1aJqNx4vINGNTsV13PHYW4JdVv8yTpvAMnzkCRH7Zc7jS\nZGQDqH5Su+xqw35KPh2n0Zw30rmN8Xm+PBJefIiC8ZC3luJAh7mMiI2AldF3\n4l7komumoeEs3Sej971gnfwKjUGYAWTqA/hD9e5zZdDNKJVZt6oVNJec5n6P\nsr7Q6Mib32U9K9TaZBl09gTZrjZkaGgOL5HrT73LoaPU38dedje8ALOqnbSM\nRpNRzX1OZYkUlXcPJynSxRsyndYJ8JVrs/WRVn3I5mgzYxCFDKWwQAXPx6Dv\nhpjGf/pjfENRK+mNHHvPpE+NzGqfPUWGCTBTeAg1fE+2u06zW55kFs9BJPZV\nVJi+uCTt0oeTKlyajQzTTuQ2/cxYvZnWkv9GGxyIOCRSmYKyuMijpyoARaDI\nTqSlOumsMo2GgPD+yrYde/pDNQn/8LRIm9+plBZgm76Xs3xzEtepEAC8pGM4\nsY2QOSyuw2vOjyErN0eQdkDloMS8duwU/Njjs8QYjr5JCHEoJn0AtxLmpJzA\n7fe9Q7IgQKrtI/4A3fdRBHqdq+wUeZm0of906DuG3YnOivp+hSQ5wmXd5c81\nzD2C8NFYD6tdETvsJhGTgDi2rfheGD0YLPwTC9Fdl5CkYRTO8q0flcDTnM8t\n1YXT\r\n=vT6Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"476dd8b0e02b5098522e68c5edd01e67bf0e710e","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.3","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.3","@adobe/helix-shared-git":"1.1.2","@adobe/helix-shared-config":"1.7.8","@adobe/helix-shared-indexer":"0.2.10"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.0","sinon":"13.0.1","eslint":"8.8.0","codecov":"3.8.3","lint-staged":"12.3.3","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.11","@adobe/helix-shared-dom":"1.1.8","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.20_1644403373877_0.94673844849211","host":"s3://npm-registry-packages"}},"14.4.21":{"name":"@adobe/helix-cli","version":"14.4.21","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.21","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d7c4c8ee634344b65423411e1748e0d5113804e8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.21.tgz","fileCount":28,"integrity":"sha512-14PSCZnCQOQ59zkSMpc4wrt5kTlQosyfdIcbBCuCC8o5VSF6AJ700A1a9JQomDFFR87JcT2DyXDKRFOHIMeBNQ==","signatures":[{"sig":"MEUCIHmsWYi6E4YDGIiZRmh7KJpgxVuJSWodmXswLZ/Fk1wqAiEA62skd4JdEsQ/TabwevFUXMjsZSxWD538ADWeL+UsqZo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":276779,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiA89ICRA9TVsSAnZWagAAU7IP/0JeNhFfhff3RkfWuPnA\nfnsJoUfLLxphqqyz/XzVErXkcBFqikqy+BFv6R7VvPsooLgW4wPSrrymeHij\nccky9o9N5zE7reXXzuv/CoXGgIcv5hJ8rC4sI4tKmO+kChJWd2V3d0UNmnDs\n7mwi3oYN0b9ZhFV6EanhD0e8qO7jCLRyC4yfnOSvpsI8s0vb9wR3YWRYAG4I\nNDdpErtMWwx2FGdvUfGZk/c1GA/G+g2nYG0KCRbGqZetOxCrR3ZAy2Vbmqfw\nyWLGUlzYVhjtBguoNhJ6YTD/OjqoZivQVL6Gg0ZeKhaHz/g6CGGwFA9iJglg\nLTWKj9Ejl4+6pZC/Ntpv1rJhoHsi3Cvz6MNted2xGIZGGtPoq9R6CxBCnywz\nCHJvGC+E3lX3gu5pg9ADNN4qB1wU6HztNwPKzB3qNZ2/FH7/GhpLNgtR6p9Y\nL5vfEaP+hPjodfHqnRVmt4trWSYcm8E1iToO7uikj21458/f+zp7PRDlYibE\nU6P5TdXu5xO1eZcgdzoXZRBQ1oU/Dpn0sgIG8qhRtSKUPJCa0FRB2FKn21JV\n0kXCSXpMsf0HlT5lvq4F835g8HUApht1HIazjX44LhQ40qxEfCFdn1qhSfBA\nhZQUIXUcW0ZQm9fnENJ3yZSMxqAYoHeGkXOhGqdUW2hz120Ok6yMww/bu2IJ\nSUtg\r\n=HI4j\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"557078ee5dfab2380275a41a93b5d48dee015a20","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.3","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.3","@adobe/helix-shared-git":"1.1.2","@adobe/helix-shared-config":"1.7.10","@adobe/helix-shared-indexer":"0.2.12"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.0","sinon":"13.0.1","eslint":"8.8.0","codecov":"3.8.3","lint-staged":"12.3.3","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.8","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.21_1644416840652_0.17210507913409723","host":"s3://npm-registry-packages"}},"14.4.22":{"name":"@adobe/helix-cli","version":"14.4.22","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.22","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"403e714560e2ed4d0b3ebf241937a53000eaef5f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.22.tgz","fileCount":28,"integrity":"sha512-uqK1E1MMShqZUqqfoa3eDcjyGv5itpqROzxA7LK9kFAtrgBEe3g4d+OTgbeALypoqN8lpPezGaBk+zJaP5a9tg==","signatures":[{"sig":"MEQCIEU4VorYweKKCiuIYriWdRMiET+Fklp9g0y8iJiSSMvVAiAX7FPZgxtGnl2fxd63ERJ782VW2CYiuRRScL1oHsnYqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":277014,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBCrqCRA9TVsSAnZWagAAp8MP/0bY+62NWG8mdNBDnyv0\n4IOg08dPMykKSX1YHd7iB0ELS18qFjzwG45O0gq4hmEGCnR8AJS1RwHYoqVy\nSAsI/QPsrSIVxwqOnSHasqHdqT9nsg7syNbPWakKxK4vyIo9ITvGS34P0fbf\nqGzF1FBbzsxcgoSkNjzaXz5msRKBmT2LrU4oWWqHnebrL9nsg4gwaKgHdQio\nfrcv5G1v4sufIpy6+mvsrDy0KQEQiqUnSoZcZO/zr/W0dLkCCqir14R6pMbE\ndyEWDHCke8KzuZbXelE2JNyk2gCblaD4jy/23b3mcm8UZNSOwQlrkXdGhZB2\n3J7a2prrQS2bmWfyemZyKN5XX9d7TuSKExHfCprzgfDGWtfqS9iFoEZpi1BM\nGcaSuswdIWr3WTojvGBhwk/hJv6HTw5iTglvsqPfvpYuyubFk4VK0ym0LpcP\nfcpOyj+iXqVGUunFFsdcFdlRBZeLBO8cHl9ZWLtOa9VBYTC3wA4FJea0szRl\nkvyQ0si9E52K80tx4p1hM/AW5pGiTNc0BsaziKTZl986bJMOf4xXyQJe036W\nJwPm6ixI11Y4ELCFoi7CsVSDTsVNxQEf8WS10cAMtZmWo10F1kYE2AZ5swGg\n2byq1T0+/MA6CQsjI4uyLLdk1SmoqINoGrgcmNKAUwn0MB66aq4FJ0FIS69d\nuevk\r\n=iEmG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"ef2220e16d77ec5c68d7477c7075090071db5607","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.18.3","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.3","@adobe/helix-shared-git":"1.1.2","@adobe/helix-shared-config":"1.7.11","@adobe/helix-shared-indexer":"0.2.13"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.0","sinon":"13.0.1","eslint":"8.8.0","codecov":"3.8.3","lint-staged":"12.3.3","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.8","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.22_1644440297943_0.9418206972922964","host":"s3://npm-registry-packages"}},"14.4.23":{"name":"@adobe/helix-cli","version":"14.4.23","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.23","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"07b6441eea3a8d2e17d94868b5d5867b035d30ab","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.23.tgz","fileCount":28,"integrity":"sha512-f8c9u67pcYK6UwyqGkpAGOuxWf7DIIC2awnjc0udP/SlL36aMi+8IvtOBjXr0bvH5VZDRAcGS5Ioem0roHCp0w==","signatures":[{"sig":"MEYCIQCElLECSXC1lj4qJ0r7U3B8MlSRptaUvWpBjqCu9HQ8hgIhANsQFZyQjqBU1U1T3Azrm40/7921RYLBH42gW3i7CqR2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":277249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBXVeCRA9TVsSAnZWagAAGHIP/0yxbaNcLcHaO76GvnwU\nucPpa29iD81dSohgsB9rC/RMQfBvjv0Fajv+IQPb8Ngh9atweTmniSJgQTPv\nZR8hHgtXMwuezXiJABb/A39JtllI3UoihwZqnTlIKahAlN0HBCGWCTjbrbZT\naMUAc7AhkRdi5C2uyFOBDn85/lVjpayy8n8hJlQ+fKxAXZdjtiV2h8F0pxpo\nlFRYLXOHxmT/PSytr76EO7b0hfylSh3oIcSu5f3U6IDPJTnEoFtv6qHnF+nC\nupsjgjQP55vxx0RefNfCjav6eijU28A2708neScCepSI6z5XduHf6i2O+vgb\nGeYaxS7PX+IIxiu+48Khghm4O6UgGYQtWMKTxLYRosjs0L/Q5hZPyD8giQaf\n6dGEei9XOnYFO8cUhMEN5bVTlJlRlMJdUx7r73n3Gb7TeVtvqHBbWdCpU0gf\nBH3XTarnyrQXW7miKFJNJOAoE1sTXrjHzEIeYOCr+1zhSqPRjbcT3MlTPng6\nDP6Lz+Xk9sEq5STgZgocIYCSlICjl5/1PZXEOoQeRPPONFr1G+1fdyvZj8I7\ntFryYA29YvAEWfELFh4WOihkWD/Ang/TEfd1VCI+B8c8+6/6o7cYZKgHv379\nkk7ILJTJK9fT0Oh3Fv2MFipjYSD2LyarpkJea8fpZowvT1fzV+JHSiv7vaBw\nLgB3\r\n=Dngt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"d1170d2675e235ecfce9c0ebc7f2a81c345400b5","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.3","@adobe/helix-shared-git":"1.1.2","@adobe/helix-shared-config":"1.7.13","@adobe/helix-shared-indexer":"0.2.15"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.0","sinon":"13.0.1","eslint":"8.8.0","codecov":"3.8.3","lint-staged":"12.3.3","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.8","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.23_1644524894421_0.0858305781898141","host":"s3://npm-registry-packages"}},"14.4.24":{"name":"@adobe/helix-cli","version":"14.4.24","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.24","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"c491c12d45b45aa7c58492b4f0b3437e4a178cc5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.24.tgz","fileCount":28,"integrity":"sha512-LWyhRA6E48LynS1PnnOy3UJoOkBkTi+bNEoURueHgUIv/doWkzE6pzgYdw6EsEish1yC1krlgH4MA/m758QVnQ==","signatures":[{"sig":"MEUCIQDNnuUAvOgRdfNoxBApPA5bKIXiwcQsjyvr3UhloSGm1gIgWt8Rat1VqWXMSc52MWP/GIyZWjdfAA++iQBbPf0sxoA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":277484,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCr54CRA9TVsSAnZWagAArFMP/jByU4XVKB/bP+7sppAc\nj5C4kDK4lb8ZKpU5oqD9r7Sahx9FnsrsAzBJDAvh/i9Hi09DMNJzrY3WPnO7\nQhFs17/vWf9LoYlof6VvnBMKkGcgUbFwpI02C7Dvt0Yt6+BGuLNUeyQP8bbO\nRSD2cGt7dUArr9E1BcBXnOjav8doB5Ow4xbnE4fNcvsljUO/5uDqNcMNDSaX\nXFIUWkkdVbS6zimv8o1SYg9JdNcinEvaK42gly849WY8fKSvQy//W3VaaQTD\ndY08SEo707Kvo5GEIQ5rfEFm1xLldukacFOOc+jYzD0iuTQUOcbKmOoerhZf\nLU87Ma/CWHQeV7cUs76Hk662sh1ozpH1jb0Fs/Z9Zsn5QG7Kjzf8lszvZBN2\nDWouarPyfnW7P35n7r0BQ1wOnMhFlNorYinVWS1ayGgN1W4orHVlqC3ITJma\n6X2dYvjnh2ytiXvbYp4bYjU35BmX7Rfi88YuBpdt+7Ii27WLFVZKAZswtkZT\ncVL3tExDNHSlSQcmkAjKlOWGt3+TSTWJCEirU1hqzJeuOTfVmvlq2jKZ6OeI\nOdjvuqu2sXJiVG4M0HRZwbYNQhxBW2Iyi0A9/GR2zC/1tjE48PhyxJWH43Az\nIe4ANreyIGny1bqGHKnhDRtTsHEyvbg40MaOOLFq5nLooUvnUBKRJxFjmH4T\nmG0D\r\n=G2l5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"166cfac8069cda49273dcbf11aded9003d00dc5e","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.5","@adobe/helix-shared-git":"1.1.2","@adobe/helix-shared-config":"1.7.14","@adobe/helix-shared-indexer":"0.2.16"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.0","sinon":"13.0.1","eslint":"8.9.0","codecov":"3.8.3","lint-staged":"12.3.3","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.8","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.24_1644871288451_0.37867854019885705","host":"s3://npm-registry-packages"}},"14.4.25":{"name":"@adobe/helix-cli","version":"14.4.25","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.25","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f5a60add56a2bded8ba943315dfe5faff644d376","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.25.tgz","fileCount":28,"integrity":"sha512-Okwmpf8KfxAYLf2J+R8JSWq13gUWTSkw5tGYnWsTuzxstleRhkWeZ9xkzFHp1QKBzJwYivJUz05+jaaUWnRo7w==","signatures":[{"sig":"MEUCIGRueGg2a50t+vp8tN6otINPsqF5ViVdEDNzYxlw1XPfAiEA2VGmk9hSkRE3VYMjTPoZ6d7zuvhaTYWM2NaD5AKxzqU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":277757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCv0tCRA9TVsSAnZWagAAw7wP/3APOIbT7a9Da7u1yQ2p\neKfMfotnQbUNQwSWZDG6ED6a54zll5ZXeJUKSPbETdSbEWJdYyHW5tlYIUoF\nrrgLv9m5jnueY8ZD0OAjl4JApEV6HCd1tTXr3gnZZTPnj6u6DFmO8d/mPnGc\nVBCEqIxzBLrUWoHtTWwjZ/GVUnnVv4X/sdTeP2dqi9ONPfTTdtMCqcbG06UM\nR5TFlikl2TJ/WjzMDDuQJhPZGEGR0I0L6171U2o+YFEsVsg90lN0FPzu48lp\nynu/WEHri1eDTbTcBm+bmLI2azK4S6f5ToHMczYfPXHHUSQMLkAJfRMdeDS/\nom+mW2JNkQ4CNuXtKGzMWftf3J/ZzbWS5J17sasLfyXPTOSxNFVU3QUv817J\nsHYxFKW7Wz0w45rO8oJEOrQmzNZUIMoWXXV2pNLN/fHgDUPBfjfksOx45laO\niu+NGYhCHzKdVKyGX3U4bgiLitvJwQ+zjOsuEkSckEO9w5EHiFRVfRGVvl/0\nXd/4s7WjoshO+RGuX6te5WFI4+CRIQKc0e5i2AkMiukfnINjrg0H91Li4sB6\nBr7XidcB+HDljAaH+rq+jUd9IQcwUxS6PAaEebXCxek7+It+e9pmY71wftAZ\nEN3RvCVoo1SaX5cCpmNdCGGcgWk2O+FZR6aBUGT2WtaLnMhnrTjpKwGK+qCP\nsi3W\r\n=Zjea\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"e2f26aedcdb4ad6cc3c1e3ba400ce9c34d5a5ae6","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.2","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.5","@adobe/helix-shared-git":"1.1.2","@adobe/helix-shared-config":"1.7.14","@adobe/helix-shared-indexer":"0.2.17"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.0","sinon":"13.0.1","eslint":"8.9.0","codecov":"3.8.3","lint-staged":"12.3.3","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.8","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.25_1644887341724_0.15793568895903265","host":"s3://npm-registry-packages"}},"14.4.26":{"name":"@adobe/helix-cli","version":"14.4.26","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.26","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1f7a616acb72013f7a623b464cead451cbd07ae2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.26.tgz","fileCount":28,"integrity":"sha512-4Hs4qAQu6J+pEYy/fJand2bNRQP4G0rVTDm/r3SCdJWC7seQUsHg+7YLRRUpZEqrnUEtME5IGsvlVqzjeiFEPw==","signatures":[{"sig":"MEUCIQCHpgbsE4h9LtQAEpTGeS6zRyV4dhjj416psDCKI/IJvAIgQTywn2I/xs7HzFpOIM3+WxdZHHB8fRDfC9Uw4anqZnk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":277995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEQypACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbnQ//ZACqmFpSSIgiQ4SEDpbVApe7cYaxN1l4s1ywTIrdj19wcB0F\r\n9vZ1N7VSwbestJKdJbwJyQYbkbWqupY0LnB0G8h/C3Zx8BMn5B3npe3nNCFO\r\nelAM9ISkp6usXlyvIGvbTerQrS+q8ggV6AflIgl2Swn8MjgVl3FK6GuLLrko\r\nAtgCxMuhu4pYOdtJfA6axJbd8a6HLloQmosVxZ6SbukOJZqNR3UXaKjz7iSW\r\n3oaRb2ofjHRVvq8Z4cGX7eFqr2H6tCD80AsNd5545gPSnoCiXL/3qjB7Q0gw\r\nwQ1odoKWC4JNrES9nWnvcfmw54ostpQczZSavfFgjrYqIPiE0rhEggV8/KWu\r\nMzuZbFmdZnI2Dam/kY0PBgmmV76lIxcSYgYRK4Vk5UcpE6eE+ZHNBB13XPyW\r\nL48bs6BrBmLNtPaxkT79Lrn4dLMZQjoDBsioICZlKmkE4oqviGlEu8tx0a5C\r\neA9hkBOgusqHt5HhljRs6k80CdE5duBfdbc3K/0jFrsUtk8BSgSB28qOMCeP\r\nc5KAyQykcSDiUQsqLH/NgFS4JIS5VrhysDH/HVmWB7MXNgsUCGWjBWn0gTXl\r\nQHzRXxil7BUMXpD/Llvq51uZmjamon+o4nrpnZ2D7ayLNW/hHbpEv+lGVWQ+\r\ns3Up1B1C645fBC7WUlAF5yn0DO3ZtYw3kbg=\r\n=TgU3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"ef03f95593d7607a56d2a8a9c7994c55a901e0e7","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.5","@adobe/helix-shared-git":"1.1.2","@adobe/helix-shared-config":"1.7.14","@adobe/helix-shared-indexer":"0.2.17"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.1","sinon":"13.0.1","eslint":"8.9.0","codecov":"3.8.3","lint-staged":"12.3.4","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.8","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.26_1645284521125_0.41095657316057976","host":"s3://npm-registry-packages"}},"14.4.27":{"name":"@adobe/helix-cli","version":"14.4.27","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.27","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"5845e8ca7010343f605bf55cfad3edb36f8c9d10","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.27.tgz","fileCount":28,"integrity":"sha512-oJIFunYxCdkqjDl3Bzoblkpc7sD+032c28rm9rS+FQJowPHzKnobNWugFx5aX7tQoNyELFpgDsez5Sd+P/W3ng==","signatures":[{"sig":"MEQCICc72X3l0OzF804xFIJY3Jqrq8q27fTIvQ9FMrRBvnuhAiAyotbVLH80XWC15G089eyAPganjcJRGgwcAXMifZMqww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":278288,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFlf2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoyjg/9H8POFUq4B5uPzoloVhx584mYF+VlaT4iLUVLSwAF8tRJTm1l\r\nAYR4pSOpZDVip9qwZIUrxhL9gZr+H1WYGk5qp0EyW8rJOr4ro2Z2RCbSUB2O\r\n1hH3UEROBYiyZTO8Kc+Uck4NjgB/tU9H4Kz1dcm6c0pC0xWMlREXtti51EEd\r\n3pwLrp1af8HwCc2vCkRVA99iBRlBpVWTSW/7+umnQOAuVDTwt4nTjkRKqXhs\r\nhsS7pf+S1cdTQkyVZIy5oHDNg7+QZT7YkBtnre+SOnp9DakYLi+Hrha1/rDp\r\nOpYw/Fxtz04ISday3099SJFiCIkL+ruia8agd3yExzRCy8/vg9y/lnnnUWWO\r\n8RJ+VSmn4hHEw1zArChFSiXR7uNLTi/d0AkxOmLOmPuilRAP73cU8bHB6ZN3\r\ni0vR/n9HZ2R7L+qYRiXEiFTSIeZMKgZmlHj3v7b/r5zgzYZzeBqxyO462j6w\r\nf+a0TDrqqTlna1MMdW+cCvSriB5Be1WPZyb1sKKV+cmu+QGpx1rGT5Ae2lkF\r\ntz1qujvkxUCD+Xo4AuveDbzMIpzTU227vcCwnbnuDcEgBqI4VkOFCKXQNOA4\r\n7Ow1strdXppTD5kbcJbRIetgFJiXbyfx+mcxZbVTbhWd+tuPZl+Zz3UhWdub\r\n73wvzsj3w/HcNMULZF6YA8BUkOkhGVN9Xfg=\r\n=JqLZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"524acc2b0e70671dfc38016559f19153893f453e","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.11.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.5","@adobe/helix-shared-git":"1.1.2","@adobe/helix-shared-config":"1.7.15","@adobe/helix-shared-indexer":"0.2.18"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.1","sinon":"13.0.1","eslint":"8.9.0","codecov":"3.8.3","lint-staged":"12.3.4","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.8","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.27_1645631477837_0.2516045801735054","host":"s3://npm-registry-packages"}},"14.4.28":{"name":"@adobe/helix-cli","version":"14.4.28","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.4.28","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"c5fec4c923af2dfe1767069f082d89d34c5c86c8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.4.28.tgz","fileCount":28,"integrity":"sha512-3wTWB9NIWaY2vD1OqcLgK2EeDP2ycHYAOJBgoH9tfw1zOiySIQt8dlJ/2DVjmxYJCiUclQS8YtfXkotXWQ5o8g==","signatures":[{"sig":"MEUCIQD61R3AkpCkCuG8S1GNWWuP9xcp4MmMCkVtoXzv6ar6+gIgduB0tTm8mhh961G66thplH0I/eX8LAIv2k8QScxgTgA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":278582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHP00ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoBdw//cFUHb30mHxULB2GHi7/jsqHFVvQ7+CkTYkn4WtwdT0b3/8h4\r\n/HQM2Jbue4CFfnUuhy3rXsvgbIeFMgzasIgOSweqrpX4PxUnRPRRyVwRe4kk\r\nG+GmJVmvjkGXVE00ZsKldAQFD6Jev5/QcKo/JLN65U4cPMs8IWryCkchcOn9\r\nFD+0yDzGQSkYuUTZNgWCE/7kCwlUuVC2mGPWzI4Yhw4wynZW+iK3rPjWK6ut\r\nHmylO1Mt9b0hDBp9SdaiFpd2leMjU67aCORsn2qB+TiBS0R0DHM0Kkea8Q81\r\nstWLLAVwJdYJ6+IION/Dv+C6bjwi5Ef9/w5sAboEP8yj+rdlogF8wCD+cRQ6\r\nF5eoOAd1O225gllcokAons3yqgAt4VK9+N1Oi2nRVcI0ipvGDN9H35yGGQx+\r\nsn2206g9YKCoW7F+bR5s9WsrLq8vTm1PDdLRQDS/PJASsgFYJDvhOkQiv5FR\r\neBL7TKMgYx8HVphhDhJs7CmRrYK82K8hYtgYLxry9PRQYY9F50ZBekfF/IOl\r\ncnfKkYfnTgEzmVyvh9TyPYAKqTqMyw+C2Y/ZKxKL5Pa/M6nMHpAFimgLLmSS\r\n6N5Z8rfHPoPvIPzEbR0J2zslFo3e/wir6FnHmd0kZ39JC2kexMJnkvgpZWSj\r\n7hgwx07PmmlhJ2HBl47Z6FFNUknP6IqGYCM=\r\n=Jnwk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"2c036c23ea9f1e5cec3edf94114438615da397a3","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.12.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.6","@adobe/helix-shared-git":"1.1.3","@adobe/helix-shared-config":"1.7.16","@adobe/helix-shared-indexer":"0.2.20"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.1","sinon":"13.0.1","eslint":"8.10.0","codecov":"3.8.3","lint-staged":"12.3.4","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.9","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.4.28_1646066996573_0.4143952278591412","host":"s3://npm-registry-packages"}},"14.5.0":{"name":"@adobe/helix-cli","version":"14.5.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.5.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d619ce9a8ab12c6e011a4f7c9e1d23464c03a9c2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.5.0.tgz","fileCount":28,"integrity":"sha512-vmQOYRhJi9wMQn87vAKcwNMxWYdRtcIlxWnaGWBEwSx8yOpE7ppzjLI/oNfvALW6dIEFGPbi3VcXEyoejbHWog==","signatures":[{"sig":"MEUCIB7AIactLnhnasrBO6Vl+I5BweLlPFBAfAiMrV5Ty/iAAiEA5kR6qqZB3q+LXrvDjAEHC7xfvHOp0h7d5tlI52I1DQk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":279909,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHyglACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrxbA/9G2UrNVueXz3YOKZPUvrlRDBFgKIZ6dY63+qzHTKecVBR2924\r\nzDdWnDecBnhQ+Gf0R/GHmJuEIuG0Lqb0LxPKi3wJKfp9J7RYjNQf/3vFyj+I\r\ntc9/rhhpYvOuUZ10sEfY/zaSyVjBNNTJaBKUybrUAe6Qylr5jkeBMmTYA0+W\r\n/CQ6A108YQH4Hp0aRyiLhsBqklS2/AWSPaY4QwZisLI0QvMahCxBaPdG1xLF\r\nw4zGhOYiA/jKq6O5eFviZBA+Z8Ms6fxvMUNyWtjyitVtp8xZKPosOnRJeCoA\r\n/WFBQ4I8ThV6FZPlklKhEbNP6JDly3eTj509sHOt5kq38HC/fYMT5h7k30QZ\r\nZTaO6ua0qW1ZgKtbtWcGIk51kSnnnvGFQTI8WktniT84XiEhu43qGDU6iVsn\r\nMaPcMiUFCgocJA6wgNhduZLtCqNzf4LawzaZ3nyitbNyK6rwFdREU+Zm3LOO\r\nmioFwZHKDh79xZ2jl+Ba2y/dJ/UngYLPjRbTe8hBC9QgVdWbkvaRGXsu8OF6\r\nI8Cx9s4nHFNvzBovOO00juYXqxj2Tn3P8MFtJ2emDM1Eq9y+U23K7PMC96Hq\r\nXlQJ/IgtiLuaOt5h5e/14oPW1dp/kflToWCeq2seK3l1KaDVYOF8RA61Qlob\r\nsBPEp1h0PgLQpf+WV8KCPJgTZXWUH66gU8Y=\r\n=7gTs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"3b12c7d44f8b5874a7a49e28ce7f405b8ab05827","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.3.1","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.12.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.6","@adobe/helix-shared-git":"1.1.3","@adobe/helix-shared-config":"1.7.16","@adobe/helix-shared-indexer":"0.2.20"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.1","sinon":"13.0.1","eslint":"8.10.0","codecov":"3.8.3","lint-staged":"12.3.4","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.9","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.5.0_1646209060676_0.42475287537620265","host":"s3://npm-registry-packages"}},"14.5.1":{"name":"@adobe/helix-cli","version":"14.5.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.5.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"30ac241934c3953c40c3d9b5baa80cddd8e52663","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.5.1.tgz","fileCount":28,"integrity":"sha512-FMw00Syior4koH9kMKD6AM3+2bruxuk5VATgoVvJQllRyEaEMV7V1SIBo4zHttfeFWkfzjj+T7Y89wpepX7PKQ==","signatures":[{"sig":"MEQCIAWAxe/v98jH3IwmCyL2ehaQER31CJbVAiozKf2db3oQAiAIf9Erb7BI6HlyyoHUjikJfr+U7D6kZtzz6/HUEeHmRg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":280144,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiI5KfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqjag/7B9JYHzcOytI4U9oi//vcGfu+5pss4BFS0VE6Ekbs5dgP5C1/\r\nMOrWvyA8FFnpTxO1xuCRwl8/TgWiI0xjH5Cf+e/74DBvfRtnqLGSh93hwwYk\r\nzYZfZa6mdwZQGWwASOBY4uctsd6R1s/iH5UBytuDPvXWdNJyTVDmXroxKZGR\r\nD0axhffAmy1HIj04Ft9NZGJfbLgL6IA6oj3iQS0Jnp9pz/qAM1TeysMrwyaC\r\n/ZCLsxwNs3TXx40uRvtsnNpK4HKwhcEsvSu1Th8UQ4XtCkR5c5cPGeJlVv4G\r\npU+PpqmjYTFAnGB9UVWSSI2nFr3cmzx5FnCCD6jUSLAyxMbyCFuHO1QNp4Ge\r\nzmCWULzYgJnsItsTbSztrFYnELFn+IGmKnqiyDqINoZSRjUaw29rW6AE4cMt\r\nc53xUUzKwxJonn6ri22u320B2F5MxewDal9lSRA/rcP+ERz0LPBWQDW/Pe7n\r\nhvhdGmUcVDyN5UNYHLwwKWbqPtU1HdiIeNrbg1U76YuYZpTpud667dFVo1m5\r\nU9oZxnGDSD6GKHT/6qxuqmuBxV1K1GYIDIyxHVQTR2L0jP2s1c2kKQPaxNsm\r\nEDOMRUtecYinjrEHwL5synfjT6DlAtE9JYXm9Ues7LStzAu8Gg+OMYl5IIhu\r\nnzOeMrC9cvwZlAJ8CO5BALnwINAQsRh8sK4=\r\n=FGLi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"1a9e4182ec435866a0eef5cf8f44ee79f0bdf3be","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.13.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.6","@adobe/helix-shared-git":"1.1.3","@adobe/helix-shared-config":"1.7.16","@adobe/helix-shared-indexer":"0.2.20"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.1","sinon":"13.0.1","eslint":"8.10.0","codecov":"3.8.3","lint-staged":"12.3.5","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.9","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.5.1_1646498462924_0.09547883429448056","host":"s3://npm-registry-packages"}},"14.5.2":{"name":"@adobe/helix-cli","version":"14.5.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.5.2","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"bb2d64d0dd447853d8f3a367e821d9bcf8a41a17","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.5.2.tgz","fileCount":28,"integrity":"sha512-8nDBjXtiWFa6Yaw+gExbXpP/rToc6P+LflaRFrM1cEXPN4YJiTW4+AZHhyGn3Yuvv0Vi2EjiwO7iXtx3ap5HxQ==","signatures":[{"sig":"MEQCIBWy1hgp9mWWwGzpAvnSXytYlNBdNsOO2qx3kLtAtFl8AiBBpYjhm5eyWHnhQxeu/FJKrXm82HqYIQUESoWyLymNYA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":280376,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKig9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpjXA//ZT6IGQht6Vsx5FC8xysESSaXtoEhTqpPahqjoqC+8Kg/ba6E\r\nMPBRQBMOrZotItkZnVhwG7q1fdkVAvm1rEwfkLSkuyeuOkgeXrCgoXvapZCy\r\nLSCkNbQIc5aysk001S5KKbo8zl6YX3OFesADOJefTmvHmcDeW0Z8QkfMF3RR\r\n28LIU7pDrzmX+ncoO6GASZ7CDkiDU2hJ/NS4Ka8BulP+1MwFXRNextgPTm96\r\ncKbnNOlV4o6dint6XPgDizPizMz4zbr0VLtdUjnEPs2wcz5SzgEAlI5RtSDn\r\nGwT2cJ7BLFSFhrPO2FZ25YrH75ap2jDGTd5C1B9rX18B4+dksmf2nmLcjpru\r\nteu7EROO4q4mrKLUApq/j94RnTBMNjao3Po4KwEbTKWQarKjhitfzpc20PWq\r\nZyYd5jtENypsB5pbMzDotgPIFqFI3yDpX+y0zAe63Qb2FeU3rgI+LaiCxVGz\r\nu5XkFDBfgXsnK6D1gL0gvSJwWT8nQrVffpshivSL1Nx//87l/lvlO/9Epmac\r\nnvPUAezYMhkoqQ2daHmfrEy0m5SE8XYDPvSBvURtLLyNJBS8F+Rf6wuKWIL0\r\n3fSbAHunq/8wtkFB13MjcbA6Bh9BG7Zcczhuq2ihZZTgLLH2Jj+5l50nlQND\r\nY17tG9HIzpu4BfUaBt1iEP2Rjhw1hf4Lq74=\r\n=q4Ds\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"298c622e0d6cbf28c8c1b12c1b631d5001211372","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.13.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.6","@adobe/helix-shared-git":"1.1.3","@adobe/helix-shared-config":"1.7.17","@adobe/helix-shared-indexer":"0.2.21"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.1","sinon":"13.0.1","eslint":"8.10.0","codecov":"3.8.3","lint-staged":"12.3.5","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.9","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.5.2_1646929981084_0.1824433404491541","host":"s3://npm-registry-packages"}},"14.5.3":{"name":"@adobe/helix-cli","version":"14.5.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.5.3","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"bf4bc6653a1649991f14f8e798c81d4f99e70e68","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.5.3.tgz","fileCount":28,"integrity":"sha512-78eNANHQJgdqYpgKVN4pGozLDSR/nwuGMGmmxOvp2OddijyNTuSog67PZPH717skwoBcigz4E6Tj7I0YndE/MA==","signatures":[{"sig":"MEUCIQCPN1urw/Ths7udM781bpzhTPc6da0E8DNMfOVzHWrhywIgQZuBim8Nw59weGnfdRyjKut/SfLpmrbvTotTFO/ZMBU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":280666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiLLPyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGNRAAkouSfpFLDcTL6AP+DV3ULHe1APSecIzktiIILK9PfwVn5xdz\r\nDtp+qlfHEFCmjjlYA+3Ad9+/YFSbu+zbqjpjtRuOpITVmVWfna5feSUpLiYP\r\nAQz00RCqsGWht/8y5x3cpcyevS4mWKJ0EREZ3IhA3bpkjOmB8AOuEReHYNkM\r\nX77D0NtPlnXoMjYGOtL+us/rJ2RikHtWWnnQq/Q6/Agte1jp8ocxr+YuRnP0\r\ngJJtlUjZVaBwNHVSANn1qObAW0wAG+Oq73ItLYz2j5LxOxHr/sGmyshpH+vj\r\n/PCM+Izp6O1mI8ho1HgGq0S23BEJ7rTy14hCuCk+CGsTxrCRF8qCmGBipk7S\r\nWu0ziVvdUs4V4g4l9awDZ6H+mLumnkTp9ttUlr1Zmb6/IIKxnxtX6DIiX146\r\nNvJGgZWCRqVwBPxmqSpIRx1h0rgxNe+9EHJh5tDxDQylyTtC3il7vDG9yPr+\r\nHgtP/cZklBfBr32gbIo/CyFuEqMQjRT8yOTlZXHBV6hmcJg55qahQCxaiMpn\r\nn/mrteStsV3O6vHDjJeZ9gUzSWnPUAekIzEo+81Hcg7WtOStoeZ06X8ZMccn\r\nwz/vZnkpbXkG1FbrBpGKlMATV/rsyFOC74OzCRZ2V0/kMeRsc/N96u6IheTl\r\nxSKApdDTUv1vadU+MTJE6bVYGco7Vo0hDcU=\r\n=Gvzc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"fab803584812e8e22ab11979b6fa0945c56b4d0c","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.13.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.6","@adobe/helix-shared-git":"1.1.3","@adobe/helix-shared-config":"1.7.18","@adobe/helix-shared-indexer":"0.2.22"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.11.0","codecov":"3.8.3","lint-staged":"12.3.5","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.9","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.5.3_1647096818805_0.8102195149179472","host":"s3://npm-registry-packages"}},"14.6.0":{"name":"@adobe/helix-cli","version":"14.6.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"48ced2c6caa5ff614b0e6f2ca5699d78f607354a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.0.tgz","fileCount":28,"integrity":"sha512-bqUTqxs6A2OyTGzKITiy1frO2E3PdmUKOUHDc596drbxHgBcegAfqDrrTqfIUUbGztbDFnbnMNe4PAqs0+hyqg==","signatures":[{"sig":"MEQCIA4pcC06FLYGxnCoQWnAb66dH3P2BfHPd/ZqWwJxoIhUAiAMymxGULfNg0sDT6EIyNF7SX/22xcDiyCo2FpVg7uzSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":285244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiML+7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpj3g/+NCpNQTyKU1qbWdHzVa3DH8ZDkCFBMzwPRw9hHYpG+TljAxNY\r\n/yy+wCV1hbaXmy1mnXNb7F1+nmvXWuCr5xA+jmRVN3ikF4g3l0tz5DtEIvR9\r\n2xY3o9niseNcqSMyAAi1LeTq8dISfCOX4cuQAOma1/a3qShL11WVEgOZeTQS\r\nyQB8vT430jdEHfcXr9WohkDhuoAfCTxQw2nex0BbBHFn9MGDsNwon+cLxW+G\r\nXbTqVS9a7Pva0WGkY7pJ1pJgYlAmWUPBnEFL741HLe77O17K2pobbuf2vtOV\r\nsXJSNUWlbSCbdYTgm8bWkfBuu6q+m0pUjqgCJdqzgpThQipcqYbxZDfcqkDM\r\nr+ZQyyFpQ6pMYnpAX9XHexCw6ULseim1M8oXY363qMUkpjQHCzgfkRy9O/A0\r\nvFQxQi1HvqemStZe0zqQSiyila4ijpPSAywTOeSvpDofZotxz+VMmxPdOQDW\r\nMuuv9E4n3RKO0K8Y0JNAtAYAfg2l3BQ9FJ1rMwoyw3B/5b1y92SGDnPONP+E\r\ns8b3EkMmmRuQ7J48etOMZ5KhZeJNKjZn07q+XFXoy6nBJ9w6FNH6p8z1Wvfm\r\ncLCyIn8m5fkeXEmRWBkHQ1UehUqseIVD9VY7ct/A6wBYeEuySdcoYqWEJ0G5\r\nHMCkhQZIIGXHNEphDh1OcHRsBBUjtJq+IAo=\r\n=G0lR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"a5081b0c2f7733902bc85296a36d8938452cbaf0","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.13.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.6","@adobe/helix-shared-git":"1.1.3","@adobe/helix-shared-config":"1.7.18","@adobe/helix-shared-indexer":"0.2.22"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.11.0","codecov":"3.8.3","lint-staged":"12.3.5","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.9","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.0_1647361979397_0.2181756708767837","host":"s3://npm-registry-packages"}},"14.6.1":{"name":"@adobe/helix-cli","version":"14.6.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"11a0a36e477a1aca82d06f0f8f8fc16ab60a09d3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.1.tgz","fileCount":28,"integrity":"sha512-CzEuSKV8BkaGnAg355CzKcHvn/B4voapJneXvuj+I0C7ELGOW9hZeq2hX4UTtlWi7WVBtus53auuapJenVCcnQ==","signatures":[{"sig":"MEYCIQC5NlCOcdWi96uS28J8Mp5AfKNHJvY4SofA0bdded6r7AIhAM3Hi/cW7u1J3w93ye66fU5fA07mQaGaQ4GdgXVZh9Ld","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":285919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMd1vACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXog/8DFEwUVQTPTY36wMHelPkOZlTo4rouWsEo2hgqRshIEn8bz6y\r\nrgINh5Pgllz/G8LcqlxPyUqO3Q1GrmfFNNFE16YZknY2d1We5veHSLP51Xdm\r\np8xkOMqoe+sdTHKsoI7kYDT9eg9YASjQkvMHFmlOJ1VByBqZDKqpdTxodF0r\r\nK7I29FJWkzmrxyOJ6ri0Rv5qyNqwUtOjYzl0tE88WOCMXRaZGnhOe/UC+4oD\r\n/h8Aes7cs4wkpAc1BqKL1dBTYztPq2AePaa8FrLrS3GsbrF3bovke1KhTr5l\r\nhu6DySA5js6iw4K2e12FjgrmBnSlDPVvCs4IohKkSVToF5TIofL6UB3457X/\r\nfHjcAfYY1POry9StO3Gwq0tJMtyc0xRouWQGmb+8wkreAs8RFYbY2sCi9o4Q\r\nkmdaolbvzqArxrwp3+IS9s24An07vNYPwoRTLQL0sNkPg5ogNY6jXwSlniNX\r\niPUGFxe64BivliEwpV9l63e8q1zhIPC0RNgpYT5gQ5HySS14XmxR2LtWPMuV\r\noAIK/vGta6Iv+ATPN3zlUOsubSU4vQshfGle2b1D79kfK7CE7VIQbdWzwhIc\r\nCDfEHXyCzaX1Oz+WaO1NLGauwGFXJwRCInwsnElyqy4dXejnEj2tbDBmtciM\r\nUD41X1VwCPt6rbASe5WTBppswp6Mo/7Qqyk=\r\n=Sod0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"036f92c9471606e9ec65a2d91edfa2639e34e0b1","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.13.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.6","@adobe/helix-shared-git":"1.1.3","@adobe/helix-shared-config":"1.7.18","@adobe/helix-shared-indexer":"0.2.22"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.11.0","codecov":"3.8.3","lint-staged":"12.3.5","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.9","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.1_1647435119304_0.6039331091607143","host":"s3://npm-registry-packages"}},"14.6.2":{"name":"@adobe/helix-cli","version":"14.6.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.2","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"bfacf81a4b4b3b24c136921c1db20db02a554da1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.2.tgz","fileCount":28,"integrity":"sha512-jUovWCN7Vr/X2uHU1l7KaAmEZuYQVXM26TOpkDmntAv0Mde6+NKJK3mqyHSG5T1gLLi0QaxcTG8x90PGIqRSnw==","signatures":[{"sig":"MEUCIEckwa3WT9DfhaRTQZGrZJ6rQR/63U02Wa2dcRFsBuWkAiEAsfz+lke6w0uCAvFwDFa0AAicoPwT9mBBIypHlwMaoiA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":286210,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNJrVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+3g/+LwDyOgousalQNkROuv4iOO0lGO1R+IFw3gdzLWn8QWrYP9xl\r\nKXVocJNo1XY1cfBh35qrtHQM6Zhmv3obJCzU/bHOIUSAakPV+jfnB/vIdw/a\r\nGGCnKIBt12Iu3jzbv5UFBfASCWagrh2JScBUbgiT8dzbrePavRoKRDgZLGSi\r\n0hWUJ+fy2lXGvj5vjP8nCcJgKi521Di7xrfVY1rp7DKrapXAmcYpCqm/yRNe\r\njuXC46re0WIwTJg7NpontGYcdnHgNTKP4x+DIdlsRi0y66GpUJvatIJxREYK\r\ne+iUMFMXhexhDCZPUyvlijjuHEOhLKMmcC+CEn5r85L7tntK4/JD3hsV4eQU\r\ndI5u7tQ6eXBrU72uX1Pvv4tgL+0lHu1g92USEBX/KIoeFPhzUqwTVKGOcCPJ\r\nFlF/IyPsFZLLo3Yqi+pADzQmSFCFSPl/xgMsHAPsNoOw4DelZEVrLcyGvTne\r\nAMsPy1QZsmbzVHSHqJ4xUags2RziRl9ranL43B00790zsUSEszJBFfV90RJF\r\n/tkZ0uhr7Cizt+sikLy/SMJ1poyB1gpbgcJJeW8WKp79d7Mky3HmxTXqLWsn\r\nxIFRqSKp2NPpIgLRvcYw5FbRZHvlDxk7Taq2AuD2rum8xNonUsFAo1g8xnSo\r\nrxPB7IPwz5rBWUcA9Qi5TGm+Il1p1gauAno=\r\n=GFI3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"cb25062d54973927b67cc1d765bf34bccc54060f","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.3.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.13.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.6","@adobe/helix-shared-git":"1.1.4","@adobe/helix-shared-config":"1.7.19","@adobe/helix-shared-indexer":"0.2.23"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.11.0","codecov":"3.8.3","lint-staged":"12.3.5","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.2_1647614677183_0.029357292698639625","host":"s3://npm-registry-packages"}},"14.6.3":{"name":"@adobe/helix-cli","version":"14.6.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.3","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d48976b078cd98d05449af6ad4868c58a4f09ff1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.3.tgz","fileCount":28,"integrity":"sha512-tBn3ZI730+1JEwVpOATJiz2H0waT813Y4e+ohOziR3CDdGnLZplci0uBaFSssR2NwIh/oQszrT8HO3492rgn0A==","signatures":[{"sig":"MEYCIQCCjJUlrowIrJQIMJrBuAx6N75yelVCRBGEFzYqt4rbvQIhAPMY2JonunYFcJnj7KLKNqQmH5fKNHYSvOBVGE2SBd8a","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":286445,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNjJYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYIQ/+KfZlCBYA/p+NHS5GYVwxpbmcxthLMEJeEXRxDi2iWifVy/FM\r\n9VHgjL2JU8/9FBchOpPih2rNvcauuQ5tQHGmRBZdh1PrA2Q8cLO5medRBvRo\r\nAyNARu4JbepDSimj8QyCAe9ApC2Ap5TvD7aotWFTZzVCPDELQZqKVab1Qj69\r\nNBnVtaYGZvZjCrKS21R916FSRXj61q/Shm2YfR+sJtSEL/AQT+4z1RF05AKg\r\nB/xLDtftsAbghChanbpHQq/mpYgFhStwi7NxqEJDssE8A7Kcm0Qc3CO/GZf9\r\nbh3FV717GijPLFIqq9QKp9fQLypE9Kaf9HBmTL6rld8KvOmR5ekXH3KIJvbY\r\nSz/tHWGxVvJ1OdCJUiGdvq9LcmKhMwXjMOVR64DF+h8OX+cA3/Wkh9UZByGk\r\n32f4eCVwc1e3s6u7oh+wRBnfE2JwHRwSt3Jrw4LgiTLtq8+Jl0ALEJlc7BAa\r\n8aLOVvAIX+8CzMUvlO5PuGpH8goB+k5jXzwn2rZtw8LoACToLbw1GvYONlCb\r\nosdrr48Y9EGduVNM7oRdy8QDQn07O3WpVGo6CTwkRa4l7uaNnkafrYhuR8gZ\r\nqo+iBp2Tcgua9OmSycldnrsOVlbNjTLPl7p0EL32AzEzzqWWOWyLOhBTq4fI\r\nQFlvDYWy3Z40ZL2CFr8tn5SdYmvq4njjgpY=\r\n=77d1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"adf94733ee6631d980df55fa7fe6b3aca210374f","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.0","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.15.0","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.6","@adobe/helix-shared-git":"1.1.4","@adobe/helix-shared-config":"1.7.19","@adobe/helix-shared-indexer":"0.2.23"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.11.0","codecov":"3.8.3","lint-staged":"12.3.7","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.3_1647719000120_0.6963677674727451","host":"s3://npm-registry-packages"}},"14.6.4":{"name":"@adobe/helix-cli","version":"14.6.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.4","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b81ca781bb81bd98422f3815848a4a416792a6b0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.4.tgz","fileCount":28,"integrity":"sha512-9Rg855CIldoua3chovbkGkXjx8aWAlsWA5j+NG1zbo7h5UL0KE6u1u9QqTTuXpHYrR4oL4ysIRDg0gavSzXdFQ==","signatures":[{"sig":"MEUCIQCm5GKTKNuS+nerJhV8kIUrzua/lDDfENmftAVhBFFPPAIgBXoTo9jSkNGFyNgzNTWJykkLSJ4JE5LrxW2Gk2+dW40=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":286705,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNx4rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDOg//TbwkcnD6nG17oI5POY3nHX7NsHVs/9dFYJzYnkAoNGka0RbC\r\nrnT5t1K3zM8+mVPfJmngEX02Skqiav3ZB5Sew/I5vbYbI3SohkBWD1b8XfW0\r\nTkTsDBBt2y5X9HxiSOf49DLRuR2jHmueWjD+pIr+f/nf5OIr3hTcsjZhPKBm\r\nuRNXPRCetZfycYWO2O649UX5Dbxv3xGn4fPFkftM/l8uacCsWhEXm5GqJR+Q\r\nZneMQNQ/xH2hZL/VbXG78InUZTaFVeWlQz/MV42BFoz1BGh7y+2QD2U4Ktvc\r\nPfNgDPELovPPFAkXQfRC4tGJNYOfOwQsBUFBDeksQe1xaqLO1zh8U860+Q9M\r\n2cIRUNvEw/h/y733zjVjmotEBfkPP/LLcejgVqi+rSHzlBjsDjfconIVvhbS\r\nxmI8CKAK6BRSfzIlNTIITo5eVtSB909uPJn1ylTYkJwu7WB+waxh9h5sZBOO\r\n6l2xPliyaY2msVPH1wF81RMEhHdIifGBW3xy9v/pc21fJUPEsj8vPFEzHYgO\r\nqVAJTX3j4APgt7vsqc6YAFp1B91yDYM5fwBnmNhZFhr+JMYrKLd9VFbPtVVZ\r\nvPXaWIbfxDPCHUWZYCAr5clpnYJUHDIcsIPv8nIsfBNvTlSfflQea7uYwQpG\r\ndU10K5fkTs3CAZNUBBv4tViwGLuYfz/wZOM=\r\n=49Dy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"45827174ad41647a9100d1828daa6faab33f199b","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.0","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.15.0","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.7","@adobe/helix-shared-git":"1.1.4","@adobe/helix-shared-config":"1.7.19","@adobe/helix-shared-indexer":"0.2.23"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.11.0","codecov":"3.8.3","lint-staged":"12.3.7","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.4_1647779371012_0.7031779258593311","host":"s3://npm-registry-packages"}},"14.6.5":{"name":"@adobe/helix-cli","version":"14.6.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.5","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4b4003b897c7763e6826deca875d47275f5c442b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.5.tgz","fileCount":28,"integrity":"sha512-lGOl2ovzaxOhpZi0l+2zWXhPttvA1gdLsaaasCiS0rSC5GlsusoY6aF2QehKLsl5epI8LKMQiId/iOrE5/dDTw==","signatures":[{"sig":"MEYCIQDVN8aGg/rdtMKZuv5/zEG7Epp3U/b80Ikr4uxshyLdaAIhAKYqzW90LjR7jqjQzXujqbHbflZH19OZLEGZsTQJG5eP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":287033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOKW3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrx/g/5AXEEctFDXPrsKjNLRC0X0o/u07miv1HbKeoqoWz0lcFLXKQS\r\nkVVv7Q5rCBMjnKZZm50ge4pTxT4/+MqgAFG5XNTWq5OBGwI1sdyQTqIhokNi\r\nptzya38udWQLgx0kpsdG5HtSxOQyz16FH3+UtSvUpnKF/MO7qsvYD5VzF7/I\r\nXolF/NBjD0/v517xm5TeDMp1RRrFOPKMfB2y+03CI2yJ2kXAYqyaYdTD2/qZ\r\ndeFK299WDI/jS6a+fT7+PbgWAgPnPNNN31KbfSjZPhUObHsgGXpZMexKsaRJ\r\ngxy8TSFka/bQ9PWpAxGwa/IJl2C07OWNXhJuAY/6aaZkAer0DG/08zbKGvdD\r\npjOUipw+Sisu/31vIN1WDHdwy9oSe0GDZQAG3WUfjvBKcpfACDTt8bYGDyeB\r\njup+wsVHtRsrj+PdDPFaf3QiOgJEJcKo7r323n9C7iX5VCU51Xt9/nbxoxNX\r\nXTwRtQKYBcBKR9IMLDzB5IXtIjKPOGSwV6M705PMvYZFCYzs5gaIoiqgjH/I\r\n6vcFDXeVzWcVOwb+Ii/By/Auqyx/pJ/OaJqNQVa2jJgRwFsrDLIp/9RcrOmY\r\nbxRUrR1sGu9skdUfN93dAkq2Rh9zlbqAkdCINXHJnCn8GD5RrGNoQ/03pxfX\r\nRRSmav84Rs6yAFc22rt6NQqEigqp3avbvfk=\r\n=jKcc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"9356bc62de80590b26a40113736077afe42faedb","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.0","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.15.0","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.7","@adobe/helix-shared-git":"1.1.4","@adobe/helix-shared-config":"1.7.19","@adobe/helix-shared-indexer":"0.2.24"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.11.0","codecov":"3.8.3","lint-staged":"12.3.7","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.5_1647879606919_0.6847381790666132","host":"s3://npm-registry-packages"}},"14.6.6":{"name":"@adobe/helix-cli","version":"14.6.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.6","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"23c0fe35ea8fdd70bbb34428712c0ebd72815a4a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.6.tgz","fileCount":28,"integrity":"sha512-U9ppuTk/TgWKswJGUOSVowWo+drKk8KkKshtBUoDKs3x76KgHv0kbfOg7vMLgI1w7eYzYzCihHLkh5qwQZnkoQ==","signatures":[{"sig":"MEUCIFo5C98k1ceIP3xrss6bFiTMikEK8fCOJQFTBqgtDvTQAiEAgwdB0B3QCGj8N4KfqxwkrlWyKhyDoIjkKMO8xzIH/jU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":287323,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQh2gACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrcdA//ViE5CvJbB91KTy4GSk7t/p9ra3ivqGyNrXTIPA8d+6Olu7ca\r\nLVYUkGsQ7+OK7K/KrVWZGrFQeFtxsSHNQctPy5pzlN2cBGqA6yypIojVybte\r\nLESM5URXrzP/2kQKsM7/c4gwQsu38/YL/Yf1mUm5HVQ9A2r/NgzRR8HT/nzd\r\nc682NqJd0l9k/G+/Qk4A1qcRNwOxCovjDRHYFGAU2ktJxqDp7jX1K7e7ctka\r\nvWVATtSOHsE+uImS+mN6eJBch2zCL3Ccf3gHfu3dxcAa8P/tWmcc3dlt+hMy\r\nFo5Ax5jt50V2mIpaeEqaa9BKjF8bP5lYoXyhI+s01u78buofTwz4CXAyfJYY\r\nrxF7gxHqC5Z6+YFapNH0fQvytSh97sYRjiWJISuKQWHOcfsSMxXcElSIIDv5\r\n0UuSTh6wyyuy+ptMfCQis5cBgHvPiouRMHdtoF4EDccxhC0CuhVTldD3er+M\r\nGL3PI0+nzQwGKfPiqdwXu4UPqCHeVepOWhoiJ8ph9OzpshCdNiiBf6fDJSTX\r\nXskf1XBWrI+MD+r8V6rnB7hZrxPMuNtglqNVV46UP7kwy/e29jwBAf13cMg5\r\nNrr362MT8rRJj+g2yKmM3Ay7gQY3/gnomNGDtzS/VGGZbvDRA1NzBjggEXxo\r\n/Oyjl9BSVfDYEug0CICS1Dped3gl8C2sWFU=\r\n=UenT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"4b01a5a7a7515505f805d22125e82b1a50c9f2b1","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.0","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.0","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.7","@adobe/helix-shared-git":"1.1.4","@adobe/helix-shared-config":"1.7.20","@adobe/helix-shared-indexer":"0.2.25"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.12.0","codecov":"3.8.3","lint-staged":"12.3.7","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.6_1648500128011_0.8482792815263354","host":"s3://npm-registry-packages"}},"14.6.7":{"name":"@adobe/helix-cli","version":"14.6.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.7","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"29d384cbc00139327c1c8016ed21d2fcfe68a613","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.7.tgz","fileCount":28,"integrity":"sha512-JxFocqoohKcPw1GClnWhzmNOJHHMBvYmT1mwokuaHX/lOa6IpfqcbdU5jo3vPdu67u0ZEyQw3haqwUyXEtUTdQ==","signatures":[{"sig":"MEQCIGO4gPWwM1TpM9k8qBo3Lod2KLPEC0NFuw9v6alC5WqjAiBQ5jtNT9RM+cPf2GeilxFT2blITxX2ohH0fb5RPRqiCw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":287583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiSLNFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrqPA/9EaZNXgBAUxSxjpp8yy3BhPNutnTSkPnOChmIgBd+zYfAk9Tw\r\nHzdjtLLj6+jHUXi23fhTByn7A1rNyJEN5/xUxZAa6F2/IsVqcvBQqnrBbeA1\r\nyBrvqYiZ4wKJOSEPCo/nwu/i30GhYdqEzpLRCF3vDRhSrSq21kU54MERoG7W\r\neQ+nYdmz8dc662rBiEjmrv9cQVI5Ebi1oulXqZRfaHJxmN6OmyuLQw6Kd18J\r\nu4G+rqEK5EFHUyT6/67J5GWeZxMyiS+/wo8x+mc51FAIWehPBBG0F78BEzU9\r\nuVHTSycHmgdKqsluFRNQKgCU3xRljajE6UKFOfPwJor4FxzK8cYpKmPE6Lf6\r\n1Ct3gd0yTcPoKJp1Zy+SutrHj+FW+oVQPaLEkpJzOiHoGvcKk2H5DNqqATH7\r\nDLDlfn7c0Xx8+RvPKeQlIMzYfP7tqgQVbFTb+9FUOleYGptzDIkNttQ6icKk\r\npPL7T7biHb2okunG7rUYjT/NMfs3tInPirfpVHOCUlkafH1mgja6INa4YQ4y\r\n83ShojO+mYk3GpiglSzmvmZ8zv/DhHGjG39a7fOXyR6efEV/sM+Mnv/PyGSY\r\nGYr3XKnsRm8gSzdSCpDiCM8Jg+JpBd25cDNko0yXddfl8LuuqaCDGU01N/bf\r\nZ1Sql26uXumIty58Bex7PRwm/zW2j9oX/wM=\r\n=P1NP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"77620b776ab7846962beae588089bac05f0bbb58","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.0","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.0","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.8","@adobe/helix-shared-git":"1.1.4","@adobe/helix-shared-config":"1.7.20","@adobe/helix-shared-indexer":"0.2.25"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.12.0","codecov":"3.8.3","lint-staged":"12.3.7","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.7_1648931653192_0.267954305556918","host":"s3://npm-registry-packages"}},"14.6.8":{"name":"@adobe/helix-cli","version":"14.6.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.8","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b1509b43b22306952b4bed71314a3399faf53f4e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.8.tgz","fileCount":28,"integrity":"sha512-dp78V2cpGNDnuhuX8fi2aPdxyjsjMeOWm64ob9zXK1PobBYI9w5OluCWejA4DaFrgt51Nz2qFQGOouI/CM9p1A==","signatures":[{"sig":"MEUCIQD8b8TjRT+8mUnYgWed4tPUNHDedvz6pBiWvYU+725FrAIgLc2THWGEKCSmbepOe1cHINxymeOIdJaq4YRJ1Q//37A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":287815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiSQ1tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqpAg/7BkJH+X0AfHeEYFlf8od3BsU/p3pEw0i4KPZOsONUDnElwB4C\r\nvrOKXVwstg8jM9RtVh7kP8QbBmefXppbYI50GN1N57AyIevShBc3xcw9MRn0\r\nNylpUzw9U2VEWUr8zsRUkn1wtYcqfbO79EGumu9IzZST+ng+tPzZfeZxXpsq\r\nj144JxgzHv0u+vO6QfJMNSqAP7DoEqpwWApnuMVHy3tMcIv1lXcYX5+RQHIc\r\nHKEiY8kE8gRWGErA9/liZ+9oapCPmh6iOwCJsgOCKrKX34ccvuOlfIPZb48E\r\nYOf0e2mV/WEIqZcyNXV268IlYgIiTiFHk9xf6dRcm/3aPuVaG/dHHrUuG4Zm\r\nJQ7j++qgMqNLYIGtFlVrAmQgCSFBzml+oXmnOfCxi2BbRwxOZ9utQpHlNtP0\r\n82hfYgMWc6iPNjEs+6DdkSTCcZlMLPFQRHZzHQYLTOv4aDeXM6XZ2A/129nX\r\nXhiZzKI1vxh2e8rJkZfh3k4g64wVaXTilkeWgSE2RtYEbIOwZ/i4Z1NKQrDK\r\n8+wEN0o56yB4HOJMdplcWFJBm3GRO2mdHVIfPi0Zf35YzNNW+NmgF12X8x9z\r\nIPN+XLGVYteerdlfvnZzOIL5MsTgrmnh+Q7vGIUhxaN+UdozRjV2DS7yrI+7\r\nGWo/N+ZqGCQurIaiY6hSOS4S1ddA/8uYxJk=\r\n=kzID\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"e9d3d2126b0a953a823cc2f24bd8a81fb5e82806","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.0","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.0","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.0","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.8","@adobe/helix-shared-git":"1.1.4","@adobe/helix-shared-config":"1.7.21","@adobe/helix-shared-indexer":"0.2.27"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.12.0","codecov":"3.8.3","lint-staged":"12.3.7","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.8_1648954733095_0.8438113398702325","host":"s3://npm-registry-packages"}},"14.6.9":{"name":"@adobe/helix-cli","version":"14.6.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.9","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"bd8bdc6e6a67f2f1185ce07135c7611f486c98f5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.9.tgz","fileCount":28,"integrity":"sha512-QYfaQNtCdhx+sXiXrKhNljlKEp3e1PXjdVIdQa80hU1Gi0l6wtz1u9x2KRYXp3OOpIjKe20HuIRXjFJ7z6/zMQ==","signatures":[{"sig":"MEUCIQCkihVTrNIPpsKJFvXetn5c1uc3sY39WRSJ9vH6hkhj/AIgYkCAqakmCicyym5BinCwYqaHmkyJ9KxYFUUEvqVjmz4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":288047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTEN+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoc4g//VxPjgguKwc+0SLohDNrdgWwNj0nloqpnaItz35xOvTNGF/OL\r\nQxkS+9y2+pt8fzX3hNWhU6ZYsR3gmilNMHA/mtNHWlQVrVJAnsYynkHkq73S\r\npvTaL3aqdsryoKptgpm7MgXPrZ7YVgWC7kawaxj1BumaMu/Bey19mUhLY22N\r\nByE0YQ8bd/iOupFb87jBxpNjEYJQ6DOnvUkLFLlkI2c/RgYMwLiok5V43cm8\r\nLHZzbXGZrtN+6A5OfdAgYrhEAN1+t316bwlh/CVUDKJuNWoB4MFNZ6zL2Bjm\r\nyFSXEYvs+llOABao2ErP3r+MehAtn8WqyggbkvE/M8iaWRM7xOpaZkRBvsz7\r\nkCDLzjEwkV/NpbaoytiawSR+vClaeBde1/SQnIM2nKhRRsWzXKKuwGT/uH8y\r\nE35CwUvUGduOygpsf2vVBI5kEsHLX+Lna6VA4D7OYHwWOfFEQKxC8ee8izwU\r\nB1X1cAyd7b++gEJ5EvqAbQiIfOsN0CDvhmYjU/8kYwCcYGpP4l1JWE/U0tcO\r\nasEjejVz+k+4i0ZqVeMHRl/p4kr0zY4Wwq5v71ZuMYm2eA14n8lT0C3GodXI\r\nCUvhNKVSWVRo/YTwJ8Zit1wjgBmRyjcFCLG8ZZETfnyFhZBINNy/57pihfMj\r\nYV0KARq2y67k3CJeXuj08i68cKFzUu9uxnQ=\r\n=bFDR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"174f543cf171f8fad6bd683c1136476a0845aab5","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.0","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.5","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.0","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.8","@adobe/helix-shared-git":"1.1.4","@adobe/helix-shared-config":"1.7.22","@adobe/helix-shared-indexer":"0.2.28"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.12.0","codecov":"3.8.3","lint-staged":"12.3.7","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.25.4","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.9_1649165182292_0.11046560683449425","host":"s3://npm-registry-packages"}},"14.6.10":{"name":"@adobe/helix-cli","version":"14.6.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.10","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4cf2f270ada9b2e8f2c3017d64a19103ae603ebf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.10.tgz","fileCount":28,"integrity":"sha512-kB3XXHYADI8WDo5UVIiPvSiplqRAkqdDM9BaZqrQEqtAQBVHnYrm9xK38I7UrhRsJmJcASJ4MXJavGg4GwYixg==","signatures":[{"sig":"MEUCIBCaN9HjKC4suko8mOJARi5TaFEcWaO8qZutd3AP7hxtAiEA6XgQjHCjPfMYp+Olva89saAr7CWUagM5ARMmmkcuaMU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":288310,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUk8hACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqE9w//Y7R4khYG8hAhRsCKr7mfulqTxT+TaOM7RO3J8uoKZk97yxk6\r\nALyMM/h25avcit7s2r4c8eaKg+jHl8v7NjVn+H/HFWRTtWzd6fyvo+9Ll1s/\r\nC7WeE4F7H4XBnB9OOh+z/tPG5X3r9Q7rKKo3UW4FcMfMmvmDxQ/f7fneTjGb\r\nWxQmAXx9epOefGUvsXB5fFYtolRT0jzt/Zg4yiO2wPAP0zkOKQ5lwvBowGGF\r\nzxwiXiNFKGBYUHb5szEjhm5BmXc+jt0PpUvTWwcyJr+CXalj+rsTAFJfwYZ9\r\n6CpAktSCmifOgBEri4p865ambx+/dvyA1P5tjwmW0UpiVeuZ3l7VdiMkgFHy\r\noJvsY0y2VGVgN5CQ0W/C/sJ+GBTcy8X8scpoDWntcMh2RH2t06krECCfo4I2\r\nteBjp/89rxkiihqO+NQFmqA19FtP0Map4qj7PFHjNuLGH0pAFTyJx/rKkFN3\r\nieJ+uFO7xGl9xqKB5oDXMGYvTOtv31csxq4H87w3pfyaxqiKakcd0UrpDrj5\r\nDvgwghjhkoASEfTb3fH+NRH1yVjznk3TFzZ1ZaEte7DNH8Cmg7BApE7owqmG\r\nWK1h7pEFOye+SfZxDrHFOV7wL4/bBvwFlPMbqtvadwHx8RETB65aG+hyZmhv\r\n+jORCN/QGwlYMRiT0R5aOp29AIp1Bn8Wi0g=\r\n=A26r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"ca31c75742ab19cb4a82589de3a3016dc7475e72","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.0","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.6","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.0","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"1.1.4","@adobe/helix-shared-config":"1.7.22","@adobe/helix-shared-indexer":"0.2.28"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.13.0","codecov":"3.8.3","lint-staged":"12.3.7","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.10_1649561377021_0.8682115800055732","host":"s3://npm-registry-packages"}},"14.6.11":{"name":"@adobe/helix-cli","version":"14.6.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.11","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6e6a36db4ac380b9cda3b7cc8ee08e6bf6626640","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.11.tgz","fileCount":28,"integrity":"sha512-YLosTrGcMDiecALJB21MVfczSpGKn1KKaUQ8SXbpVAGo7SFUIOwvRRcN56x3FzxUt8Gy8IXEH66JsXQrqLbWnw==","signatures":[{"sig":"MEUCIHC9vZJ8xaTolGo8heE2gn2y2fPTATJlcsquz8s4eAoYAiEA7YAxJdRi3X8+Z8zfxdYrLTxl0Ym1h8EZlymXq93z5Uk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":288603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUs7WACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo74w/+J5T8NFq9QYZQVlnAU+Uxp2Yr57KvVcu4OfRtj+OzHZl4p666\r\nxO8MhhuaCii0JSuVTJm36FiyMWtpN0ZqYJTWupv6GILBzmhKwSyFes9fD4/Y\r\no3dFku5LIZBBASwLhj4ELJI2jwD2wAfwJDOsJYZQq9mxyqkmdSbRKWa+Cpu/\r\n5ARMP6DPe+wmaTAJ1w7Z13xaP/KBzCrLJiiekUFT/v4w/qGggfX7lzuw6WVN\r\nshABzOGt6sy4O00on9uYyvM/iYqdOWc9qHHn9XV2/6Wy34bmS/zQHnWb9nIB\r\nzRIfGtfPjrkOt9bNCIORUyBLV+tuXtqqd2IdNpONmke/OCQGVUgihdvSHjTK\r\naYlGBv4jmxBmcjjdNm/9/n1DkU3ycCmpeHSa2zinyNY9l9iisWNCqVusgzf4\r\nETTdE9Y4g8WIV90hen2uPNosyewssbm3o2madwXRBZvX/5odXiPEOyR+0UT3\r\ni5ck7ExDBGPwiLLQ2VcWLOqn74K8vqprLTW7w8VUd7Lcr5Xkz76IIH9JBE2K\r\n4Cgrq7/IjH936K+2OFyFpOLMCBFYn8S6fibNq58SSi+W9Iw6Vqsk/yOGj0xA\r\nO+/PAX5232W/thVdIoTmj1aEnE+8mwjoKZlpXarfJSnFtTvoSt0Qixck9opJ\r\nyZUN+BR9uQrxcji/D6QZeXknV0zaLFWeRQs=\r\n=/LBg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"2b2d89edee4092dfbe678648945404a6ba0983eb","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"2.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.0","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.6","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.0","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"1.1.4","@adobe/helix-shared-config":"1.7.23","@adobe/helix-shared-indexer":"0.2.30"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.13.0","codecov":"3.8.3","lint-staged":"12.3.7","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.11_1649594070703_0.6553263994658856","host":"s3://npm-registry-packages"}},"14.6.12":{"name":"@adobe/helix-cli","version":"14.6.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.12","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2d1aaf1a7701edb8c1e33d17248a8c482a8561c3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.12.tgz","fileCount":28,"integrity":"sha512-2aHs6Z0b1TlNt0EF72RaWh+/NvU4OoLK0T9vhwFYLzrkywb1Q7sBNVaBWFLdR4SyHYKv1zNvlNvyzNoQSlc4vQ==","signatures":[{"sig":"MEUCIAFGHiIEmW1KNWgHzRx8XZyIRHwHOAcy5Zs+hbwIbnJTAiEAxdqmZi4spIHhBvznIQpZVDWPEOa05WXQQzMDmvFlztM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":288905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVDWfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2LhAAk5Q1sC93BxL7IGTiHJIBJAsxi+ydr5tcqOALrMCN0BMgujsW\r\nraWfB5yjtHaYFUfih1NTIkvXvKKq+eTqSVDVSWshciQVJ1ev+2UtR5+slrmQ\r\n863RQu14RucXTONohic5jhkQb0PDYTlJgBqWuzIgh/Su6ONmmrJ/9XEa2DEm\r\nZ0JRDwvqrQHpf9YPoFVcmVGqapeq7fe+dCJZ53FIK7BPFD9sQaiRASiBcpU0\r\nWN+i55slatjKWJmvRdOdU3IXd1DghR+K7h7cjeVbT+OGRRzUHM4L/XDbKrXq\r\n97zlwuZVIt3l0qpkqu5/4P5XfALq8nynw+Itw6S0qL+Fi26X+j37o69vyKHu\r\nObBC0W8dD11thtlfthxSxerJYoPYaL96p5CcuRSpId+Sk2bP0vDHAHGvntFR\r\nkBoRkZaBRHzLQrSo6hN1lnLDVKDBIWFGry3JE2gozdOgDlWLx01yNxUnqAon\r\n8IvzNvr6c+13AATXcy3eEnQiPFfOjCnN/ulPg1tFN1Evxs44gpnWVQpek3OE\r\nW45hzcUk3ZNJEaBDPYPk5PK8mjDOTR0Xz67QCBnlTS+T7m0wBislO6mFDts5\r\nqPBwtVZ+yFt2L1tb5cjpnnw+zrsMTpluTCZRZHvYhqmVJXfqHRCefIRSbwG8\r\n2r8GxgL2ZQWrdo1z9k8ZYx0wmkgeEvAmE7A=\r\n=qgk1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"e62320b9590d0e42b12f34200df08cef74c9504c","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.0","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.6","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.0","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"1.1.4","@adobe/helix-shared-config":"1.7.23","@adobe/helix-shared-indexer":"0.2.30"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.13.0","codecov":"3.8.3","lint-staged":"12.3.7","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.12_1649685919722_0.6848236264681569","host":"s3://npm-registry-packages"}},"14.6.13":{"name":"@adobe/helix-cli","version":"14.6.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.13","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6297daac8a8a60c36a1b17faee87509bb3949c70","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.13.tgz","fileCount":28,"integrity":"sha512-W1rFoXIckWvr4PW3JkzDIK6uA3VOCLQwFzSvUzSa6y532Rf//YV6mGCR1duuTk+50tThcgyUnuD5Q4wi7EIZyg==","signatures":[{"sig":"MEUCIQCsLiWIYkOONiE0CpxmjFC/+5TOILxQNX4j/MJs4S/+pAIgIXEmERa92gYtuxZ2aSNdgUeTPkWxFDPIEKkC+XEApDc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":289176,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVIYwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZOg/+KlR7RogbfHcApQ7daUnCE8WwaKZDPCBlLSniwWmOqElLUEJq\r\njkzKcYYsQBwuUfjbGC6LgPjtP5TFHxUQG12NT0IARZnGY+WlrXbprKSGxpbp\r\nUvcYzmiZfjMJ1LPxyQF6hFSUBgzTQZ9hiL4GoQUWAdOKEkA2f5tGcBKjJg2t\r\nUqNp12COERBK6qwhumoNZKlsF087m3IZBvTNN5chsOhaZgytzMMe9fvdjMnn\r\nPttji8B/wwgQlLjh+visOHvPGUuaPVgI0kYMG6POMr5Nii3B41Oj8eca2yYv\r\n0IgISZYUeVdRM+wZGyuTemGSx46SyUwfJN7PrVca75VycYWB+C53bS7WD1MP\r\nr+ZBUsunvAbtocLidt/GSfg5Ty5+PY2keAIm2Gb9XMuEjFfjR6Qyqoe0hswC\r\nilu4S3LffxSxw8hH/xrI005TeehA6Z0jD3McSt/xFfs9ZxLBQ68xSozNa3oe\r\nYBBl8GwRVhMhMTbwX68oKRsKaGlSvVbteii95PB19BcNwSUR70XuY/bv6Wgw\r\nlCIpWraPKGRTM+7NAfmof+Qh1N80hjsmqLwYkcGeAUzUeVnIlyh6QZqKsIRa\r\neoHSiKILNCZQPcd3vo+VYXAge6cxAsgOPmetlQHGGdffiRP/Znx8mcVul+Vp\r\nJXmZxAEq05PY435cmjQf8ZJxzURaDqCygnw=\r\n=UhLA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"6a5edabbe141e0c040a3a253f70e68c02210cbff","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"7.2.0","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.0","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.6","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.0","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"1.1.4","@adobe/helix-shared-config":"1.7.23","@adobe/helix-shared-indexer":"0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.13.0","codecov":"3.8.3","lint-staged":"12.3.7","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.13_1649706543829_0.08808983100023271","host":"s3://npm-registry-packages"}},"14.6.14":{"name":"@adobe/helix-cli","version":"14.6.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.14","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"607a958fdbd097e8eafe2a2cb27fd41def8c3f86","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.14.tgz","fileCount":28,"integrity":"sha512-zP4nwDlCQTxKvSZgPCnyiXqzCFmuqO9fMJz9BFX8RPO1i7axRr089ZVzls15m/kLokRvNzfCGxdvnvoxuSipEg==","signatures":[{"sig":"MEUCID6pCDVeTtpro3x9/mUzVKGOpuC8UBxLjn9DyIBrczydAiEAz18mQsLNGfydfWzaQlGtbiUUjmNuzhta+hTQFAyLj3I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":289479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVJQ4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqP4Q/8DU1WoezanKjdjCa/OQ8ro3H3NmIsNWan7CgMuDWjIucJ4JCo\r\nyvathJiUchn6yr8NGCvS8OAxxSOvh466bYMsGqkb2xIcGL3j2LxrlPpqYgLe\r\n2d7YmYhQ0ghMg7yr13hFGMaQwmt1j1s8rt8w0e+lFHgsFBLnxIiuVk5Ei67i\r\nB41XhyPMs5l0W75czvKcOqr7gtVVveJF0wt+Nk+WrimSzr/o7wCdjchwPPFK\r\nQUi0B9oc9XzqUnHoiV7UOL/j/rq3wmgF4n8oMrSo4dFxp37FjmmLc7fg++U/\r\nJ3oVJf1lpIiSLDpYXDtHTGuLnss6zjMaLQQH0Y2To9ZJgFk7xQis0Dk5w6Jk\r\nXbRoXn6LtHjgxGEN0qJV9U4xZt8yW7UDUCLA+7ClpzjFTIElj/irHe0Xngcx\r\n7kuIzCW4fJNvXutm4rU6wT7SiX6BIfAJzpLXLwG4NlnLVr5XbIUQKWW6HtPy\r\nem75bYqFcytYwqZiF9kc5kT3/bkzMNAeyiVHwGu1ImZTfgXmRi3kGyw+WOiN\r\nz5jYaCuOxJXSARp6IK9RF0JqAJoAedVwejYqp9m6Tt78f7dXHq+WCO4NZQIx\r\nkjNmPRpgBoZ1I3uk7yG/SDoRn72MipTaF1PXclV344jIktASZJEjP8WZL0gV\r\nFCS6FywmiaexoWu3pj244b1YgYssGUEnQGc=\r\n=1+63\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"e58af652702f7af245a9f19b5da01cdf49e44f97","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"8.0.1","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.0","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.6","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.0","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"1.1.4","@adobe/helix-shared-config":"1.7.23","@adobe/helix-shared-indexer":"0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.13.0","codecov":"3.8.3","lint-staged":"12.3.7","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.14_1649710136261_0.03285848426464888","host":"s3://npm-registry-packages"}},"14.6.15":{"name":"@adobe/helix-cli","version":"14.6.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.15","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2c7970855c1414de65f7d3aa7735528a382fc47f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.15.tgz","fileCount":28,"integrity":"sha512-4AsaXlbOJ8XzsV+8zKO1i8/0ZCdjjFW6/FB7MJaN9rI5+JfxAVAMqB8iwoMRTISsCiWgRXinNsR3yKd5sgoWtA==","signatures":[{"sig":"MEUCIQD+y7L1HamsTu0jEsdcnAm7iaulVCr/Pfq07jXxHiIQCwIgW7XV4PLrEdCYzTDYzSEFClLhdCL6KuUzW3VSGUmM/fU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":289777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVJbLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpS0Q//Sf562PjZfUNf4I/Ca6Km8hu6oYiCyuTcYacySfESMMQKAkKw\r\nj863PS3yXBPaxkvHRyg9X8OrPgvI9X26X9IiAXsHWIh2LCh0msNCnMF/h0x3\r\n1cVE5GxJ+Nle889iInFijBXxoy5+fkqjaoiYgalEs4khr3KsyC9YEKVf0YWM\r\nNvqppsUzfIP9o8NtPmzAnTTrPAKdNkjZ5Ej0CvZRgzRY3+Y00m69ZJWrzrdg\r\n0UFLIs6aUr16ZCCwAIt947wfqQ1FnYHr0jlsBS0vRvisIxCP67Bo1ihWHeIq\r\n5f781n/2lh1N+8jkjnSNrZTnrChr1C+qcXw9ABR98qVjFPCTCGaM5B4WaiZV\r\ntvS1fHUWdN461cHpO24mVMwizrqcQRICqNwokoRnJkAhmMdDwVGfVNCc7sor\r\nfKFGpMmyO9CYvCI5SZZa2H1oWYeS76cF6buDh3LXge57OKath6rdG0LY5SIH\r\nHUzVnbjyfOJtk0TlHzjJ7sjQX0qx/Rs8qT7h1e6yZa/b5ljh3KBWgU9irxNM\r\nVJ4ul1HF3zP1CvsNHMCfWhKxzsw7m1VJx/bCGkyG/zQNvtjT6M1Jc6Kzrqqm\r\nY/Fo2pxwJRtaLBo2KgqWUCuEmVJMYrkcPewKEBhjiWoUAUDdz2gw7GRfB4Pc\r\n0EGiGrGhuKoxLCPTkv9hnHz2JqMxPSETlzs=\r\n=bkS/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"dd215973470fad4377321b6f126d2a440b906fe3","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"8.0.1","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.0","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.6","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.0","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"2.0.0","@adobe/helix-shared-config":"2.0.0","@adobe/helix-shared-indexer":"0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.13.0","codecov":"3.8.3","lint-staged":"12.3.7","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.15_1649710794912_0.13785994585638206","host":"s3://npm-registry-packages"}},"14.6.16":{"name":"@adobe/helix-cli","version":"14.6.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.16","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ff337a630a64b84c2525812e80cf096b62ed5eae","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.16.tgz","fileCount":28,"integrity":"sha512-rnJXksqILeSADEHu2TpqNZqmcaOsDOoavz8uFwvYjUQpbzM+bGEcPLyWJRd3xkDIH9eYogT6Gx9ncL8DQCoYfg==","signatures":[{"sig":"MEQCIHOGSJxRqH5pG+45wkL9wH9/bRzjm76uS8RMhEQDuopwAiAWpdiC2La+z4m8AjQdpLISPZnNSh1hjTZnBjWQhofiuA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":290012,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWDpfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr5xRAAllmDn9OROo3/yUpAThG3CXkEtbgMePudZ04eICLNv7GOcIoN\r\n+XXgp79hFJ9KhVF5T1EvMCsoTWY9mS2s0fFnRlf9KC8x11mLvNmYE+zfiImH\r\nbCd69KshjJtDP4Tlhhkhpu+VyDXPJzh/PFD3S4JAEFaaz5Q2VpiLtAHxl8I6\r\n8TrMSMU3VaSlp+2GIy6ejjLoALdQgaCDHyX4LoD87KFZ3kF9u/2WxSqMqTbR\r\nokhoQGB8YeifLr2jzeWWwnkLRgD4g+vo07Did736o1uJeRTnjMuuwJNkumOk\r\nlTVEcBl9Zw2wGss6V+4mOhEvyH0ToVgvJZEOjyjyk/Xd5LYuwLeUCDN1O6p2\r\nfYuDJS6wnuyUK42xFgfTle4ZmlC1dnpHJJm9BHyCCMt72eTjHnfBcl3RDbsN\r\nWhOdudX7u8q/fxvGbQ5q0JyPMKS55KF4CesDrkIhXjXJl3JK68AqiVKlKfsD\r\nbqESz2kXplobOs0CmjXX7hRRrapnDImD2Fg9dKVGR/1g3GGG9tqw+YQgcyy8\r\nuj/VKU/K5N+Yl/NQ404KJO8YViFJzIGnyOnJp9jt8npdVtdkfwjEQTFZtxHo\r\nVNbV72QkFDnVYW27YwsmciKApDJAXL30ohSIvpp+53VHBIs+aWYAv2ACNC1u\r\nAZ5llW7jcwVPNpN1Mzl8crN7hfU7i+WNbh8=\r\n=K6RO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"210ccae1cc0df83ef7d5f79604119cd21a92a194","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"8.0.1","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.0","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.6","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.0","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"2.0.0","@adobe/helix-shared-config":"2.0.0","@adobe/helix-shared-indexer":"0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.1","eslint":"8.13.0","codecov":"3.8.3","lint-staged":"12.3.7","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.16_1649949279201_0.5654321506261455","host":"s3://npm-registry-packages"}},"14.6.17":{"name":"@adobe/helix-cli","version":"14.6.17","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.17","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"07a7ace22b9cff5bb19b9347c367548b3cad9dfe","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.17.tgz","fileCount":28,"integrity":"sha512-dbp38WaVl9yq/HvQeRuQ8oj87JhbBjMgZphMXVDPSNxKoEezhRt7siUvUjGzT/PrCGppbY1ecJK48fR8Xjqr7A==","signatures":[{"sig":"MEYCIQCpkPDLokMUy1JkdyGoc158MPcwJ8nuZstXMqB3+FR43QIhAI34MVhkAhH128HvQQYbLyaQJxIlBwkSRTkp+9CqBHzx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":290250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWuh9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpyVA//VK5fk8GTZ2qfpjiMBrFQHaiYcfCFJDEjE2prSV89JfBA1P8V\r\n0RYZKI7EqlW04ZaGiQBgjIya68tRxKrFxicuJe3hGafdVtuitWfKJ5kymlae\r\nKEOb4vlzlu0CNtHzNQidRsCfmuLp+EQAwnSRAG3L6ynH95Cy/6RZ8dtJ44sH\r\nD7oB5nyG/zmZX7/wrvBTgh8oL70nHfla1i0GYLrq/d26Lx2Bl91gHsY9aea8\r\nmTO5qQ7K2mMTcJfqrbsewTFkxKWRg3DjJAjq+QgllyvXLAIesPSbHEKhJXaT\r\n2yDA11Phqn5k+u7U5JQpujrgXAh1TvuemDDaCyuVueDXJ46fL/d+++u9g7Ai\r\nbK5zg13axZ8JTNP7XDcnGWZOEieqcHC6IhYNhu2mjRgN2IGpJJlBlp7/91cJ\r\n8/zcNgJXbKwKKY8q6RqGTP3ZknDOrYXOZkTskgtRF7k1Reuasfz1g+fQWoUR\r\nF+AF8cz23XxyApauhEOah/30nBlZaIOFmRMQjv28xYi5zIZAiS6gqR45DOXi\r\ndimr07VbFIqkaWUuNT57JSCkKTyguUx+HG0oCzYNysuN7/ZTABwS2Uku7bEI\r\nlr8/gTZLn2gWB3pEEfR6cELNWh6ZneIivbVL5k8g27ygN91okiT7jB3AVlyy\r\nKllRhuQF6dKLxobr0rEv7qNRu8b2h8oNTBg=\r\n=UmA1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"b902c697c1382c0a9c3ada6d8145b81cba7d084e","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"8.0.1","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.7","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"2.0.0","@adobe/helix-shared-config":"2.0.0","@adobe/helix-shared-indexer":"0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.2","eslint":"8.13.0","codecov":"3.8.3","lint-staged":"12.3.8","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.17_1650124925049_0.5713694723227234","host":"s3://npm-registry-packages"}},"14.6.18":{"name":"@adobe/helix-cli","version":"14.6.18","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.18","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3c26d0482b61407b986ae6f04a74392e3cbc5093","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.18.tgz","fileCount":28,"integrity":"sha512-a2lMEnDe0RX6G21xUKQH5zRbrYWscUIhq0CRQDdR5cVsBHS+L0J5LmFxO/4kDMRclirUVaiMCV2TkK8v16MTzw==","signatures":[{"sig":"MEQCIA1HO0EGFiZnoOdRZUpra9TutHWJLOtnbHcTNyuUUX8yAiBmFULO3DFMM8M9yjBxsraVNZDx9LptTjx3iT409058Lg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":290485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWygeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqINBAAk4P5LPmwaBrkxUvZp9HYni8h9oQ4dvbmEqBnoHPnwtfE3Qcr\r\nGNpQnTZX83T3EARnO5mH4QMp8I2KO+WvbEXftjBpKnIfD3ez97nH+r8HnFAZ\r\nT8B44BuFJS87M22+DitwxN5Hos8uDNogTekzwkvC7LUAVn/RxNAyXFdZnEmI\r\n1CrPKzojGBVM2r0SACToaMpo4JJkt00wRbrH+vINNRadbX41nOHklQ58hQI5\r\nZ7lJDZ2p9kZuxkuzK1t+Lwdblum7Do8WdKLcdlita0Mq4blxkcPNfuseEK/E\r\n5Lpw+76kR6KHoJkzI9Nvhtl37dsV92rJV2PWynWbX6Y0u1+qg/AR4cfZuf/G\r\n5qwjkjSmAwXDZ4fZNCly0qUOwcOfeQyWcXNlWzEy9xq2iE3c9k74I7N8UDWJ\r\nSTxPeiOfmjtje5GVi32oJtSTAbAvVfzw1aANJJ06B+II/gbWo/OnsMWvfcYG\r\ncHG8KPvLUh/hCdTmACPMadcOZZ19IK6LgRt/DZiO5kPtdzsSohDCVpNzhVYK\r\n7tHcO5lEhj7u4VrCBLIjC1WbOalwvxik1d7YfZZcltWAxPkGPPuZyTyYRdLU\r\nD9irTIZN0wgKfP+bLxOB1s4PCH6ftYUEaheEfOqVqqhVAVlY9IEimhjYDv28\r\nGQ4GBjg+c7qnh+QEKTiQvjJjEV+wPccwpos=\r\n=xTo+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"394c09de427adc9abf8c17fac28f8732b58713ad","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"8.0.1","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.7","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.0.1","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"2.0.1","@adobe/helix-shared-config":"2.0.1","@adobe/helix-shared-indexer":"0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.2","eslint":"8.13.0","codecov":"3.8.3","lint-staged":"12.3.8","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.18_1650141214489_0.7528877991264433","host":"s3://npm-registry-packages"}},"14.6.19":{"name":"@adobe/helix-cli","version":"14.6.19","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.19","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d4a94d22c87c5ba1c22f5c3115c76c32169bc2fe","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.19.tgz","fileCount":28,"integrity":"sha512-7t2ORRjFFJwC7zyubXHIRGfOM7P5Lj/CPgf8hSiw+AntjCkY+JnCz1mNAuQUrXu9zVG4qgriAMcU5+v2gQ8JUg==","signatures":[{"sig":"MEUCIQCg/nF+7bDDaRS9xzCDPhnCDYjejmna+qbmob7C0Y3ewwIgb7qcJmcG++D371u5cwwCd6vV2iWGP3SndN8NUcEkuno=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":290797,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWzBjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpN6w//Un2IpuWvgqhCDFoeBuUZah6YmvXSq+VX2nuMf6D6phFVE0La\r\ncfOtCLEA9GHlxhJqn5+gzTdFUmhzQCYWpO0rk1C0qlUKuBqfIdQVy6ZFHHkx\r\nfm28d4FruDXjXqRaZ4HWY/e+DGEI06OlWEXVYC1VhDrlqySo9pH+m4ISBXkT\r\n6vOZdpWcp2jNAvWciRm9U3+o5E0pHP4VZMUrijSGOLmCd8WlDjEBvMyaLh6e\r\nsGaX6DzuTWlERSh02RiNwLQ+6fD488XDurPRHe9Jy+TyZpVdLQZj8t0QKXfE\r\n/B6rsStIpMEty58jLfGJ17a8dXSmxmj8IzY7tk0BbRDwWjh1cRIJpnGC6LKs\r\nQAEcz26Z7TolnxvQ4m3j/tY0yFmJWvbPWEmixFys045egQyWODbuSx3sbkYJ\r\nyb68WZEg7BL6qIW65GM67EMhCNhoMcFIN8vro9SDsn1bQQ/zu8JTWXgY+Bck\r\nhASJja1z1S3rojJHqYLUzBPc6ibfUZwkPiIKUQHkpay4t+dPF5xxl7J5hLPO\r\nazOLEJ41jEZyDyxyDDd7ozn5U/oVFyCi8IdUvzbk9zV0RdUfLTXGIdS46CK0\r\n3KFnBFXJXjosqmW/6/zgQb4ucXh6RquRWylxKpCUbVDglm0gZif3W/hs4Lj4\r\nzEX+8MBDY9/XdAfj0G+JH63RVXG2Se3txTI=\r\n=iPID\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"892710f4e4fb89538a2ef5a469b428bb3f124f73","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"8.0.1","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.7","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"2.0.1","@adobe/helix-shared-config":"2.0.1","@adobe/helix-shared-indexer":"0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.2","eslint":"8.13.0","codecov":"3.8.3","lint-staged":"12.3.8","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.19_1650143331109_0.5662206856373673","host":"s3://npm-registry-packages"}},"14.6.20":{"name":"@adobe/helix-cli","version":"14.6.20","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.6.20","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4eeee67e1888d996b4bbd202fcb9291e545e283b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.6.20.tgz","fileCount":28,"integrity":"sha512-434iDDt2gez2pHLnr3s3vgeuJtq1qPUwDTTxg8/fEWsCL8P8R+56td97eadPLDmfQCmPkDW0LC+T+C+s4x3nCQ==","signatures":[{"sig":"MEUCIG/i/HBpQbYqb0mh+I/XS5i8o6sbadZ62oXyhrRA8bO2AiEAmYuAKNkS8a5bOh2IHj+Ylge1b+H3WAxatwalgjL+WVg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":291032,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiW3pPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPew/9Fblbdy7LCSJDSjqOEKJnt+uqnPPbM6Qgk54FyQqys3PqTlbb\r\nwKySsXvrXPR+yvcEX5ZNsf4rYJIJk3gbz0KDO962bnpuFnZjOVHA22Egwz8e\r\nzYTJ31A8Uy4V44DgYFAnqSBi09GW/YYGwUNx2YrqYM9EbjHtxTlKV7tDjTE5\r\nmYuTPJKKXc/FEPFLdhCwjL0B7uVrRuGPN+lzVZxbsFnBnKipn70/4qN0sJxH\r\nfap0ensFvxpeFrmy96ovc92fC/kpkjSx0UBKoT3HsYpQO8WMd5LGOwfWDPn3\r\nlppnMOgNAhSeSQB+dXDs62YR4kdnoXKRjHgJEIPOh1l1DoaXo1sHmdwlhOyR\r\nxtL0Yn5wdO6qrF5mTpOc4SVwEI6s/eurcpM2tqqsE+q5+qDvAUDlq1qSbxDg\r\nU7HaYyFdcaHlrDSAvK+gj5voVdCYsjCzDeQxqX6es2gv8Pmv0gQrV7nDlGTI\r\nOpBqsIpS4ghqoc0umBAv5+/x3e5CUL/J26FP/p+8RGpUUm2A7qNYujWWJjjX\r\nEYPZDjTfMRg9Grh3aeTN4dT6eRyn9CVm+vmqoIaQIZirfn6ZscDLAylfm9zv\r\nyTi8ANuWKRldCGpgwvjOU8ATOcwWky28R9NGCW3hP5irt37Bw4+oSqAhU31/\r\nqD5xPwn7DYRkOd53D1+k4NivfQXJ/N7Angc=\r\n=P+UW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"303863835f66afa672e928e23faa704263876380","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"8.0.1","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.7","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"2.0.1","@adobe/helix-shared-config":"2.0.2","@adobe/helix-shared-indexer":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.2","eslint":"8.13.0","codecov":"3.8.3","lint-staged":"12.3.8","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.6.20_1650162255383_0.8140238053968758","host":"s3://npm-registry-packages"}},"14.7.0":{"name":"@adobe/helix-cli","version":"14.7.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.7.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2045a618098027cfc78c59fca93847e2a8e8ac6f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.7.0.tgz","fileCount":32,"integrity":"sha512-L4496ICTwk2fs4KlQ6aJsTsMvim2H+OZ6CtJRBaN+ubtoOjUoaYyVcOv4AuFTK7KE17eC+VlJNEeXyYK5/t0Cw==","signatures":[{"sig":"MEQCIA5Qi5qyubKm3CD5uYP0xPCxbtmaa9rBYIBO2bGzwqpoAiARevnAztS/A9NlWmvKoV5F8R1TAI/F220dO3gB+qPXrA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308196,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXq0pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXIhAAgNkoHNpRlfWILiyaQGYESFfSaEht8bVAwcEzGlRV5dKmpM1a\r\nsfDnD1M9r2bzY4KwhWJEZutHzFZ5B5i6YyUmN55Mfj8VuotXHF0S+Sor69KT\r\ndkgjWWo4cG6+yN39UAHaRBeYdryQINSLiKVWAVQaNveZlCvBUhC+UAXwAqFp\r\naJ1NAPM65DpeetRoFrHicJpTQiR0w+i7qNWTj+JHgVAlCdj4RtWMzj5uejEl\r\nQal7h6I/SZHKkU7LFuJzGivSYVu3eJmomu24YWJ9vbAiJvhyjAv1/lnZyviq\r\nIr/brqTnH3JeUKcKdQscSTJ98pEz/mZgsfqd3pGaxRRbayCizzfmGlbxY2NL\r\nakJn/fsgBuzc8FMzE/oUW2zgGrSP57gmMykEUg3z9naIO92zVR+WC9mCTRwn\r\nKevfnVL/qh1JHWG8q5l8X4qVtjgKzri6nZK/+mWfWfzAlcpOaiYmid9KKReS\r\n855vxNkDuJ7vIeLogJvVnG7WPoRCkGhUaol1FHjgMMdbkjWzMloYYfDyg1eU\r\nkpl+IAvB09KUFTqVRYaWrJ3nANuZRM2Cwi+f4pfIHEIOK6nzfOqdW3Ksxpna\r\n1p4mwIcTXH5TCbQDgpW+Qlc7Y3h1LS+fLi+VI2P4OIv2naLE3t6+oWEup46e\r\nY99JE+KjN0uztRGs+L/P+nCCMYnf2L2KZ4o=\r\n=MBgh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"8078771d93d72d9288d0a5e4f43f75f3a33aaed0","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"8.0.1","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.7","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.3.3","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"2.0.1","@adobe/helix-shared-config":"2.0.2","@adobe/helix-shared-indexer":"0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.2","eslint":"8.13.0","codecov":"3.8.3","lint-staged":"12.3.8","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.7.0_1650371881449_0.13958835076850162","host":"s3://npm-registry-packages"}},"14.8.0":{"name":"@adobe/helix-cli","version":"14.8.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.8.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"18f15bc78685d9269b72c85b2520908b0e5ed0cf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.8.0.tgz","fileCount":32,"integrity":"sha512-mxt1Ah91W06BvtcUf/wMaBut3ZnD739AF/GL71YrYunGsFZ0UI30dxmukjHpVWmEwi4uEuGLkt6rg3Xt8hSfsw==","signatures":[{"sig":"MEYCIQCeoAwR05jH0MSiQDrDPnJDSGqa0CDzJmg/V/7j4qW0HQIhAMwwYZ5zBg74gcxe2p4siuaWeZWgXv6L9/cohvq7Dbdc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZoi0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8kg//Vy+vEf/3ekMN0LNosW5XwXksEsls9Pf0O+0XOSs8MJeXr86Y\r\nmjAhHG9AyiY92WVZ9zTqUHOVhsJUgu8X42Ym96emQR3GS0gny/RzA+4mWdK7\r\nn/CUP1xBV01uF4Quli5yR7p6mHN+64ltqZNs2Id9upOf5tXabNOOJljhYchs\r\nhgl69gVP+h6QGnYsy7ucKcU5sRt8tjrH44TrtYWnAoyFr+M5vgVd4/SKqZSR\r\nCRd8JBbojI9WxFXHX7ixZjj7bkcQptmr3t0VpAzjCgPtoGavKqi7TI81dYiP\r\nlg5barQ7yzI3y1ccQVVyZLIjwKIu196U7djChzHHIVLvud6uZfKZKO1zBEgw\r\nYpgdQOh1amSBN+i15rQzTv3WSfB8/hE8Eh5fCgw9lpmHK5MQp3FnS4Z0FOCg\r\n6pUm+o5T/XpBg81wWPDitTxLEMrrpCdgVX8XQyheR0qtdIv0lTwIxW+DBLJ+\r\nAqQPZq1Q1bZGTbytZivQS16nL5MM5NH1AVr/yQ1BeC12FLaRd+ObxmorZlK7\r\ngg6Y5aEAc/PxJRaKNc3QnzSkAIlqlTNNl1y95suXU1AK9Z8afZWk2nr1y7pX\r\nF8rCnVRWM/2nLjpOx2z9LKzPJgrhU+gzY9TDHMApv3Swf7tBPr51poS8uqjX\r\nTIaVQ23Vd9M2imzRNYYrKP7nwxbWJMfWJWo=\r\n=2tql\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"5511bb2d838f45fc5577c5b7cc68601f9ad13e7e","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"8.0.1","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.7","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"2.0.1","@adobe/helix-shared-config":"2.0.2","@adobe/helix-shared-indexer":"0.3.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.2","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.2","eslint":"8.14.0","codecov":"3.8.3","lint-staged":"12.4.0","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.8.0_1650886835933_0.024728093613637814","host":"s3://npm-registry-packages"}},"14.8.1":{"name":"@adobe/helix-cli","version":"14.8.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.8.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f5a7f76dc312cf9a80420eaa562a3d33fb9934b0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.8.1.tgz","fileCount":32,"integrity":"sha512-EUIIZXLLwf8xdAsa1UGyOeUaAcqXXl/sZazFan5nqgc83XeINwD/5LzIBPeoU8CQAZsVMxUGsRNRaAbP6ApAQQ==","signatures":[{"sig":"MEUCIQDOR3s7zZqDUiBrX/wIezcYR04CbqhoVh0p7L516jo27wIgf9Tl0hpbFEeejAoHHnekCqGJK7XQwjHhU2gkSTCbzrM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":309153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZpxNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqCWw/8CsGOmtfHKTrXexZWL9c5KYAKNmQX/fdBxep9KrXaQo1Ix4k3\r\nHp3AzDFATJl9XKSjq0Nfr7No1zXEFrcB/RyXgqr4VvKpMKE8pZVtRR6g8Gzx\r\npRRIG8om3d2W+IKfPNkmja1Hjsv0DcTWE7Pk5f9YChqlTSAW6QkP4vlYkUxx\r\n1nw4aOAEC3hKBMtxKJd4pS+LYG4Ofen6dok1TTGqaMogAPHi25ehWgEW+Y6z\r\n0dJxTescmhigsZMOffFGnma/iEKIElG/UxZD+dM1kP0xyqGMb0UIx+kGilfj\r\nEDX+5ihgzjrVM80my5wcNIRB98bLKuehLUhznOTDB0WQF2/1O6cjGnUXr92D\r\nmq7RtGVMomyE9XqeceFeGmuzb+yA1x1SCn++ymGtBeQlgEIwM0uK0Y7epAxG\r\nGms1xfVjXgw5Dsb85Xneq3CDR7HJQsHTjxdKYYKUWW6Be6uT+JHsb4g6zl60\r\nh7fdXxvwfZd9ribU8HqCMjCcSFBm5x0AyhqpHAICwDbaak9E+7NeKrORPiaQ\r\n+PIxF8rdAeLquCTxdbRxQkf/scEJOsRSc3+uMGqItvNRDgfKS+hV4v86w1aR\r\nzqnVTAik7oQMjNbdjeevK5cKhMwtgJ1iXXQxd7/WPlO5ittheXa3xYOeinpa\r\nyqpB8nSBdP9IK+PCiWP1NT0tApljReWJoPY=\r\n=ZiX4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"33dfad2cd1fd3583b0be7203e19f47e1e98cf6cd","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"8.0.1","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.7","express":"4.17.3","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"2.0.1","@adobe/helix-shared-config":"2.0.2","@adobe/helix-shared-indexer":"0.3.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.2","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.2","eslint":"8.14.0","codecov":"3.8.3","lint-staged":"12.4.0","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.8.1_1650891853727_0.8752831069859863","host":"s3://npm-registry-packages"}},"14.8.2":{"name":"@adobe/helix-cli","version":"14.8.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.8.2","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"32e4a877e7e8eac43638a00dec07d7236a95b058","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.8.2.tgz","fileCount":32,"integrity":"sha512-aIIvReqIaoPZWETR3Jgsjc3H2A+svz6Y67saUYsL5IjP1ug9ywfhXXJkrwWlWKSFPSoGeeCml6VBxxtsLGUkvw==","signatures":[{"sig":"MEQCIFrSJsFJU1YlmwSo1FjgZlt+HM+s8A+1IYtBKSWP4vbgAiBgUYin7iPO9zogfMxZQAYbQmEi0GMMtee9lY0MpUMGJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":309388,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibWoWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpg8RAAnnF0isgZbLYKdUXUozdq67yZa3mfXx6EcQXs2CLInWm02NXw\r\njinvbDAIbJ3GGktyd+pbz3XjTcNz7muhSESss/rXzgsOxEJYfpz7SDoFt8Og\r\njQtTfjebxIpi7o+TyGoaGPu+Aak+elEyVwtPnwp8lhpEy8CzmatsDZOx3cjK\r\nwvJ4L8y24sA7uWLAbO+mnqXaj6vqPtBSYGkNI2UrUjlSLmHijoydSqjAZcur\r\npOgLyJaxH8ESLkS5EtfgY78sryNjyWtpXL+gP4j/KvwjEpjg3VaxPlbWphtz\r\nY/gZNtF6WC7SmQ7VKxLIjUmB94UC1qo9jOYLkNnZSVlK7Fy/iwXRSxyu0hbo\r\nrkEq3biAp5PxTCGJ2lOdvDz0Gdnrvu50t29XyKu/XxPISJhBNRQ1aQBnyILv\r\n9jFqTST45eK6wpQAUz+ls9krSa35MpMl1TQgenkT/hAOdfVg4AZp30Whq5Li\r\nIPpp7yiiXxwXP3zSYX2Evx3gt87scly6RaN+5XQ/5hOF/7IDF4WrSnL64nHI\r\n7F4Q7gG8icx5YxUaW6BglQethzWa6j8tEJNHc1F1LYe5tGIHxhy1MHV1wcZ9\r\n9yp/t5F0BVS3AHy/h0iWwCyD8A4XVXSb8pinrZv601001cLxyUHEnXw4I6/w\r\nCZwB6wqzI8Z2WNxcASTavr3WlZPGE28vYas=\r\n=kbcs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"9b5c440cd6022e9d1dd25501cc1fa95dda37d97b","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"8.0.1","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"2.0.1","@adobe/helix-shared-config":"2.0.2","@adobe/helix-shared-indexer":"0.3.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.2","nock":"13.2.4","husky":"7.0.4","mocha":"9.2.2","sinon":"13.0.2","eslint":"8.14.0","codecov":"3.8.3","lint-staged":"12.4.1","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.12","@adobe/helix-shared-dom":"1.1.10","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.8.2_1651337750462_0.5331152961456194","host":"s3://npm-registry-packages"}},"14.8.3":{"name":"@adobe/helix-cli","version":"14.8.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.8.3","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2c4d9c9f819fac3d582dd315740f262789d46012","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.8.3.tgz","fileCount":32,"integrity":"sha512-ONqkQHgBC8LkRcsOsMu4woqgGKQiRxqwEwGfCM3mc6GpKiYQjl6xXERKPqdCfcfJHAGhSPeko6n7DUViZa2LCQ==","signatures":[{"sig":"MEUCIQCvYZVPoC6to6WrFKNAPxL2ewNW78N9jMI1XYU78xCSHAIgO4mrqMz3Srb2qv0fkXI0RFVtWEY2I4cAi9tXdg9BbEg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":309621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJicWxJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp78w/+Mvc9cdMOsFiCRFnyNmdnhLb3mIAwZ/9UFLLKb3Voq+QaaN8S\r\njLC0q1YVmAif5Fk7Z8Ararlfhu9gsbaH6I9OmTMigLlwwaFHLaGuXnWwy6Io\r\nC+RcUQCfXtGEimN1thcVa7kHhoNG5+8qODHSOLAFSmfO2yhMG7hKgotbwAbm\r\nitPBtR0u8FLz6d7NK6c/GEfyhDGf5FuHlXCN/H7zif7tTrz/GqNTp2CFtOSq\r\n3c5Z9v5CwQr0w+uRPP7n/Kx30zbLuM/eHBtfg9PixdFR7sGw6MhhMTTW/mHj\r\nBlqIgiukxkIqIi8Q2hFtajvUICl9byj2P3ccUbcK00Xd7Fgfe29nSWjRwPoJ\r\n6UBuDla/XTABueNUn17QDF/cdcaXsWQHHmw2nI2JvNdHHQavxdZai9q0aadm\r\n04eKknRIwuaL2Pp5yIV8vB/HGjJfEzhwMbgN7zZU7cIyAPAZUtx0yPquTIR/\r\nSl8ib9dlsFIY1LDcsqlGzo7aPXUntE+0GQoy1SH0Bbn2GrmGpo6JppsZ+6Zz\r\n/xT+N98dCi1GQ/IRCmMxC3hiM+t0EdWXDHtlm/PK2LMbqOY10H0OQmyvPxE+\r\nFg7nGHQZICz2QJ4JwKLjcbBfuXbqppp3XmY7VC5PTP8tC+/IgDMnFy6NiwGN\r\nJxTJh/dybfeI9sA8khgpsZMwAtwj4JioGQs=\r\n=h9wZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"6fc8db57a3f5ab5dd611ef0d522c43894d578c31","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"8.0.1","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"2.0.2","@adobe/helix-shared-config":"2.0.5","@adobe/helix-shared-indexer":"0.3.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.2","nock":"13.2.4","husky":"7.0.4","mocha":"10.0.0","sinon":"13.0.2","eslint":"8.14.0","codecov":"3.8.3","lint-staged":"12.4.1","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.8.3_1651600456848_0.008816924475880894","host":"s3://npm-registry-packages"}},"14.8.4":{"name":"@adobe/helix-cli","version":"14.8.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.8.4","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ae785416c37e935f1e34e95a5e70aaebecc4e6df","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.8.4.tgz","fileCount":32,"integrity":"sha512-9Cm5wXD1BIkjGuA1dAohQUIaOhsqnwiYirq1Z6fi+5z0zmkZ5omVsS8XHgVQjXWvbVsocnKKpvonSHtG+Ajhkg==","signatures":[{"sig":"MEYCIQCMxH184dAkJlTOTk4jWf+WURNmIGAiUHkwytdXIwdqaQIhAOGXdMoVWCRpDp5tshdQwAI/fzte2NGbRkGtUm6D1P3Y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":309911,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidSbrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqhaQ/9H8SWeMRXQvEJyU12UvV4Q2JmvFychM6UnyB+vlYnrwQQ7A/X\r\nhQEoFJZ/n1rii7+6ybGz//UFI0uD37hfotYYNsmqn/QvfA52rzbQYg6wmQux\r\nIoe48VMF1xEDACOmAnWrSaUmeaS2rzxh9ItI9NrpbcbBl6Ii9F3LgJ20x7Ol\r\neGrMtxtz/2EmarPhRedbQLFuNU6NPFf2ECBFuNXPnYKNRK6vyW5YLhYN2Xvs\r\n/HprRXtxmXkoK+KkWZpCnZizZfaErqjsShZYdymv9OvIfNc0LoW52TWRXUjH\r\nOioPYt9YgnQta2sQv4xVqiXguKY8pCR/kA6b1R+qlV2Qg+jPEPEqtOoPuLHC\r\nz38bGwQDI4++M86gB3Lrl127uMgLe+dyEzO8Mg/QfOTTnrSFOZ9FrYF4tMGV\r\nYDA4O3MFNtj3ysVtf+K4t9mvNNDnllbyKN94Vmi0sohge0kugVwNAobgnOQ6\r\ng7UpRiIUVD0ho2DY9RjCs/UzId+UTQAMSIsfQESM4GcoStQrmQiFdC1MtcXg\r\ngB6JdhU6QL3uO7LXDCfvz69q7jlxeHzkk/APB1K+bZCTwyPNamcTFS2cv6wP\r\nB3GTox7U4nv2WFAcNlEM6FJWAECAJyrOru+ltfK4KJavo1M68H9NadFhUY5h\r\nvrSpnjVX3GC8IjQw0B2CYwDIWai70Hot16U=\r\n=W5me\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"b0575d6b1c1249619ff1318ca2f295bac37910a4","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.1","dependencies":{"ini":"3.0.0","glob":"8.0.1","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.4.1","dotenv":"16.0.0","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"2.0.2","@adobe/helix-shared-config":"2.0.6","@adobe/helix-shared-indexer":"0.3.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.2","nock":"13.2.4","husky":"7.0.4","mocha":"10.0.0","sinon":"13.0.2","eslint":"8.14.0","codecov":"3.8.3","lint-staged":"12.4.1","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.8.4_1651844843381_0.8605011613916653","host":"s3://npm-registry-packages"}},"14.8.5":{"name":"@adobe/helix-cli","version":"14.8.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.8.5","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"93b123a1624897554f65266fa53bfdcab4cd4169","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.8.5.tgz","fileCount":32,"integrity":"sha512-aWh3Ux9nmdNXByNElCRSL8H22k06HckFzu8jcFaaE/5V0KGkdNmCwLieICMF30TIQGTIEh3O19Bss+3r1QBBlg==","signatures":[{"sig":"MEYCIQDbWgTNGcMOOc6snBibLofQ5rnjZXsuIObtcs4BhKUX2AIhAPeXhSunSNXcGcWFRInWQiPVBLLz6MZ6TSidT7wkA9Rx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310203,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJif7lwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmobGRAAmd2zwCbThJybIGA9PLoa1i82Pkp0YwDuNbb5VJsrqOJRBkw+\r\niZNG/Gy8BO6+ATzUyzcUs7PokoIoxaqTrO0Rcikldu8vFzKKe7qR0laN0FoV\r\n2/vA2C82uFe0Q/c2O8lTBm+uiDdjnZMC6TBDxnC3Vj/coKqJwGRWYIWlW4EB\r\nTMpWoHRWMTkbL7U4OXGN9F1rOtuqrw+6/gBGOJ3psVCk4BXGScz8OGThoyn3\r\nA+Uy4uybwx0iEO+qTmtkVXep3sS2G67tJlKW8kqTv3FLmUb35CHtUifnyZ/q\r\ncDEXYPwR4wm6LKaYNPtX1JPLZ/bVp8POXrE4eEI+QxI5Dqb+3jiLSYQG357L\r\nUstx5DM1FusfcN3isei7G/h9QvfgUmhKezvFsnVrjsQEPffIS1lPyxjLwh2K\r\nfjsCps5At7zUqtZiMevBFe0Y9M3ZXzhVZjhsOhwjmGhjUVBkqm1e0fk3Ebp0\r\npDPeBpcilQ5LF8JkRtZZkqVfCZMRqMkVzuX6CXjn31CVEZlMqV0lIveHlyBw\r\n+HjGy/lQaFagd1DpbXBvy+Zb4OG/jDsY2i5Y9f49AxmC2ZRMscGmmpeuVRIs\r\nHfwnWbBwxbU37VXqZrHKfUu6Ppvc/heK1psivQr2e49O8Re70AhPaTyfYeC3\r\nwAcFdMv1s90YudkrI+MysVygrrn+oDHfTuE=\r\n=2ywN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"08067eaa53362530491db2d8f7cfd61dcc05f16a","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.2","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.0","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.9","@adobe/helix-shared-git":"2.0.2","@adobe/helix-shared-config":"2.0.6","@adobe/helix-shared-indexer":"0.3.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.2","nock":"13.2.4","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.15.0","codecov":"3.8.3","lint-staged":"12.4.1","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.8.5_1652537712481_0.20192823258985815","host":"s3://npm-registry-packages"}},"14.8.6":{"name":"@adobe/helix-cli","version":"14.8.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.8.6","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3e7280c519d158ca099f0f61956e77801bafc9f7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.8.6.tgz","fileCount":32,"integrity":"sha512-pUKa3m+uBefOX1NwXTTSpAAfaaU/V68Nb5tY3p66bsC09kkCh+UO1D4GCdMSBOO2mz/IxZiANnNyKUh6qEG8sA==","signatures":[{"sig":"MEUCIE6pUqbH/p4DPNNHGbJyWKhBUmNkVVKNFRMq965gkJBfAiEA6cWgHXAlv8lX7/2AcsZa6MNQh3olv9mRUP6uEfJhBoI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJif/YgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpHfhAAmkrz7FCKDfs5oLGdjUJB0cjP2XpPTZCMHnSpFZqxG30mp0Nl\r\nnT35O+MXOzhBRfqBb7mqXxCV7oYfLzljKzGwcT5ticDjb2uV2S8sX7Gt0m/Y\r\nRDvADwZNbmVCNDxWg/mdsZCYEx2K+X8HFU+CMU4GGXb0R+Vs46XB3zEp4EpD\r\nbm44NcLI4WrtZ2+XZi4Q0ZfhvOtRprchVs35xG4tu3LnV4yvZVsR3PTmyF1c\r\nSk7tWoyqcWzKpLaZkbN/O5Rdzq8KHQAx5NTjc1r1h9AmBZ3DT7Bgme/5O+6S\r\nV6z6uEkuT6O4xIybjxoAQ6a+xbVOTuRHD+URPl2D3YzYMMxR7tHIZpmuiP0B\r\nHAnTdYd31c6OcCjbt/rUMnSLPeGFWuoOheRgbDwwcKMeAf4aSvM95sgXhYae\r\nsd7JZdjJOVpyAT8tz7NaReQzSKyZEw9hIBly6bxa4MZ5Z3KUOfxfWsfQy+vU\r\nTvEnwGP+agGwqAgmtKoYPsbvChe3df0t/TowJzczLQBQ088wK2UxQd+0hy2B\r\nnXlU9XGM7gDz4R56JxNqwYKjvZobz+bgNea39oXFXVbJmSf/qzLYw2U5FGXt\r\nJH9KUFL04tlAPoLxOYn31Sde3n4VifKuuEPzxlalvJM3LU02VAZj02sgG4r+\r\ndGKaZ3AZ5F6UdDvKkZ/S5/y34xzeiv81bTY=\r\n=RqBh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"a9dffc2e6c4f061969cf7f5566ee6172e795197c","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.2","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.0","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.10","@adobe/helix-shared-git":"2.0.3","@adobe/helix-shared-config":"2.0.7","@adobe/helix-shared-indexer":"0.3.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.2","nock":"13.2.4","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.15.0","codecov":"3.8.3","lint-staged":"12.4.1","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.8.6_1652553248535_0.6326680993751441","host":"s3://npm-registry-packages"}},"14.8.7":{"name":"@adobe/helix-cli","version":"14.8.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.8.7","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7bdbcb034fe37e1d5f40fb4d2dde4b1c9639df1a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.8.7.tgz","fileCount":32,"integrity":"sha512-pGtXFPEy4ZFb3mETbp7ADJ++IxQ5/3kUsXH00Kp0Fof10GFIaRtbZSXExMUCMcaRtYtOXVUqUNlj7Tg9j26tow==","signatures":[{"sig":"MEUCIQDyGe9hVWtboTvbQTKu+d+B0sJrgbgtVNxe1D/q3i7VMgIgHpIqyyeZ+XH4gpajONv3WZkhGdDYi4h9tF8Ng8gvB3s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310669,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiiRKdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9RxAAiOm5b4uhl3P0HdW2oQkxlVWgxVOIKQ+XGo7K3+0oWeHywiyb\r\nlnF9R1blbURE/ZgYZPiuZndThZa1YT6AGtghhu+6N3GJ2d4IZ7j7+dMYNbyZ\r\nxjoj3t2iHoLFWr0MQoD0w6CsmPoMtyjwdHS28DoaOuRcuRgiC1kcjp1xvj98\r\nsjAh5MKRVK6jxWyQFHukeKcLNfKW38VKtGIt17nFqskmGrMf/Oei1/b3wnyz\r\nQPLBKMqX0hOjD16VF9EeSv6EdSqKfUYKOwlBPWUWPQPwvZBc6Fi/qTSo+Vp/\r\nxLoBnyWB2m3o8HGmbW4VekfV5lRIy8i7SlFeBbOO/2h1BLkzoO6kdfbEuKSG\r\nrpJrW9rAPPR74n38NW8/Nrfyf1TSSenq+PHR8bfGHjYCkC0EN9ejGlezhDB5\r\nH2VMkqxAL/ycD1AGHhLZ3ZkKoU3IhqKnBM5j514/lomza250qDUWHpyaD0zA\r\nvsiT/2r7YrNOUJohLqpD4uzxENNNHtTrWDKw/A4f8ENfcJd3S2HP3laM5aF+\r\nbixsd4uxt0mRzzVQe8qhYDU26kJW43HZhnZm0vLkRKmvAh0Q1oRJHvm/FhCT\r\nf4TolA9cU0dfoLpSanktT7Ui44uLEpe/TrlqDYSzMJvbYUtUUlfkIVfQrDu4\r\n2OrtbKZoAVOI4HQsznWoHgjQY7MVN4ydE8M=\r\n=Wb7o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"52658386cc92a4c07c364ddf69d0b3b3c2b0105d","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.2","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.10","@adobe/helix-shared-git":"2.0.3","@adobe/helix-shared-config":"2.1.0","@adobe/helix-shared-indexer":"0.3.10"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.4","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.16.0","codecov":"3.8.3","lint-staged":"12.4.1","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.8.7_1653150364961_0.7321468701838088","host":"s3://npm-registry-packages"}},"14.9.0":{"name":"@adobe/helix-cli","version":"14.9.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.9.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"0ceaae0ef9973944e7c50bca4ac113a9d45fd770","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.9.0.tgz","fileCount":32,"integrity":"sha512-DVqkcPP0Bq0yDuXSqzkyP5eGA9Ksc4g6xuogEJfId9Y5olpVUNWEG7iW/TNm0QmyXdJG8NZ+Y/zrahdwKKM68Q==","signatures":[{"sig":"MEYCIQCJwvJeClj1kpBzQnC9/3J2i8NTQNhdN6WqzllIUpHkVQIhAK2SbfO8DkBsGtFoQ5crxO8KhwlmuQ3/lVhVGkRLBgIa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":311211,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJii1aTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1BQ//RWPlX5LnkWZrDAofSBgi923lxIdGyAqIyuarbz02p5Pzn2rb\r\naOU/hZA4y6qWkDNUtFrre3MB7dINL5MPzgWAjpZvmUxIX+keugwMnho+D2Sh\r\nglH9RpEfgSTvsIKwJdto+NZXknSOikCWa3uuKqoY/eXd46eF+aoVh7yL2HwJ\r\n792tuuoGfOXx9jWgUT2mFbQac2HGFY6MuUeZXcaPN8dmZhf4geXp2jGKSsb1\r\nr07aFVx3muXR/tEu72/WY6Hl+Y3RuSdkGLKd/W663A1SzTdJ4PSWEqAixsP2\r\npa0D2By9OgzDrYY/SgKXgs8kfcIbiA19epXgDJdDVdNp9W3Tyd5VdUMIkXtv\r\no1G9tkgDuFqI5zet4Oc9Zs8MsJp9M73A3Q/l6RX6u5x3PTBWG7ZU3JiSNLYX\r\nb5uGBDH9vbqR4la4cFHyfP+Gc+9b64UmlAZOinVzRDy3dLrmhD3z8kF9diQA\r\nNuzyAJnZqGMDNcH6PMFZCTuwDSJCN+9z68fPD5ONerCSKAAJXnHf9AI+yPZ8\r\nK6N68mWkPlsDRLJySkXTZsqbymPj4Bgw3+lbKyXJjpvZ3YZh73t8sCVZSeql\r\ny+3wQtRUe7AVcvR6jJ9tiNTbj3Y/KesM04WkapL3d1SnHgrVRfihqlTD6K/i\r\n6SVQS2ghWUF/43Why0gsr1AuDCCn3VTPKj4=\r\n=okhD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"96e49bccf681afbf679a10b9835af6fff0ddbc6c","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.2","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.10","@adobe/helix-shared-git":"2.0.3","@adobe/helix-shared-config":"2.1.0","@adobe/helix-shared-indexer":"0.3.10"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.4","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.16.0","codecov":"3.8.3","lint-staged":"12.4.1","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.9.0_1653298835355_0.6409106752006919","host":"s3://npm-registry-packages"}},"14.9.1":{"name":"@adobe/helix-cli","version":"14.9.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.9.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f936e1e907a7494b25fdd395674e0d03cda13657","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.9.1.tgz","fileCount":32,"integrity":"sha512-+Ud43qtLm1LhH4ZTcsyhWFEm1Z8ylWRZjGmef11W16/UdWG2GBzKJanqDiSVvf0z5G5/4gktKOmY6ozmTGy2Dg==","signatures":[{"sig":"MEUCIQDDmuaJpzD5wMV8NuSm7ZSGLZ1H0GOq63mxrDrVISnc0AIgPxo/kkHnpw4tNVdkspLZe318CyYd//zEvY9sskEUR/Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":311501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJii1+kACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoErg/8C6E3ZBxp3H9T0RcER6dtxfcEo564pZE+yM1E/vW85lSZM6mf\r\nALJagDuPvu2+v3vI/+njLF2lgNV37Yk1WF6cYAc7CY35pxYzbrluFG3EyqvI\r\nWJZRxmiLgMyXav47H0wCq+j9pt+p2aupCYjGg/HUXrWmbz3HrNxJXVrvcQNr\r\nFBbMckdr5sS06CbAPnueZ8SKjXkLAc0008s3ChF7SBlPEaiRyJatuyromxNE\r\notDsoGVrON/iBw3VuKQsgBCmr3Mgz3sa9/MLKmEBNmZi8aoHOuyRLJC+766u\r\nfgPHtst/3nUZYJpm5UYuW6YnCwB7JTrrl+UehV/kmZFQSkjwkIi/zaL1lbR0\r\n9Wm/CCJ6lsQB9ExMQCvbovN7ie70fuvBWLcybx01QJFRV/VpEuyQQkwvDFyJ\r\nb3aW9vMnl+oNuXvn8WOLzxK6RmMYZMaptPUfF7K2gsTtv7TcvYYm50TSMdID\r\nv9KVQiBvbJvrs+Z2MkE2Eye5y3T4yZ/nI3u0pGw/Oa7e91/Y9Tts4a1ZODOH\r\ne33lDgsjb9z2DrYqUlTBbiw+2dpAiifg/Ei1y5el6lWOMN1Aht8UPT1qbZaY\r\nTNWuIJelXeCW9AUmTd8ol+1NxD6s57VSnZ9Q4Pc9OtdALeMhilyZrIXF89E+\r\nB98yA/+/T0Kn/YgJRMw7dSIunLhUX6cRyoY=\r\n=PY24\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"7573725711de0f51af3e607954f26082a791b7ab","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci":"c8 mocha && codecov","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.3.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.2","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.10","@adobe/helix-shared-git":"2.0.3","@adobe/helix-shared-config":"2.1.1","@adobe/helix-shared-indexer":"0.3.11"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.4","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.16.0","codecov":"3.8.3","lint-staged":"12.4.1","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.9.1_1653301156346_0.7379148432522455","host":"s3://npm-registry-packages"}},"14.9.2":{"name":"@adobe/helix-cli","version":"14.9.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.9.2","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"cf8818b8b8d0e6d41f8f2dccd2e09800fb99de78","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.9.2.tgz","fileCount":32,"integrity":"sha512-YiNDpjfqJIfWYyq1mPi24FllVNTB4WgpkIlRReMHdYrzQDuLTPWMacLhMFNceQ3JWPj1M8sUBmWFb8s6MOYwAg==","signatures":[{"sig":"MEUCIQC42sg3VwLFyN9XP+yG+gitA3JYvwpLH6nAGrX1TTD5ugIgMV2mLkAQva8bWVchEg8tlhGYZC+7NVJzB3wtxfDZjjM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":311813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJii4JUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGMw/8Dkv7qFp3kwurWrkGHgDkdifXEaVto1tQXg7J22jDVbsYiyCs\r\nNYbFKbm2pvUGT5Z24rpQae9JMbaNn6dyyYv6dAPZsUGrdu3fhw68Mo1LoHf1\r\nMcRurzPqV4PC6V+8JEuK3LTbwHlBjnRjJuSmPp9jC159b6VUieiS4DicfhP/\r\n0aby9xU4Kt8pvo4PBVSRqqNxvv7FWHYTBGguDqFmXQHNqRWh5WqTCjU0Md0O\r\nvmF2jORrBI3F/k14DH5hM24PYCgvZbpnMccpPMpfJFO3UmMG6qnaIZVC3DpP\r\n7oRjqM21OPV3j2TIkfdh5YGbr2UsC8gzmTMk49jkQ79xRGW7wM4zoDj5kWPZ\r\n/KDag6aYEbK8YIG9WgWPB8W3aBh4FQuz+ncY3C8Izg83i6n2JKNvcJ37f3hu\r\nfrK2TveZlOvv6cyZ7er/FLm36wAhrdvyz8hcNF6RnXtI9Da3VurpWUqrev2v\r\nLMWm5CZD/kUCnTKWWp6hRoeBveRlbs6bMmHuUXDrfB8gD/M3iqdKUz6h4QxD\r\nI+0fk2ouAHxnVX1vvuLnfuQA5g1fgkOo+W+eDDjE217p4opxMiH/8G1/J5WW\r\nYv55bJD+F14bm3yx7KIVu54BuH0q/5+StMehckGKJcImmBp5fgD+5BjrXW/O\r\nozI46Aj+9Y9oUhNTaFaexQV5SHqnafkRBQ4=\r\n=4tHD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"c25c1d6d504f40671b8a922fb8720476245d0baa","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.10.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.2","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.10","@adobe/helix-shared-git":"2.0.3","@adobe/helix-shared-config":"2.1.1","@adobe/helix-shared-indexer":"0.3.11"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.4","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.16.0","lint-staged":"12.4.1","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.9.2_1653310035750_0.6354517511002975","host":"s3://npm-registry-packages"}},"14.9.3":{"name":"@adobe/helix-cli","version":"14.9.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.9.3","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4dc631e9bfddf7f960a6f6c0e0a6113a50c72f03","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.9.3.tgz","fileCount":32,"integrity":"sha512-MqGKs2xb4XdOD2BVzkQAEuLkNcusm1YMvV5yIsNWxTQUbPEHtRzxxifGfEWPuDoJJQs4ddlMwVUVuEFl+Ap44w==","signatures":[{"sig":"MEQCIC672SznowbaERMQ0pIOQyuSzWx2Iczy05p8kMPM7cqCAiAnmR4LeYnByjl3K2M6OA76PgdcuHeWoq+VGEBWD8vlZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":312049,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijo9zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHIw//e/hopHdcdhXdn8UiEakfJ6e1dKPheLWYBPs4vFdI3xIV0SFS\r\ntkfDSj/9h83JS2qBS/kYHykNJXEksrRRSxo6/fsu5pnEVtIKYTVq3nNr9BXw\r\nnLGdxU+uoxKKWNNorgLL0959oM3NyncnM/pfgwup05BP/r3CXVxshVrH+pPA\r\nJVysNwxc0T4qjYOg6DeJ1N1pjTyvSjY2wqZK3q2V0bLj03QpzEQHATV9563d\r\nLn3kIFJDREsiMxVbHAERKHC0/Qz+5+G+y4D2GscU3rUph7ukoBy9hwAizEeu\r\nCroMlDAK3CJYxxv1JRmw9AnorWH0m4eySvTl/otdFITNUKZDb/Mci4ge+ij8\r\nys/LX2cQUzlFxszpcxCKW3DM0LBvxH4L7bwJVOH5G+g8N67eg6nxbuRuQcpb\r\nVBJBwq/J8AwIJOCXm//rzU8tkyKwJ0eXsszfZqryUpXonnXOfJi2dc4fbENm\r\ncMUS+unB98O9Dtn6sncTTlc0Fl8ta1nfyxvFyV4uIxxDljObOby6gZoRVj3L\r\nfmPUQ6uKayBasUBPvHixtPy82cykUxzOyMPbPk/D5Wf3W47QdFB01hVp19XB\r\nWinjZxrN/OCmO3e8hQYwtGiSuAqT0qtBPBBYGUce/FhEiguWVJySLKLf8BUc\r\nIFpLVw1S1siVDRhkKszC/Ccx9YBV3QIWbMA=\r\n=3UT/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"f6d80b50552bffee02e2a3deb03059d5f38381d1","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.10.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.2","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.10","@adobe/helix-shared-git":"2.0.3","@adobe/helix-shared-config":"2.1.1","@adobe/helix-shared-indexer":"0.3.11"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.4","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.16.0","lint-staged":"12.4.1","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.9.3_1653510003144_0.5728793896014439","host":"s3://npm-registry-packages"}},"14.9.4":{"name":"@adobe/helix-cli","version":"14.9.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.9.4","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b34761788948000d7a8a5ff013aaf426b0097676","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.9.4.tgz","fileCount":32,"integrity":"sha512-1HpXAL3oqbHB4cICA1bXWe8SB3hgIcH1CjcRWCVj9q3TlcD29JRnVwcGimirCDGwfIM+HeY5SYDd2pwQhwyHfQ==","signatures":[{"sig":"MEYCIQCQ0uqsnEBPy8jDA+eFt3zOlJekN8Tuww/1M4A1yrdLiwIhAJEZUBTDtbN9JpQSLUq+G5Qosk3Xc1wO1qkjXEQDzG1W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":312281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimPmQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmot3A//R8IMLTmpicj3S3e4/Etg36B+qOvEp2FEocWgjp0J39AfP6gY\r\n3b8mbW8dC+269vEPr2389CJ2iNWVpZVYm4or+FmvN+YtnbjU0HKQ45AFmdcB\r\nTP+DuNnA4Ay64IyQmshGNRJlzslv4y53Q2Y72GBw47yM1quSr+TYvF2T4/pZ\r\nXDgCHH1qzZHTclCgM1J37ky9d4/w3jwUQFRgdxJtqoa43WdkvqX+jKf0Nzih\r\nPMlNDYd0vkIOevDgo2NsZbf6TowzT3uqeZtpmlKKGuP4ELgH6S1MuWErQINr\r\nRtuYASK4E4Wyg5rBUYnl7/G7YlDiPFRN2aYfTNsziFaPfe0fmLZZsaft/F+c\r\n2oqbatE8Z99NK9v/FibSlh2INY+viNg8D9B99Th0vnHkaU0bNXluLFKZ15xF\r\nNqfeGspC2zl+yLY4eQR8jChb/9VMlyhhnyDMBSWOFeQsnO/Y5X+ibJuK3F1l\r\nO4PPfBf4FxgzAAhx0nSacGbKear+JpWs835xZe2a3IcmIQoiWjkPntPqChPO\r\nZtFlsAWPFf8cawv2UsQyTWzdXokeg4gt6OY4unDaCFrSMkhNuZK83ew3MhJo\r\n81z6xpm/gepdF0Nt1GJpaIrcnleRFUJDeWE5wbrgcFCKOGUjjEc43l/ymzt+\r\ndzkdbcc9AsdtB4iLnhLdAsPQHiKs1uHtPFo=\r\n=ZM95\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"7fdfb59c20f6d93174ee43974d7b0766802380c3","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.10.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.2","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.10","@adobe/helix-shared-git":"2.0.3","@adobe/helix-shared-config":"2.1.2","@adobe/helix-shared-indexer":"0.3.12"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.4","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.16.0","lint-staged":"12.4.2","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.9.4_1654192528072_0.9437028601910475","host":"s3://npm-registry-packages"}},"14.9.5":{"name":"@adobe/helix-cli","version":"14.9.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.9.5","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"353dde7cf0ea5338015d63f8834a2974f8077114","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.9.5.tgz","fileCount":32,"integrity":"sha512-byvkAN3zfLBFWg/utVxIreDvTWjo/4ZfOJFClyEYl7yUWyWc1czRmNixXmeYBO3zD7Ogv9hJMZdBjsND4qu+Fg==","signatures":[{"sig":"MEQCIGK/Qzy6DYiWCu8T54xSN+NvfHkZq2iSmeNSiSvmEBCRAiA1I7qz9sQlgOrmTTeMgeevrj9eYKDxmQnih7hqt9Ky6g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":312513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJim6oXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoErA/+LMK3ccORk2/EWcnSnixy3Qaf1gDPtzHDNCdeGOdA+NXRnw5A\r\nMXFKPyCPaT/TxlFGX4io6bCObxgN5Ig5gaUdpzVZ2PuuiNRvzVNNCiW9IExO\r\n8EJPQOpWc4gAGzzJYFoqjKnqhKqBCzxJ6m/0TPvjOiCyPXg4X607XWHXW00X\r\nCK9/2LX7ZsuK4lK9oAOHnzjTFuVR9p23tZBIQbDERjjApP3dMDqeiSKbR8Zk\r\nhBdea6W9fwEOu3jDtgnGq2lscnbWO/l8RP7dzf/UPwoUp4ik/iX8dDDV8KUD\r\nfJWVAoGl5e+iGbJvhKu+dvyjJ2zWVIEhIkrHCSeb4rq5+qpmTCJIRlhyFo1a\r\n9V7Csd33oJnOTWk1RUVSiV6WiqNcLty9NTbBWtmSeV1YkcDdk9zYbweVm1Jn\r\nQpHeC4z8CmWHArXiRnGIbvFb8j0Kacn2GeB2DnYMbZhxIxxLUGPCJo5wJ8Sc\r\ntoCqUvJdnVAAkf2HQQSU8SjbK+X1MhXgi9XmO6UuF9pwXyo1nhhkB3DGWj0U\r\ni1DeYKHY5gRqsnoI51bdlXWZUIZpxV7eIXreDqx1onuBPc43+KO7gYHDj54k\r\n7ObidWG3dYXyfYCUEtdAOsiZyq0xPWFolOb/K5CnQ7K2Nk/3OacNqvZskCH6\r\nNiGOx1GiMwjibWhrzp1ROUdg6fyaAbNG0cA=\r\n=KNtK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"92b0b4426f5b391fedb0b9fff6fc398762918b33","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.10","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"2.1.3","@adobe/helix-shared-indexer":"0.3.13"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.6","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.17.0","lint-staged":"12.5.0","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.9.5_1654368791295_0.4830251156633292","host":"s3://npm-registry-packages"}},"14.9.6":{"name":"@adobe/helix-cli","version":"14.9.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.9.6","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8ab1aa7c7f9c8db6f64fae3a821ce766fc78428d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.9.6.tgz","fileCount":32,"integrity":"sha512-ZWv4AInznifzlYbwqvgLMmNcDz0rhYK5blh3iC4EnZUPMVGlh1wTXqdoRHYDn4+b3IRt/1sj0d6CX/VTIRUkUg==","signatures":[{"sig":"MEYCIQC7RNwCn7oNcI2SJBjv2V9pjTAnhHFUA4tKTdCvUmxXfAIhAI/IR0NQhh62XSErtmFWJrL9AgSjsxzBiV2euFWgXOcR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":312781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinKwvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrb7xAAoJLOQwomnjRcYWKr7JByJNtNgc2Gzqq432YtWN/s5BKnb7uc\r\ngHFVNJALMVaX5+BNLVB+01LUFDEY+U1ZY2AzrmD+jcRDxxk2OUz2edHDeBaY\r\np9IxSZFgKpWA7mQBS8w3e/mLrbl9MDjec+yFD9L9WtBrtN1qqfaC5MMEwE2y\r\nuT9t8N47Y0OQu3/JblSD7MHnJ2lnxPFfm1yoAD4fZn/41ILewHDvx/LgWNhF\r\nmxuOgZzezHDFr3UcS0nXk5+SI4SCHqEVHd01ufO6UNrcLPOeW+xkPx41WI6L\r\ne06/mYvFTxUa6ftCX90KcvYPj2bSRHDJELvWs9B9b+f0NcpXcvBrrkRiba/B\r\noPYMtdeUmteNKEFy+dQ67BlzUp+gLr5Gxv4Hnr/yxpBeT1GrIePWI9fo59RA\r\nteWG6R+wAxJqkDMZ3E6M2Ccg+F6rIvQQcxh3GdbIAVgLsLJGz1f/o+H5iAUi\r\npq8/AtsAqQJbCa/dsXdwTTytBCjQflFdhTWUhTxaSbZ4XdMFBTnDpn6JgbK1\r\n6kEMj7U/87KZqBrXohkiF6fuvpQzChYvtyI1M0Y/YVMwd5k3kJpD6OFXqTFy\r\nLXBWbbTYLB4Wdj543HNFvyaCZ4O9kJ7UNdoWALiYI0iKTj50c+91TkTOgtcM\r\nGMpBC0Vw/lXK5oyyxm/ZLkw3hyGygZ8cSwI=\r\n=Zlm9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"b6c82747563d5ae12b619c641904003d726a2cb4","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.10","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"2.1.3","@adobe/helix-shared-indexer":"0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.6","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.17.0","lint-staged":"12.5.0","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.9.6_1654434863428_0.9899053407697387","host":"s3://npm-registry-packages"}},"14.9.7":{"name":"@adobe/helix-cli","version":"14.9.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.9.7","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"80e67268caec6882e20913971779bb506e6d55d8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.9.7.tgz","fileCount":32,"integrity":"sha512-bLxF0nscOrs8T4TNC+VtB9bZHH8Z60aBbNWzKV0TYt18Up1PTeBvTIlkXsfyyJYpdtljl3X0kv8D4E7bISdAeg==","signatures":[{"sig":"MEYCIQC9Qvmm23rCXtqGrDCYEDW2XTzzxHwz2e873pZQQpJ7MQIhAJ05zYeAzQqvoUnV5gezpM6uPGsO1txYr9Bc6AXp2M5a","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":313071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinRrMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpvlg/+Mx+FU4DeWPsZ4XKIEil3YWPLFXBDSKHHvAbT7JKHRYvgB1Uo\r\nxtNYz6NnriF29CLqrAHog9fpNmQcFXjMYNW0w0Su20UjISX9KiCQ6XEXdPOH\r\nI/yfM87N0gxF7TOUSUQ1SoMO+cAviVCI6j6pX58OBMeVKqz0pMclIi9V+uOT\r\nX50zIA+hKdl0iFX69Tgqcn6qRau2jc834ejJGYOwxiLVJJSLrb/xL3ulRCDh\r\nsmw6lM2auLFOcavLe3HJHn85Rt+d7OwG9Oa12sup1IlENcHW0yKSZRamZkpM\r\nbJJZtYplb6J2vOi5daRv6g03jCh7ZzQCC4CNkvD8ziRySwOTFE6qKobPLeP1\r\naJVC1WFsm8pEK4FCiLQhdi5cm3AaAZTQw4QDFPCbGn2qd5q7Xc+JZTAiHHlZ\r\n3t80KUT0B6eWQqu44BnIUSJvn6GKiqe+3HMGzvb+dNm4nsf/ZRqTpeozE55Q\r\nte7h3s27qw59CB30jgSZcF3/A66+F73Ok9Zpp2pZNGQLumUGTuEE4laP9nQp\r\nZUXObUw6UXfSTki3tUNlhcneDL8b+/d37VQD0aJ48aj/mjQdP05mCttnOgmk\r\nrfBhfG6DuD5KcwHZphh7NOJHT3XNro2x6lsjKqcBtI95DKM6NoMHbMWuFp00\r\nhJNyxsBF7AAak1HjUW1R1n2Cb/71PH8Yw+w=\r\n=UZv6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"583348bd69071c4571f0af9b46916153db751dec","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"6.3.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.10","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.0.0","@adobe/helix-shared-indexer":"1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.6","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.17.0","lint-staged":"12.5.0","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.9.7_1654463179776_0.004936383581877202","host":"s3://npm-registry-packages"}},"14.9.8":{"name":"@adobe/helix-cli","version":"14.9.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.9.8","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"08d135bcc8cdf1863fb54f92c89ed33a86021702","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.9.8.tgz","fileCount":32,"integrity":"sha512-zSCwn1KtZo5sPhbBWifr0+cbcgSJnFYU9hxy4wVpsPp3Gb7BuZqB/lZ6bDSdsI2/pYV7JezuDCsXtgYekLIZhw==","signatures":[{"sig":"MEUCIFoV6p7pgPAuzysNxJULzMlPs9Eth3VHrXr1IrgL6RPKAiEAscGhJjvC30j6AULc66v5Brqn0sqxbQyOmAjLFUPmmOw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":313364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJintulACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqrYxAAkBiAwfEFUySxgn8JoeYrELV1MBhMk+0fCLzOlbP3yRNXkcCW\r\nkiXlC26yT+pARmT+YH0/KjDOOLnh4pGGLqwUbFszFim5618DHjeAv4JLWRWD\r\nOQBgsK43hITMgmJCqdA2vYAk9sK529OxOIWsBGUjFJ4hwK6GlpPihK6ZDNpS\r\nr6ogJ9BPeydnoYH6hyYKJ7zGBW4cCgrx3jhU3Z5+FyVLuvFeB3IcL3jOeUdG\r\nTURhfFWkqA7cY4yzY6TOL6xRLeKRnZKm24jEH7jkcnGN0VK35tgO6X0qjrRb\r\nm53CXmu0PP3h9ve+A85PN7nXgloxA3dF+6o5E/AY6aZ93Z5vOpn/JZomMyEy\r\n88y2RO2+O4oDhvtB17ddhDuhMUtAh33u3uUFBktw7vdz6usOFLiAi1mNibjF\r\n7rP+K+tAjDKsGaJiwamz/UGn07OLXkDdud28iKq6rHB3FRTaiLDcuwhAo/jM\r\nYVZJCqd6fxN6FUuMEQbnktDLB2fYUmTFpK3z+lAkbxhu1rtIixoDh2SMHR6G\r\nxGs7cEP0d3eZAcoB37m98sTd3uU8PrY6e5nsdfTN7WfuSo01S6kQc8CBxc5i\r\nlt0sZSw+Un1ThVzy45OnnYgqxx5RdLY+wBNyvJJ5SOvMUtarbl1ng0vTwFti\r\nB/HVuXq4cXkh6WZyVZZLqNyaRltcqv18xNk=\r\n=C4dS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"4defafba5eae17d21a95a0addd1c23e5d63ac8a5","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.10","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.0.0","@adobe/helix-shared-indexer":"1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.6","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.17.0","lint-staged":"13.0.0","semantic-release":"19.0.2","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.9.8_1654578085674_0.5062587376443384","host":"s3://npm-registry-packages"}},"14.9.9":{"name":"@adobe/helix-cli","version":"14.9.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.9.9","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3837d5bcd5bd8e915097b1d5871e0e7c6b1a9aee","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.9.9.tgz","fileCount":32,"integrity":"sha512-pAnfveyv8sPyMytOeGujlBBtjDIRbnU4Co+E/tf243dr7uZ+FVQGOqHyhmcS6NIc/5WNhvZc83tJB51MozKSGw==","signatures":[{"sig":"MEQCIHYtULsG5vexHWqZ+cGhTM+/stSbOaDKUYc0en8RzfpLAiAO0l5U1SByFtS+U5KpglvlvqJpcAMG7cTVov3Qkdvfdg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":313633,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJipNU0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrUow/+KfE1Uaj1XX5LYS6jIYAchRUVlBd1xpiaz7gEarvCS9NVdITm\r\nDRe4A/t8t5l0Gmwf+pa/eQb4l4QiLhePC7Q9gqqWnD3ZMj9KVW7rBAjH5ihJ\r\n91zPsA2OXyQ33FBIC0z2XPuGXdxI+7d4gm916neBRmWekSCFc27hi+sI71rt\r\nrhciqdUvsF9mNAWox54PYSyq6kf20hAFFtfEIBG7TZFWUp2W+jsekvPhT88v\r\nTsE0FUhaB2+aATwOw96D5K70W4HWsd8Qu56/wqOqDiJ0CkoOSPcmdnEoDtW4\r\nOYfkNBRniPOsu8n0Rb5xEJ4dKvXmluOXgvVuVioa8sA3uOKhFvR9oJ+rneuw\r\nLu+rLBbG8vWnnYQyTPuY52vKExdpeahtQ7VwRSMGPIi3MSp32ljwZKkJNj6p\r\n/FsHJ9w324qwn5zcWd0opvwaPoRty4ccwXeRTcTeLwctqASlKvVvapmz5u6H\r\nF2kaT4CHXrqyhqEUQFmkbDBNwO09dlnkpMYyma2kgG8r5A7bmd9Ahjfycq/6\r\nCM2onbb0aXH3vKMfsJjoeXSpOALMPqdDFHsb5SIfk/rWL9zGvndDiU351KvU\r\n0xPT1ygoWPeFIug093JIdjWa/54yk+f6NmcONdAd785yfS5pJTFXjmeM7j+2\r\nNAlnPYhms0BS232YD8QQwqQHNOewWWTzE1M=\r\n=JtfB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"cf99457fbe004dcfb80fcdb428a73ea8ddd8e632","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.10","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.0.0","@adobe/helix-shared-indexer":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.6","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.17.0","lint-staged":"13.0.1","semantic-release":"19.0.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.9.9_1654969652385_0.7250140629462458","host":"s3://npm-registry-packages"}},"14.9.10":{"name":"@adobe/helix-cli","version":"14.9.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.9.10","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d09949ad9443d13e5aeb90171bc9c9213199c371","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.9.10.tgz","fileCount":32,"integrity":"sha512-rcD3h2kHuq1qnufOSn/gDqnhzSUbUl7XZF42lgyRTjZ0GXG9W8Ki8S+mDUkGqUBXW006Ws+4S6ARnW99CRZ9xA==","signatures":[{"sig":"MEYCIQConMNIfEI0Ww47rY6dpxwowBv1zElDP9Z3NO9Vh8O3/gIhAO80h4Bv4OG+pECT+wkOR0d3E++bgg+lqbV29CaDXcye","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":313868,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiq5doACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmruIxAAjN23xQOXWrZxXuJ4sveX3/yzJ3NaQl9Y7DRzid9SFBynw9R2\r\nUC7at5wl5OW2MwzqODKlqbGuGlZugSVzM/kwv4AQC5Dt1obhET0SI/WdSF11\r\ndqSZoPNjUyvO3HmYVG/oUDIH3I+yXmTU1G45TJR4DYF4Fueblp+hDa/USHnK\r\n/lYmpE9crm2V72VWQYhjedYWQpeaPv8hapF3YFHFv99FXrjdwtgYiroGJQG9\r\nOfdx7UZU0WxIoyRpZYyNO0Y/MHn7pTsJsVx81ehD/TxTVNBMi170NS0G3gCu\r\nhJPloueM+JHy6hN0630orPxvHyL8DdAmMvVy2YEM1AR3ikMkt2241e3jCq10\r\nQZPb9c/M/ZXSxgcDLbIMyYCrylZ4ewaSzashuH3GAV7iMTVV9lc/9SRZEd2H\r\n6gd67Uld0Q2tlKtnTvho0HlezuriX/FFhaWR87Vxrs4OM6XG9K7xSkRcfKML\r\ndPG+9wYpbgH3dlkHhN8Z91vnKvO6DyqgGlpktkKDsF2IwRBm6zMutMxc736u\r\nzGtvQKOOHH66OwkA8el7cn1qWRc/cXOETztvj3kOTUMTayzsbddIkW549SO3\r\nmoPVAts6aLELO5eKJqGQBa2oayczGLzbHUUFGTAWTDhrv7oyet0NgxUaSkaL\r\npwvzRoi8zPHCEBn8ILQToql7aLVf9cjmE6s=\r\n=vWRK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"1e1dfb383bcba04831b1bbdb07cbdfeaf2a82030","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.11","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.1.0","@adobe/helix-shared-indexer":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.6","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.17.0","lint-staged":"13.0.1","semantic-release":"19.0.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.9.10_1655412584236_0.33552631962058554","host":"s3://npm-registry-packages"}},"14.10.0":{"name":"@adobe/helix-cli","version":"14.10.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.10.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a8495dd34351aaaa5cc2d6b454c8f28eab6580c7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.10.0.tgz","fileCount":32,"integrity":"sha512-zqcDoh1Gy2M1CYphOJZ1xzShJSK6LBEXIZaQfw2WdUhgthUGdp3DYbCdkbmP8AZuVVDm+LwopmJOaGEIVm7Caw==","signatures":[{"sig":"MEUCIBTpgtmi/K9tIDyNZ7IYIqPYFBRyZNklg2vuk8+oyz0nAiEAjoLeEoIRxo9Q0XBXScWg3OgJH9j6x1SXz1s7rpx8DUA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":314876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJirFVoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpS1BAAhtEDYABiT69urKaiTP6C/HtnhU44mofqnLXqglWXGNeynRQR\r\nATLzhCk+CajNI77wQp5eb15ms/X9w6l+8CSP5EgcdIEl4r3enEd2tJLScnC7\r\nVzQq0p81AsSlx7pTZ/v+i1Tkyh5apND98JAf4SowNjrMujbfltQI2qfSjs70\r\nxGT7784XuLjKi61N3PWbynCSDnM+DJ0ibE86s2YgcMn6eIuI/oYnQ6JNfgwn\r\nrg0fBWOWPSB0fPxWgXmZpZ+mLkHH9old82jFUGPa5mAzOVxn+qVdRfo6lflv\r\n1ZsM/ofBFxq0no5KwfSGuygwCcEgyc36rGVsGHllh08P81wXQdyjN0RilkZO\r\nmIZypEwOTLO1niTnxWv486+EfrHk6ZXNdzuyd2ry+2ch0K/EXoqxYNfFsa2M\r\nB7WwKHtkXEmJuc4G0m549YKBlj5IyzKl+MaiTxdT2ptF81RhxDEh0EBkjf7a\r\naVPe31pWkExCx8TWzYYEybV1tfM0ZJ/9/6Q7Pt7J31yEqRnD5jy/ElNyxjkd\r\nmmwVQ0gd9f0JD3qMYoWRB1G2tbWtaDIf7D0X8xEHx65scfOZ2KuetmngcqBx\r\n6d0N1FEoemTkGfHbQ57h57+MgpsbX1jjsRuvLSicqaK0mZdcQ4bcibWSMVSC\r\noHJVkNQ8dITnWI7bMZ+XIr+3njyrlHwjSu8=\r\n=O2R4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"b867d6ca7241c82dbfa0ca34f2ddffad66d479f4","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.11","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.1.0","@adobe/helix-shared-indexer":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.6","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.17.0","lint-staged":"13.0.1","semantic-release":"19.0.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.10.0_1655461224173_0.5726133086417886","host":"s3://npm-registry-packages"}},"14.10.1":{"name":"@adobe/helix-cli","version":"14.10.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.10.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"0c98aa6ed22fe505831b836b5ff14f909381b0e6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.10.1.tgz","fileCount":32,"integrity":"sha512-JbpttQ5RaNjB0/8KU9c1Oe6nm1sxmx5ckGhAZNJvtY6YrGxOOG26tOwltBqxLuP8gXN81SRwieSxGbTArmrSdg==","signatures":[{"sig":"MEYCIQCgl1e2apLpyITDavTvQzvCx5rZDB6V9So1wn2IHAAQ6wIhANT3thgUJ4EtaOvInICI1DwMAQ0I+U8iUG6GSFhXZua/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":315205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJirZNUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqzqg//QBLjILn0pIl2iKY0RhyQjd8TzisdKz+bDf4UX7p4oPO72Fg2\r\nT2PGKfDsenHSUvl04LsVCbz6KTkVfbnRRDZSojKmxiycITXAtFAlbZoC3VUW\r\nM1rpk2yViUOulq/4Cl+iS7WZY7itghljwktjcBdJCj+7UFGzCjVhWIuvicOc\r\nRj1kvc9rV/zGF1CL5zrGBBnxgLkX/7OrhCM/hOm5HT8zMZ0IWSWP6uWZ2js7\r\nld7uguifwMLanrBy/3OhWlpc5ev23C2zIEHB6K5vXYt07kyq7HJdEzZCngR1\r\nppFqlfuj6J1fIkigUzOhr66XfnHuL1Mnd2FcKeHEO0xPnRndghvpSrjMD1gh\r\nSa3A129lWMBhM8XrMIadzH9qL4snfj0ASxuxx/JsxCCzyNBLfyt6yMfTkv3f\r\nlCJK3ofMM5J0uj726HH8M2GD8xQd6l39LzACPT9WVR1CUgN6rM65/dJgb+yH\r\nJtv8/mFygtDmNGqWJe3wegwXaiXOiT/jXpbIztpRPdcaDL+2o6/1PmjTHaIF\r\nXmt8hVUqhDFXdw11NbjMSC63IsMsW9fCgUFfuLYB6sAyz5N87ltSdq6Tx9/0\r\n1yJFcHLRaEsuiCZJ//z3ScDxTcyKeJhk6rwpkOCjNdZgmYHQ6XbyoM8NOPHu\r\nepgJWLDf3MMw7oH2Uzqsi/bCVOpe1QNd1yE=\r\n=iYRS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"1d2c5a2b1f08baf1970f91f08819169de8bee3e8","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"19.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.17.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.11","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.2.0","@adobe/helix-shared-indexer":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.6","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.17.0","lint-staged":"13.0.1","semantic-release":"19.0.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.10.1_1655542612143_0.09771329490964042","host":"s3://npm-registry-packages"}},"14.10.2":{"name":"@adobe/helix-cli","version":"14.10.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.10.2","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"402b4c8e4b0cab6e6c820dbba833a920d8dab8f3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.10.2.tgz","fileCount":32,"integrity":"sha512-IfiF33MOkqd1p91tBYPrZm7t/KEEyvQL5Dy9Fo2WNu4BqK21WUNm4rRRDnkBtvuRxBeIJ6WA8I49IW4q51/kOg==","signatures":[{"sig":"MEQCID0OSRMcGjpCR2Mn++feNjQvILyIywSz/aU7JcIzRmjPAiAsnXWipFypTILbAwP5e0ryzNHcEYrmp6szDXsLd6WGSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":315510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitUOPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmohMg//U999N2BKgPtc+1DFal3LdXH3KwY0/PZGBSZwUrlKRn9FqL2b\r\nEeNK1xSGxPbbtNgcFzfXRHWJeS30QtpmNJNvySEbzriLfjYVCspVi5oMfGtq\r\n6TZkB3vADD2o9v9lXqQwB5BTEgXOmtz/BSgWUopY0cIDzf8TLPtzoUGZEIKi\r\nLvePu2yg6E2weiVnk1J4FujRr6jknzxLdk4dSYz4Wqx+dh0b0AOk0QzeOQ/6\r\nyHBkMlbi9fgY/mG8GB70H0ivVUaibbV7myP0dN9HStqixJl+/srBhZGcfekf\r\nLSkyoPmZixrwVjEF8PhQUFNsAd64fkprAgLkEX/5vVrvba3xeIBIZPik5uUe\r\njqIOIk03HQvk3JMvXeMzwueUVWedgrZ5qK1aQdBvEEyr/9cTSUc+bZOQbkU1\r\nbn3Y+cP7smKFUuNFepk+gHKXy2n9u8gkLHSSWQGgJ0Xm+W3IFJiRbRSZxosa\r\nSbadrh2y0zaW550tQd1qe0NlOo1B8cLlB0T2EiqJUHe14IRSL8HzSiToUbbQ\r\nJo+zzmgnMD5PTIKPGQeGTQIqTnz+mzLpw2SqscbfAecyEyBrK4krjsPqV2PV\r\nTtcqoABEWFMjrLMdxStnG55YPoAYl5Vux/gfnyqbtneatOkxmXfE4SKHvDN3\r\nt25wjeJUrZjbPBEGQDg7SMvJKWzDK/BAmLM=\r\n=9ul+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"efdb69b724cf567b77cb3078a326a0f87f056ff3","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"20.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.18.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.0.11","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.2.0","@adobe/helix-shared-indexer":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.7","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.18.0","lint-staged":"13.0.2","semantic-release":"19.0.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.10.2_1656046479277_0.33399711806998655","host":"s3://npm-registry-packages"}},"14.10.3":{"name":"@adobe/helix-cli","version":"14.10.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.10.3","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"31a61691df7abbbaae9e9afe03249afd0e89be61","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.10.3.tgz","fileCount":32,"integrity":"sha512-vVrPneJ0qXAx4rjlskp+F/g5Bbhw5InnCFxs5pFmMSeNLBVl7YR5Dyt6rR5ABvm5PC4bPOiBsuvVZaPyMW+ydA==","signatures":[{"sig":"MEUCIBrYIlbQ6tAJ07422rg2mIbp2eYj+Ss0YDUXH8E8vcA7AiEA2uL4InRsJ2PkWPX2qTAC7oIOviSJkUqS5fCvbG5kGx0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":315772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiu5N9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoyQQ/9GXR8dU9v13iinSe03r8OFsdkWwWqvbLXeutZGR4HGG2A/77Y\r\n7wpELEgcFihvVReGD9cRmiLzw+b6NhQXQpatFqVQGetTMHSGm24iJavE3adb\r\nDvGRO8S2pwrdVVAdOpkY36KCt9u++99r3LYWFZXxzy6t+HyYeUSSFH/ebZda\r\ngVb6BTK0KJum8IqEkZ/me0TMRzbRLsgz+fOyUt4HPJcPp35P4t6r1nrqNsq3\r\nqG/JBNCQMj0QZWIQPKgPLVefaMaHa2qzRuX4P+wtUE0rCfsOGQtzYgVKbYP+\r\nXdweiwkDENwuxTd8/AvNmuQAOSx38ZEdO12mFzI0nl8QesdJXZO2DSjabQbU\r\ne9GPg+StlX/qb6hV6WNA1a3ksjjXqI6Hu++Uz+L9rDYKvwdh+TAWGUdfnr2U\r\nffcOWgauR1HE9zaZNef+RMp/WRAHCXi8lFlcOufrbO8Qkib5a9+cWunVEXvv\r\nRDfrPVSv1tHY/1zSbMP1WSNYaVA1yDNmEDwlsiomeK8tiyVv+qbmaIjV7qlz\r\n7cD0wKpnEJLyO3xfvyHJCGUhzbTRDs5r1ZcAeyl6NeXoeTbpR22CAK36ctnw\r\nBOvT+STbTnjMfv6O3B2a0DynMbXijeY4Wtd0g1Q22+AC3K+ti6CXf2FEiXHc\r\nY+822H8NUH2d6Ny0Ogt4s8ldRTjrFvv3/KM=\r\n=DWFk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"e4ab1eaff0b369ae04f45ae811d9d3381decb040","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"20.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.18.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.1.0","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.2.0","@adobe/helix-shared-indexer":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.7","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.18.0","lint-staged":"13.0.3","semantic-release":"19.0.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.10.3_1656460157424_0.14761610504084022","host":"s3://npm-registry-packages"}},"14.11.0":{"name":"@adobe/helix-cli","version":"14.11.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.11.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"5234fc85e245c8ccc1e54ba2b5fcfabb9a54aeec","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.11.0.tgz","fileCount":32,"integrity":"sha512-6xmX/bVSVUJZPnhd9lh+Fr1WI8BwDwRR6srXpfBLKgwgIuBc6N809GK3BAQREGp35Gu7YWjBrF9L7yJpQBwg1A==","signatures":[{"sig":"MEUCIQCUJgEpuQ81A5OpqIQTqjjzGH6v6TibnK/2ESckuNgjYQIgHp+MidzIy+E6pgN7p128kBPXk2HRaWzJN15fXzBCqd0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":317892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivFcnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvThAAonhonn5Pby21j0hh4ZD+4KiOFxvlKn3vRtIVB+PEG5qXzMhA\r\nec3itEHZPb/MXuEKZBSxRzJjRmTJKzUq5nhfPODhGp/l0XLMmAyj4/sCeJgs\r\nu8pQehMYwREnLf5iR5AN6+6NDGhb+TUAshqfXIPwLoOlLZrMDfbnvH3R0zeg\r\n+nn1+0mDq1Zn0nhHuKmRnJ88yodknRnj478RT+L5OrkSLevWSKb7GABfV0ZM\r\noElIdib5QTQQUrR6TsZnQkspe7rDb97950WTW4qeyR7nUB6o9cJcBq2sGlic\r\nupFcucraKgLaeri2+JvUJ6xsVxeI/x2pODA4Sq4XITld03KiX0j8YavY3GIE\r\nJMbIgdM3Suy4NuFeWYx972cCAvSHe2s/ZEdRng2RNuIHmXCyogqJQVhEKQWp\r\nJiJjXRQZq6PdhUU6wkXIFcf16LVj0n0Z2YPNua/9FvblWRHadv4WJNq4mrhR\r\natg4vtKkcGQtRxinMizVgJbbPzUDxo+jOVsgZ4ASVBvIsge9N+GGpM63QqHa\r\n/vqszg/rQ4xNXJSLKxZW6wvQSGn75EoSBShJXvasF0S+p3UnG9PhKyJL48Io\r\nyVFCoSxW7+a9ZLnvAk+6vmcaXMYV68HYoZB3WcoX3PXFEBtz0TVIb9JLfcp7\r\n2Jv9gAHUdC0c5FjKWaOOmwiEjBN/B0FWJJo=\r\n=csAv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"99d8c5d6c035402cdea99534d8fcd77de14586fa","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"20.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.18.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.1.0","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.2.0","@adobe/helix-shared-indexer":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.7","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.18.0","lint-staged":"13.0.3","semantic-release":"19.0.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.11.0_1656510247415_0.427800747978587","host":"s3://npm-registry-packages"}},"14.12.0":{"name":"@adobe/helix-cli","version":"14.12.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.12.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"dd8df881b5e2642fcdea93c86d5ec50235d0daa5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.12.0.tgz","fileCount":32,"integrity":"sha512-rYQWGc/qRfNMYV68f1g/jpvu7zOkkTmYlHa5hYkBpOhSYvbWC250OfmMtKk9iIbS5TK8yotOnjCrfO9CMw651A==","signatures":[{"sig":"MEQCIBfEpJ1cis51xmd29I+GZXF6sXE/6Uz+UNzdVQR/7W7GAiAjHxdW4wExTa1AnFn5v7++D52jZ4KCaABj4khM+dTzDA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":318310,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiva/EACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmordQ//ahZg3rmt3FxRFHayRTy7YoRB5DKa09DC5PB0iMDRkCwXpRuf\r\nMOpNaadjKD4/qXhBaCsuG7x3x5DBiCpliRz0vlTfXMBg4YP2QPQCZiAKNJYG\r\n5+c7DkWNDAe2U7fbzhI76pvqfTVT2jwM6Lquw/KoWbd/4Wu+tPztKHuToAhT\r\nq8V8XbHCy2AxXcGmwxOxV5rB6q1389e2oOex9UVW39HFqEGOhPqPnMGGx1n6\r\nrlTzvgl6DU6rGE0f0mHD02VC9QmZf/dRIIEEjPC8A8ZdbBTPz7rjr+FCoyUy\r\npER+RwClFXDVcSvu+N89W6TUXPb/kyl1DIXKCYGLCYWidgTa0SInRqlISU3h\r\nDMjzKUfjYeF5lmd/D8Y8UFElc5YBtNUeIpASEuFRtDYDgVVl9oZgpwOREFyd\r\nkvDvoGPEpDa/dju+BTqve71q1PJYDJYUuJLY/CkNtsGdKf1NU17IfE6r0yer\r\nZ5qY3EYFTyiPiwRbvhrXEwuT32mUDPMPUuHdg+mQIE0z6nl2CBfp9Z4M19Rs\r\nCeCONZ4x/kq3edn4s3xyvpl0xIz/nUeSyqrJQsDO2bvGMrJ24ApbhI5AaC8D\r\nrMtq2TjLr+Qsdlv6uBmODYCh9gkp0J+bAThyNsUxYWNWoYFe25UHZWas8YGI\r\n0OafGwJK4HBTYIYwytkQFCdlLC2sxsm+9z8=\r\n=pOIE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"b2a9f6b28712c53bd3912300985fd63f5e2f88b2","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"20.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.18.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.1.1","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.2.0","@adobe/helix-shared-indexer":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.7","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.18.0","lint-staged":"13.0.3","semantic-release":"19.0.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.12.0_1656598468659_0.7167671758738681","host":"s3://npm-registry-packages"}},"14.12.1":{"name":"@adobe/helix-cli","version":"14.12.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.12.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"abbb6a29237c5e36351bc9852c7edd4b1bc2c1a0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.12.1.tgz","fileCount":32,"integrity":"sha512-OUqaUUX7TcIL5D/kJiS8Xba6lTsGiWUfjKnK2ky/ERe7jcBLMi8EesZYFLzQ0AIJZ3eXMA/+EtrucS0RynuijA==","signatures":[{"sig":"MEYCIQCBtYDnt8XKs5jkMyetOrkqtYSNQrmLOT1Tvh7UmmXK3wIhAPegK2Lq+6QH+CesIdsHUb0H/j7Pvt5WMkGamDNNkvks","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":318582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiychlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDGw/+MzktvSq9KV4PCRrj3ChN6l21jJTKLKqognsZWT9i55Q/iRJw\r\nMwmSlQe2QOBOuoh/zMi8eSS2L4ZwPRsiEoE49vxJ8iAkcEvJLfncfe7D5oLw\r\nnMZyf3OdPcy6fDDsMU88fI46wSSAsHNp47V3vO2D3JJwv6XLF03lNK8cD7MY\r\ngHF991dCANwPHT2gu8DwP0WaTgw3dkdgQxUrLbI5rDIIzxG53SB8MBVxyKM9\r\nhqBlSm9afLOB1C4aP5YfY5gUcb7qr2+0UUL+JYEexfQGj3d4P761ub0ItS53\r\n5Q++fPFSkSqLZ5nOejG1qj93/ysew9/UwMJPwIzMzJCUDKj4SWmfzlsjT7e5\r\n2W+LahU04kxCyBMRsTDEubkpgvknGnHzaGCYIQUDKk1vE9+NRO388rngdd5q\r\nCyWaKpzF72Q/gtf82NPlO+GC/FwY7tVE4evauwgeKDmGz6Od2Y/S+Mn5pC7C\r\nwQVO0BTJ71ASpCQYW6o6rMTVULIfnBgF01R+PXEErIVSlRYO+aYirrY4XsQY\r\nOyGh/tPXfZi2kHYTZuWUV5nrLEonfJ5xxYzvCyoJ2acXgQZ7I+Afst0hb2Ez\r\nJbeGuUpaAOOrucEcnF888E5Y8R8tXekbLW3YxgkNDRwWJJD8UrekJXgR/5Ld\r\nj7OvOcaY1KTlI4OjEy79LaNbx/oy7+fCQz4=\r\n=Y9U0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"c4e968ba0fc3cb8dde38fd19c4ebb90aebda93f2","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"20.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.18.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.1.1","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.2.0","@adobe/helix-shared-indexer":"1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.8","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.19.0","lint-staged":"13.0.3","semantic-release":"19.0.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.12.1_1657391205566_0.5948769900139845","host":"s3://npm-registry-packages"}},"14.13.0":{"name":"@adobe/helix-cli","version":"14.13.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.13.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"c61a5345b84c0f552e2b85998040f0eb84876447","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.13.0.tgz","fileCount":32,"integrity":"sha512-PQz1R/Z44UnhS4pURpx4H9iCco5YM2RvBRoXmMtlQ3QDbrl5Hv/MImuPxOHHL/1+88dXOOfb/bgg3AVvVp5KDA==","signatures":[{"sig":"MEQCIAOMYMbgdrFBHoajYeVdJOu9HsFT0SI7SzQELmDBP/r7AiAypQW9r6LadrztNs+XznAW+/r8enFatsv8olWZAaB3NA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":318907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizEu9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoVlA/7BjFif8jsaH8WcYMFWUnPr82iBbiCZMHDLVqEKT2XdVhMuqaw\r\nuTK35e5zKX4AQQIJEQGj53sLgDWElNKHFOUrWazfR/NH4T1T/6KtLABmJwAz\r\n8+VTQW4mOzg9XPlB4NqX42UAOsUtS70v2ewyqgCAGaHaHh7iyr1g3A6KVbVu\r\n/XjmuDAFc0mnSROiZJIfy3SOSE7IQ+GduE6yySb0dtu4+GaKDYiZlkoXH4ap\r\nZvQQu8vDp8E0/K7WK3oJjkIN4020qVV5S6EpxLiINdyX7HkggP1bTBovcyx9\r\nN6nLxMjEoXGXxmlWJaj3Om2VBj2o5SFB7NcNmhlnY1j+oRQpLZPNnfuwOuhF\r\ncWwZuiMWVxPJIfV3zoUHtieeERXvbptFMNIKbQhONoYIoPENFIprAS3zMwYx\r\nppwEKLXbe9slyi6t2+zzG82LpDUIhvTv8CA1PA/3DbTeMqEZ5Wx704SFVMmt\r\ndSGeU/JXcsSZ7S90WjWUwQ2vdK7uqYdoQodCyCKxqBGd5R7hjrdR5f6nAzna\r\nL3A9Vmk+b0wcZndMDq5hwbC0w3Ic9LTbNYB6a1enM8U6yVpsJPPQlB7cf+o+\r\nTHdIAOn+MZyvaf8KNdoGY8DtfDP/l7MbD/mGgfvit5GmE+hLgPqasjsNIcWa\r\noq/OAdi8mlM1sEkPKPqWn7lLgTIM7hJbj8U=\r\n=Gcod\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"862911d496f5cf075202059e105b142854324b8c","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.19.3","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"20.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.18.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.1.1","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.2.0","@adobe/helix-shared-indexer":"1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.8","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.19.0","lint-staged":"13.0.3","semantic-release":"19.0.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.13.0_1657555901602_0.08995914244561809","host":"s3://npm-registry-packages"}},"14.13.1":{"name":"@adobe/helix-cli","version":"14.13.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.13.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"18eb1a073390f2fd9ccb17ad0cc79b8f45859cc4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.13.1.tgz","fileCount":32,"integrity":"sha512-clHzRRehp3QOJcH2C4GfNoFHxpn050SINkUqlSbYoAYYkHof04KLjCzDrrG5XyE4Cd3MA2THreuXfEAexz+PLw==","signatures":[{"sig":"MEUCIAabZ345BI8ozIsDoJh/iX66FtVa4jyT9CplyDdVK1eNAiEA7zQK2JyrEAzL8Y5nObliyd0fY82eqeNNieE9j7zHDF0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":318338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi0AkIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrcXA//WHhNklSN4EIHIWuQAQ/Hmh5bKYYSvWA9XTdHRRJYKMq7yHbG\r\nmECfOm93DUe5SRwbM6QEBtCKGhh3DoGaU2arKeGWRl0jYCKW7tLU/W8I7gW8\r\nYCQuDVPRxvHFB1XmgbBPRwrGk+A3Wo9AdpmTggFeYxQNRd3E4JAW0yHhyEIo\r\nL/mWYfcU9WcqG6UVWIFIe3tGizjQg0V++0tCqOvfR5ivDRIbRxKgW6qXDS0H\r\nZTwsT62Msozy1i0mNLzMsV4dkR8liELoEgf3zy7skiO7/n9AZrk94BUqOSYt\r\n6rj5Wd68DYRDdHpGu0I19lpnGi5BZNoe1DICN5FGt9nosMjrZLiMJVwb66Tt\r\nNpGSeI8XmGrufKUxFsqQIuHtO1HI/GPkHZUCno5XmfFDWbkeCB0ueNARpg3T\r\nzqgphpydLFs03Ah34+rdOtNJOjPw8ltJWG3Bd1rVGIbrks8Swojt9H6ZC1yK\r\n67t7uOHwoMTDM4op+5V81sLI+QBwsIfCvOuoWT833uaVSs/09IwrFnfOmu18\r\nVC51BLgNuFzPHPKMTWjpvOE6jU4FR1xIsewt+JjWxpyA+vqs3Sr1x0bdrcf2\r\nVXC7g4l5VOBtQYd5RGWLDLpSvFI3r/jtPdzyQxQpDlD+X4uDSzwKYuFy/MbW\r\nQHaH1cQ2+HttWaaDwqiBJvzrC4BNAWc8pQM=\r\n=EoeR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"47eff2d601337799fd76eabbbc2562db5c2d2147","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.0","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"20.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","cookie-parser":"1.4.6","livereload-js":"3.4.0","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.18.3","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.1.1","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.2.0","@adobe/helix-shared-indexer":"1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","nock":"13.2.8","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.19.0","lint-staged":"13.0.3","semantic-release":"19.0.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.0","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.13.1_1657800968626_0.4817244198145534","host":"s3://npm-registry-packages"}},"14.13.2":{"name":"@adobe/helix-cli","version":"14.13.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.13.2","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"94a982a9f00b7ea5892e2d57ba593690bd3f01a6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.13.2.tgz","fileCount":32,"integrity":"sha512-eX9OT74zqil2dEfxz+GROvdnY783dAf2zMlzqziQkVOb7blDGnhLgQWjBZnPlelVuxk6KxpaJvSGXCahLsBVrQ==","signatures":[{"sig":"MEYCIQD98p3K6yxYRkWGfNrOljT2VhyuQR3bi8yokU+XoTnbNgIhAIxbBX8QbmlRt+GXC5dDHO+LXTl+ch/vR8n/CFeH6SLn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":318601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi78L+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqyxQ//WGS816yarYZxyuE65DQq9sJ0JYQZFpQ4frkx7b58QX3MXARI\r\ntRVHm0JemhKHUw2ar4/vlZzmg3qJU11mmqoVmMJtE4DFFHWZdWKWcKfiww1J\r\n68tZI44BV7nnfKGZwGzNHLeNEPQWkcx1o2T2hOIrdeLSCy/KYKok0dMZAQzl\r\nQePWLaj0Eu0+dAGhO+6Q5Q57AsjuEbiaHCfw0r4fhU5q17kGjrUF6XQ/LTwF\r\nVP2LoSUT/qT4e8W3zc/3+USWKMhYaGFAScU3crdO0xjDMvx+8FId9pyxfv0u\r\nRrwW0TdTCq86VFHh46rU1FwE9zp9zIo0qEKQub6Gkyj7jx8jVOJjF+0uHvWw\r\nhUCgwa/JyqlD75ZY0Xt4QDehnMslIN9itPNJZb8K/qR8I0xvV1p/egb6DH0C\r\nNw0uBqnPuHSruBKo5eapoQcColNHKN1Cd2rOiPfGTMk6hGj6FxJ6QTHKEDWe\r\n5rW0LhpN+V0JiL23r6OkMEfU9Oau+bU+vpGXE2JNwHo1s1JrtvbO+IUNw9Uw\r\n33S+C9LPyvL4o3Qs1+W//jJy25Kl+bmxCN2jyuAHO4E15zbhQ4UdZ8xsUfSv\r\n8eFAQJBEy5Q7LlV6AiBfCyh5dZhJ5xUp23nZY986TWV79Taiz46xvUaKzmwR\r\nXfQn7NkRLjiM/TYPh1D5HjgZgkSUqJZH0wE=\r\n=iGiN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"88d525a7fbdfa8e09f251242a38c2f698678a43c","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.11.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.0","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","jsdom":"20.0.0","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.19.1","@adobe/helix-log":"6.0.0","@adobe/helix-fetch":"3.1.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.2.0","@adobe/helix-shared-indexer":"1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.21.0","lint-staged":"13.0.3","semantic-release":"19.0.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.13.2_1659880190182_0.6918810313143269","host":"s3://npm-registry-packages"}},"14.13.3":{"name":"@adobe/helix-cli","version":"14.13.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.13.3","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"e7e56c19da90876da43c32c848859c3671593818","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.13.3.tgz","fileCount":32,"integrity":"sha512-EZ61Afqfhd6KPPNl9Zr2XLeOYyX4NcvlxUwvjJ5LJMAG7qersFK+p836QCttezhmNNzVQPnbIXBMyk81OUYptA==","signatures":[{"sig":"MEUCIQClCDRIiKqI3JmliGyy0Uu8DcQrZC9qp4d5jX1XKO2B0AIgS28WJN1FYF3cIGmRVwBvMDk/byKTGgO9RV3frINLc5Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":320836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8Q/9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmokgg/+N/iqJQx3jhslg4tWquVfhhx4kHHWrQmFa+YjK/fVenNkYKWf\r\nB/1GiHb0fuon6WvCLAdN8FQq+kckIKSeQbKknSnJndehgs5rIsmApHHeeUzM\r\njiISV2lMRHv8tZl3rhPF1PpLOdTIwML/LlhYyusxn8RObufAwjLJgH4J0SFJ\r\nsOshGRK974vxdvMUGNYX1OpOUmE6Z0BRtci33R9Kplbcd9eb+RRUeSsjKiA8\r\n5zyPXIFAToPHIcaxzJWfT88IJqFyMkcoP86aoRSp4kh/gGzfy+n4OBnawslv\r\nDgGbgsfmEdzbzhXnVmQF96GpjdJICoCl9qyWS+vks7MCXLgmHaZ/8d1JaDp+\r\nMcZqIrWcFT2g7aomFKhHqafHTpx02/OQfGz2vn/dAA9gmou44SaZBFsmB6Mj\r\nDEihj5Rsud3ebpQilZ2/aS/rpg4jvKXaEnzQoMNuq9oczpvTOXDGLcLnsyGx\r\nmKVOMhKrzuC7B4lQpAXISw2IRbgV+UGWhhBx+B6OSqEHPr2XB9bv0juLvq+U\r\nz5BFLQAgejxbKaJtdK6ZmL5B5t+t0+eqz3NOwkfIUglc6LjjzjDC0DquZJip\r\nY95zIbCws2tCi0H4vI5qsktIlINmEZ9dHzFdf+gQgRG+0CV538K+7jcLLIr9\r\nrl/heT6BAwjFM3N1SasevfjNFbY7vCfYM/Y=\r\n=O4am\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"9b7586e4434d66b8e59e373eff7bf51b65431f79","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.16.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.0","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.19.1","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-fetch":"3.1.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.2.0","@adobe/helix-shared-indexer":"1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.21.0","lint-staged":"13.0.3","semantic-release":"19.0.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.13.3_1659965436833_0.3829183449329172","host":"s3://npm-registry-packages"}},"14.13.4":{"name":"@adobe/helix-cli","version":"14.13.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.13.4","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8e5e66e28c9022a39b36307031d1ae397c228a5b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.13.4.tgz","fileCount":32,"integrity":"sha512-U7QphtZgy7OXNZifoVOVdX+9pK/w9GP9nmthnUzWL9YnR3/7oQ5kDw5TDJP/ZIrSa46AWsCQCv3TX1Pf5m0zTQ==","signatures":[{"sig":"MEYCIQDT7Bx2yuEzIsAL49Fbb3bDBKzyBRo5Mps7p7GuAHPd9AIhAJl3eLxMbAvDZMItomin3PQKBWqKNcrgwgaRPdN+Y8hl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":321107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9qhzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGMRAAibSwO4SfooIxJP3SCXf1hCodRs17R9B28QVEKQr8efn9zw7B\r\neiRSq07U1Fa2SKv2oGTaGMgy1+kBqN1dsjzMN19bQeJgWj+w+KCyL1ihhnv2\r\nhb5bhhdGu/friVNH8LHvxeqjaHGStWhG04HI39R7nI1MDbH11AzEDfNvVY62\r\nKpTHdLViBYiN4g1J/ZUIaLgIhqOvG0X1vKAIu0NgDUV/H33iAf7lEH4HRc6E\r\nO72VeAVt+ydUDtUij7+d+LyO2sDogan3IFqkNRxGpDsjxldZ8miksWcMlQ6K\r\nfHfsx/1gONQO9yidZxpnOsH3KWukdwlUAUMQdzoa8bpc5UUoVrvGdTevz/8l\r\ngvFgKgli0RRPRCpEZrJNZiOzc+0mPQg73LB2mn7khXUw18ROaHMBy1pZt6v8\r\nvpfQHs73MlORzyKA7VnRaMMNeUqHieyuk6Bn1BIgj01DMdOe8gsAqSu0D4cf\r\n5PJg1jVgY1pEOB+98Gs/DomTPLYAPDoNHI+kX/GEyFP1LMItRWOlnb/5NcpP\r\nMcCBlxl44uMfplrxDBO+YFJQnZM5ZSvbgW8/hmupx8sR6ttXb3Ts338HTmGw\r\npK6RgTWLtz0u2nqIoRn8+cTfyD3hA7I0JgofU0bCPQMzPHI2Kbm2ZgroFIjW\r\nBFPlQIO699qFlXBkKMdFRlXLzpGbfaTwQVw=\r\n=IWUG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"9b9e171d4e53f5d52b1cd0d1922f3b3776c20936","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.16.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.0","dependencies":{"ini":"3.0.0","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.19.1","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-fetch":"3.1.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.3.0","@adobe/helix-shared-indexer":"1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.21.0","lint-staged":"13.0.3","semantic-release":"19.0.3","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.13.4_1660332147553_0.6087074312534368","host":"s3://npm-registry-packages"}},"14.13.5":{"name":"@adobe/helix-cli","version":"14.13.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.13.5","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b7f28a35c1110e6eb23323055f488b9b9b657252","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.13.5.tgz","fileCount":32,"integrity":"sha512-ItK3vpefuEDtDZ82gTn0yo3mwXwYfaEGD8/sc9Bj+OQjmoGF8NbyKGWrkNSerjQ0c7nRvcydeKjt+ubYrMbrhA==","signatures":[{"sig":"MEUCIFKom2XJ66XDpkOjw64pPFh1AjafH0SCThNDZ0AZ67wmAiEA7fUbq62/r3KpEDGD5yxLchHr8luL2ixPwcLKqupL2uQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":321421,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjD17cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp0cA//czjrcVIFH90RCbr2pWem4sQmMJ+pExXKlZSMN5SSwZxmGy03\r\ngLQ7ClFczOpkuvz6gNQ+EhSMCaiehiCjqrt8jw4w2/X7UkxRPZrvU9csac95\r\nCvjGBIM0856elmgzSnw3bMkaGf664Q4cJG4bzXiyn7UjsTNkzigSzumhodjS\r\nd4cmnX5NiYF/40cAkGcehbrL0XVimVjHs/6cRuNNIlHgcsGYqGnehS/aLUgb\r\npRt0Ixs4e7ZRdLaovdF/sw4heNAYNjX1eLn7+L1fBdbKMg6DcAaPYySPSzE+\r\n9w9rXGtedIrkwqykGbopPhKjYcVbCUqp/2b+hiJ210bVlHwz08H8PR8Zscwk\r\nl1c2uqc1t5dLUufWl0R+IHpNge1EYBiXWSR6mTAiyKmJ6CWr+aDWjyMzF7z+\r\nBjaQV8+IE+e23e1q+G/Opha69HE6sLeek7Hjps8XfCSZc0UtUkYfsPgTcWh8\r\nIWdXUaTQiyrhaMstTXj7LZ2SO9t4iv7QuXAS2nXbQAEvvBZ2q3coSP/fAVUA\r\nSPa1kZfjfAtyYr0NXZ2WhPQiEqpGQ64cG0phOA+9m8VPHN5U8h7p6XXAPDz4\r\n7rpHm7zYzZCLprcWxcBi+1ku3GKBtBePXNhRXjWUyxl9O+8yjXyWuwyNNPCq\r\nlubvNLO1mfiGg2oOVU4fbjx4KZikTEmu13I=\r\n=K50u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"7a631ed888a29f03fe8e0e09e1338bae432787f5","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.0","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","yargs":"17.5.1","dotenv":"16.0.1","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.19.2","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-fetch":"3.1.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.3.0","@adobe/helix-shared-indexer":"1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.23.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.13.5_1661951707783_0.16529052232373131","host":"s3://npm-registry-packages"}},"14.13.6":{"name":"@adobe/helix-cli","version":"14.13.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.13.6","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"816fa4f9ad464af1f1457a37d80e0722e20e9f90","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.13.6.tgz","fileCount":32,"integrity":"sha512-CEWDeXXGUe1Mz4VsJQxs4MQVz1Coy6R6nvFh5nDwxwZorku43VA8xZmm4qW6P1sXCpBWqLqDthXYrfMEw2XtMg==","signatures":[{"sig":"MEUCICvnMzvAYZAqMVtJh3nO/eQ9MPolIjA365uSPYJieq49AiEAkwO0DJ3Hb+5A11TAmCPliJ0MalWfSHofeJUNHVizpgM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":321659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjE4cHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrR5A//WXUVjWvZHmix6zeZVYtrZ+D2dY61roBcwdfM0kD7AYaVDK/O\r\n7UtDWH5vtoDQTAzM1CNCj1V80oGlAkQjsW7zEKweuXTt71O62LeMxmaBhUNI\r\n2ZSlp0YAqmZA3Kvgy4jUspdjAx5pRNuFRJWdL7aCTb3dc24wC7H8A5y6G5GG\r\nKNd/eD78+rvtWqQXK4m1PpgbPgb8yUPFT9+DKw2/UTm3cvaYxXshrbu10P/f\r\nmjWDOwN8w99EmLwjjHCu+ZXymAWOh/emge1uc0rhPF8/KuK7417ueqntnLnJ\r\nzoVVCf4HBhL0OFUpZNV9uqTx556ad2gpvRTmDHlynALvbIwtbmuDTAMdpFHJ\r\nLeoLJ1aIOkADXx0yI0GHDbQxIaU+O808NiT6IpWROkX2dXVFVTGMmMunFQfs\r\n0loY3ECi+ubKV38zGwTG8VwNYULY3OUO4G/LzGWjxYGgwb7+UfA5WRuAY+xz\r\nohGIrzwtM9wpRyXmS3gn5B6Nw7jquEW4bcvUyRoyO8JAoOR2PK9upeiC29K/\r\n5KQqH6l8N4GLzTHQan8MWqtePWMd2fESKep4Vbtz8F8C1EyzGg1Piui5SsGI\r\njnq3fyHLDulQss+vi6W7fnZgr7zdCFU9Tdd5qsUUeevphQnYRKMm467xT5B4\r\n/sUH/OxdBNZKdsHAyJZkwY/cYmk34Y4kYg4=\r\n=9700\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"143f37b938ad310de9b13522f369b8de5780c32b","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.0","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"8.3.2","yargs":"17.5.1","dotenv":"16.0.2","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-fetch":"3.1.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.3.0","@adobe/helix-shared-indexer":"1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.23.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.13.6_1662224135033_0.5283335433150238","host":"s3://npm-registry-packages"}},"14.13.7":{"name":"@adobe/helix-cli","version":"14.13.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.13.7","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"0f0a0e4269442300d9005f1dac4b58d5183b23e5","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.13.7.tgz","fileCount":32,"integrity":"sha512-eB+dOiP2yRpCY7yhg+ZSW541PVhYrXDpBJhCdWyVsprei0NABnYY70ElvyS0xXDFur63913fR9IxGgBIUx6sHg==","signatures":[{"sig":"MEQCIEEJ+Y+j2tl9CCV+iCCYZ+VzknGV9LmK4swDPclvSaUDAiB+YXB0oic8UciGuSELCns9wOXBN+NYBZAhu6v1Xz0qWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":321962,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjHzIcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQdhAAnOcjnCemwo7rjG8BbRYSMGYDhgw4fg9nfRPr6iCDRnuwSNdE\r\nhV13/LIlzY/JxWInO+5wwKdeQmmH5o8GKnAk4ilhsbXz9OPpDAPA3KS+e2pM\r\nhEqDrno0nWauGP/2rzUwpvDezKdFUi0phoV6kkYDZDNQdMZeE1MeWNOD7Sp0\r\nZC4xRwClKchi66hxTO+HR9gL7SsmbRIYpUJCF2aiD9k0+eMsg4Ex08C4ipY6\r\nJ11l05WQ6kegCAUuLr+sDfWBJ1JOTr9J5aXm5CtwwIeljsW7P4hD+wXyvFGZ\r\n66nDzL5n7+/vTdTK342iekU7XpVRJjcryriJqZSNeccSD9M9x1g3rmVd7d2u\r\ndj//KzzsJElpgntf7gBrOLql1mNOAZ2j5Q/H+6RndKmoHMyQX1HuB6401Umf\r\nhHgXMxJEek7QKowYSp2A0o6/oFrTdEzCmRdRnIoOaikcBx5NijI0sN6FfCt2\r\nbUUA/2W7GetZmbtGWHmiVeQV0uKk2AT/BAJe3mMAf407w0Pqcho97wpVE0FX\r\nKDE3F+dj45o5NoPM1JELNHpVtkPub5vNPCD+o02wj9+hjXFv/OccsPZ5gBKB\r\n98CYa3H8ksJsQL1dJPfMIgHHTy3LlpTJxoylDLSb2qcQRyKLK6i98vm/rGCO\r\nqzPJAYJdE4HugUooZStRvrFOnZwEqzugLls=\r\n=X1Yq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"4ab75d5eadda3b77ca13b6e948ec1e86abe17154","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.0","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.5.1","dotenv":"16.0.2","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-fetch":"3.1.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"8.3.0","@adobe/helix-shared-indexer":"1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.23.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.13.7_1662988828534_0.732285056509226","host":"s3://npm-registry-packages"}},"14.13.8":{"name":"@adobe/helix-cli","version":"14.13.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.13.8","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"fcf8b9c92e6f391d669a5ab817694e4917ad8894","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.13.8.tgz","fileCount":32,"integrity":"sha512-B0gkUZm0Sy1zHsOf5ACcyBCRtQhedYqOYG8Oy9rkvUmxYBJuGsqklCvF1QQQ0S/LrBPINZEqvgxLDkQQH3Yb4Q==","signatures":[{"sig":"MEQCIDZhUBpSJWDiWIuL3vfsPO3PcD05Ckj+c0lwXVKPh/ofAiB2pEqGzYAK+TNM74dxciLJQ4pInKTBuY5etxWtV0tm4Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":322287,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIYJuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqznA//fDStgLWeI1SsgpFd2fwU1T+bS44tLJIrcVg/l8mhMoh+UWV+\r\nfWEoOgQAF/Xt/zThOSaORSCgL4+De+hU9mvd4MAe2u3R7ZSiRwaPmF3i38K9\r\nKNseRYFU8zIFADq0Vk73FCMvjHxGU9EcxXWJkRHPBXTawcQyjUlpPo9Uj/qh\r\nVZNOwyYdJjgkQzZc/8WzuPDMBZ+FI24hqJfDnGCzwXJG/kD/K4x0/RN60vKV\r\ncXTbuaReTfpOIp58n4u8qXzVx1fbduQOTUj2l5dRwpdf5cDRlVHzjM2fQIHR\r\n3nvrRxIrLiiNh7qr579PEVtugcdR4woEQBczaZayUWEwmwgqwbgCPSrzhvHm\r\nTdE7Sr5PnGtGHtdOB+CDGwAtl661fzstWtKYewRJiepUBfUhklMDyR9svoLJ\r\n0CRR/Xm43qw1Vl3W0FCvCROW+8t9ygJMUyCeKJ2imiSJmRNvpGnZbmtRCn4F\r\noVOiQjdzkhND8w6SOmDSPwviSOE5YFksGjMfNetg2lL+eYkWxz92hKYyR67H\r\n304/D4X5dQh9iF26Yhs4UygISrDO9VpbwCedt+mo6g/ifSxpeXpCPXmzbc0W\r\nTMqwHI1tx0hVCdDf1KZ60xzzkHqMrSGwrkKRcgRO3iv3oisNGpAJRuOv6Yfw\r\n+f6bzBSvCyyITrR2s6v7RESlNeCngRBIFws=\r\n=MAVi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"b3fa8640dbfebcd40b4254f0656ab203fd6e3a9e","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.0","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.5.1","dotenv":"16.0.2","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-fetch":"3.1.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.0","@adobe/helix-shared-indexer":"1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.23.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.13.8_1663140462277_0.6639087051004757","host":"s3://npm-registry-packages"}},"14.14.0":{"name":"@adobe/helix-cli","version":"14.14.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.14.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1f88f06b35602328b79f31bb0bc364be45e58e8a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.14.0.tgz","fileCount":31,"integrity":"sha512-Bp7SNtTAt66kC1fkP15J0k333O0fMMve6XPBTbRRrkAnenoef3zewMTN+MheiBQMAnqVQqUl2WWls1jd6H6kkA==","signatures":[{"sig":"MEQCIB5c5pj1vLLQzPoWP97fHZ7pWeFq1/Kv9XVicfC5LSGpAiBhrdNYcoRj4gTyRwKZSqsk7pdHGp/Vgjw/pOa09FVdZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":319285,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIrRsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoWzA//ca/UfTRh2sGMnx16DFMB3bW0KkHjRafX6r3sD7ON3UTQ0rik\r\n0ht8E2jZ6mspjLBBh9Yr9PBeSHzGr60yXi6OtEy9ZX3RclSwSXrQ0o7ugmIv\r\nFTi6zYBV8UTcBofyUes36hv/Cpt3wl8uSJqS1Vru/B41YUmjh3eVXwi0JjOV\r\nouR9pLaUtkj8Lus0C3Va4DE1tikZQwXnO/34eryJ6qLTcB9s8G7xVC2puXek\r\nEDlrn/f/uoK4L8CJzaMNBtV3GEochZ8NbOQP6D2xtPe2TvMF1GNtbZ/MvCHA\r\nMtYRpkei9EFVCj1Hazf11bRkvLuj991tzzaO0ViKm66ugGtZ9kqH/XsW9Ho7\r\ndEqwrR2JFODADBE1xrZ8xm07jCaHosK5MLQWGAbtqh5Iquq3VbnAgyPJ/ZO1\r\n0i7wNtO2IZqhm8ocpXfueEIYvxugkpe2iHI/5YdAQvtyKIFSaEFxghaagZwj\r\nPDpAUaOeMN96ecj96Dmy8DTpFL7j18wG6NDuvQFK9tEeyc3hSUPOtibXbmFW\r\nC5odnaJTv6g4PVe5lTy0C5YN3t4rQ4ejmm4BeEB9S+IAuysKlhMexh/zQKaw\r\n2HKSqnbEfvvEHcHmuJ2fc2c7cTy8JVnR6L7lKI4HMCW2uDmL4/d81SSBRPgm\r\nJrioGVT9fQ5lUf6uElWVMQ0t9ByhTBEqxlc=\r\n=Rck0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"b113d0b6fbafa51516201ee9f0603c1ff7ef5553","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.0","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.5.1","dotenv":"16.0.2","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-fetch":"3.1.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.0","@adobe/helix-shared-indexer":"1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.23.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.14.0_1663218795996_0.6414165170233583","host":"s3://npm-registry-packages"}},"14.14.1":{"name":"@adobe/helix-cli","version":"14.14.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.14.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f8a39ba6103fdae0511a53d526c5ab3919d0dc95","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.14.1.tgz","fileCount":31,"integrity":"sha512-Bgix/N7pktCjwtn/XxqWKcrXvuuXy5vynUbl07IrC+dR0MU2GOGCd4hIstsWQzYK02mh2pDVEshdG8p9eJwMlw==","signatures":[{"sig":"MEYCIQDEAHaNpb3Q32Ck+gpzk7vGUfPuG7b3EQjgrb1RBxFQawIhANJEMLJW3P8yyAyJv9z2yNvFj8uss+NigyJsTiqLtvAC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":319520,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjL0uGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo/0hAAjap1ys0zR9DkuKuCoV3cxKtvuQakFUnrkbdyd/3x+yYSLZZ3\r\nLmfq+ADzgWzXROU4lbSSlFw1y529Vxeb2ndkyWAwKcpB0CICnQK4g8ikLAVk\r\nuYWaTEYUMd3IYSLHXVRZmZB3MvDlIRKagFwdfOMA/fj2k3xaUY/eXiO7xeeq\r\nIHa83atjS2D1SvUT3ehBg6A7D0tBR77QhbLYsCT9cuL49toDPO2JR03XmkmA\r\ngpFPZ3qKyV0SxrfT2MwBY8JMXCeB+beymk4VTgK5MsyNbHETdSlBg6EE5oXq\r\nCnCOyS+u9wQV3rrstUL6HyW7mjzyu3YpUBR65ylbsqaZejDv6nc/mHxoGnRN\r\n5IUHMgNx005O/D1cXMY8K6JCK/jqP3zDv0CR84Muls65oZMMfhqDuLa+PnF3\r\nnWJNcD+Ro4sJOuTc8g2tWxwc6sDfjJycLv3lw5h209RigASAnx7bN4kh/kEh\r\nDjWmoeMgPE47PPTHUAoKYQ7Ru5FNfU2vyYmt56yrPK0jodzvL8Q3VK4gSA6g\r\nxZ5NUTYlbmm14/hZgy0XaoOty8lAH3EVkk9eKs9QV9y162bAvqcgtlwGOWjb\r\n0c4+K54KtWw6tV0YwdnEnp9H+njf9fd7n62l1SxqYFItiwZg+JhDuN8pd2tl\r\n2eSptKyhSDoluVaZs/Bfg39GtMfeS8z2UJc=\r\n=KdDV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"a53f633565da423c6dcf2c3aebbac5661d2dfaad","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.0","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.5.1","dotenv":"16.0.2","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-fetch":"3.1.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.1","@adobe/helix-shared-indexer":"1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.24.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.14.1_1664043909816_0.7983805828317598","host":"s3://npm-registry-packages"}},"14.14.2":{"name":"@adobe/helix-cli","version":"14.14.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.14.2","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"05dfc43bf886b99fa48f5d5c379d0810b29ed3f0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.14.2.tgz","fileCount":31,"integrity":"sha512-+SuwoWJqLvABu7PvnTrQPxV27aI3M4ZPauBFUggmD1fWC71/DA34++ftc1Sg2jgSwx08HHx0jFzrnZaC0e04qA==","signatures":[{"sig":"MEMCID/iv/BuEVZqI8n4ZLxl1Nznx9/BDxlCYigBsBCpYhtjAh8JocR+XrqhUoGSAaTXVPgpYcmsZpHN30AoIv4yfKT6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":319801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMY3BACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmparBAAl4M8viGkXGd9tTiko8WVeciOrHesXS+2y9YkqqLCq1hYJl8J\r\nuN10R5IPrRQxyiyZWETbwDiFdnzZlcB1Tj7MJW0Khj2tl936yAzFHF6aoh5O\r\nu1Y08gwCVzxM11yefIejl0PAlhVkj1Xu5EDKi/HWowaa9ZEVALYjp5CmonlN\r\nXSy3kyQQzEZac0HT5IG4V4iRydGdGColAM4KSoCBc49D61BpcJ7xQguPGp80\r\n7ELZQ31NSrRC+l1wjVlK8rc4OYiwUZVGtW7UzXaip3SCt8at7u0NK3E8sga0\r\n1EaEGDiqGR3ENL6q/eo+/TydKmHfjmd0M0nGov8FO3UohauQOVwKMM9fRKLj\r\nv916lROjcNkXoBSETAyB5qPIg45q/eEyQL9IPxvRRbk7TyyXduP2Hy50VKoG\r\nkPLZ45uax1Bm+sM+WOzJDMHm2wVQsUxBhxsPLO3TUNmegaeTsLqsFcMrzmUX\r\ntr5btgZ2ipyg7oR6BwgNKxg22mCzS/Zux5Wsj0M61nzrJSY9FbY6oKQVw4iA\r\n33NYiKFuOeNEfe8zT6IeNnxDSDc6wqvxtY9yS9KiM5srB4KKXLZCAV6Dff/2\r\ni1D9nVRsOuXSehw65PVUIVx8coJTPLLflwaaIuAhmD/yOQLJd/FparDsbZNK\r\nmSyAYqywZVxAOA2MXbyWQ664eWNRJ0c8axQ=\r\n=wQeM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"85555ca32112b5a74a139f285af1b42c04da38ce","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.0","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.5.1","dotenv":"16.0.2","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","@adobe/fetch":"3.1.4","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.1","@adobe/helix-shared-indexer":"1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.24.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.14.2_1664191937004_0.5924133834555281","host":"s3://npm-registry-packages"}},"14.14.3":{"name":"@adobe/helix-cli","version":"14.14.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.14.3","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"5f2619321aa2b738c436fbf2c0e54397e582bfb4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.14.3.tgz","fileCount":31,"integrity":"sha512-+UJlsj0ugj89ilvMXEAnEO+ZiGS4W3wQdGFaFUH3hDu4mIbCi8okYBTyxa9m23FtEPqDi5EkQ+lIi4Dsb7RXQg==","signatures":[{"sig":"MEUCIE2p3AAXqwJXf/DEPrRop1/NEfplaUgCelJTx7GMNPZUAiEA0x4i3hZyXg6QzL9mQxEROp+Kw69V8S8WXyQ9R04qTEw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":320039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOHnAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8CxAApEsYiED4J1LZ7eYYIGmIOE1UkUknceEMrCAQyphVk9AaY7vQ\r\nZy5v53gYI14pNakBMf8SZDAn5BYkY//CjBC9ym8ApuRe8uADZknsQJig4Oyo\r\nuJOrhjETR+InBjygnwy85rtY2XmtYJT9wtukBjMQIawH3DKGpf9qopyR8aqI\r\nOvhFbzZQnp6fLnbriLKJfG6AMqklhCB8Y+s2Ste2oQfqLBSzTrUof0wwX9oK\r\n9kxZ3Qfao5D4BaRsP5kCfiYGg/A63jHeHelvjI/3ycFisxcjsSfF67A83LNz\r\nvODJ0ndphc/pnjl8rfNlJMxv3uNMzRrlGpeRVRzRuxwFg7khaFBHsUpFBqJS\r\nFu5o71IRMfyseWBgyc1ZgVN8WMi7eGgQL90Gd4dEJKF9ltsUrZQCJd51KG6J\r\nXGhOcIEDeDpEb23v2vbrw1CL2EWq/Vgd8Lbiz6qbdyOjQ36kyWq89JUFaYfo\r\nYqwuagguY5g4jMg8cNEzJlEJuBTu+JYXIH9toxTyQpCBtn2G/gR5CmdUqH+g\r\n22x8WPTSGhHwmGBoJ5vOtNKjg+yS5DJgnkmASeTXqURbG23GpALJgmuC4ErA\r\n4K+feW33eD1bvf+2edybnVpQNdyXqcK9FYozi6Ln0apI25k/7/T0FUQ6n8za\r\nbM54uZIv1c8LlzukVvkXxoxFTJHqrtOgsGQ=\r\n=KHrn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"1238814bbe88f22fc162ef23fb484409158c3149","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.0","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.0","dotenv":"16.0.3","ignore":"5.2.0","semver":"7.3.7","express":"4.18.1","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","@adobe/fetch":"3.1.4","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.1","@adobe/helix-shared-indexer":"1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.0","eslint":"8.24.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.14.3_1664645568382_0.987333202600196","host":"s3://npm-registry-packages"}},"14.14.4":{"name":"@adobe/helix-cli","version":"14.14.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.14.4","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"9bfc40bbc6f1b9c88d4627de17ff53099a8421fd","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.14.4.tgz","fileCount":31,"integrity":"sha512-fliiybi5PlIziP2WAlYwQ5bQ4aJhwNLtIIaLjNMQQxGxKskohFMRVx/qhYMGRZ91feCXJNnV0dgQECZ7gKzweA==","signatures":[{"sig":"MEUCIQDhT7TmBk8NSQbPejz0Y8AYBvJaeE94HbN4nJLF+kvjsQIgTQdBZQyMcEZ6O+K+6SukWtZ6Ldh7HeNWDR1V1iVofGY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":320292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQgtwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpLKxAAn8LQ0kgHmDcztgXPRu+7jP/+RmzuFNDRqJ/iDZQ6dBVIq/+/\r\nqW73TDCFPR5HLaIWRg0ugPhEMDprIAgk91xuLI9yBVQfzbZTrZsypJaAJ9Y9\r\ndPZOwyC0OdhVPtayWQcE9r6XJ4yyFqARwsV+5Krg2BPldw+ngm50nJwszI/C\r\nt66O8/kil96EpgJcmzVsYYbsAHi3RiHfmkqJn4t/yQwlcNPDVtRgMRAUAcaI\r\nrMfhi1ip22vl7ptJaxasv87KCEY0vvBoAux66WVSuovtDoenbgWSuKO19UTG\r\nungODN1Tm5/F/rfSwk8HC5aNB10c8WPjx323dWQPpZMsPlxKp3tATvads8mW\r\nPHTMS17BlanODUUMtrr9oscU68s/9nP+fMW59ac83Pe0/2BRqArvPOauZjcz\r\nxwIHf1sB6pR8gOQg2dUy+Y+iyppdryEyiyBh0Cu6fXVZtFSlSStjgNNnYri2\r\nfNQxEi/b4QRFvxiCHl+EmK3a4Cm/hHpTT9G7c3Dyi1IPxIMFwjLWJ/VGPF/c\r\nG06nkuXynL8ghDhzdEm2Zc8Kn8OUM4xgvEqn2In6iK+ZiXsppU5JJDCM9qFQ\r\nsFc6oH9kAxQ/l56lKvzG0Qf1dMdk77kD04mrHDhQoajTX31cyd6ZEbOcinfz\r\nC2qzgyySYihZDrpPS3da2ZwCRJ/pkSp/eyM=\r\n=SR/8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"3618edb09304782f71ed4882989818c8eb240246","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.0","dotenv":"16.0.3","ignore":"5.2.0","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","@adobe/fetch":"3.1.4","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.1","@adobe/helix-shared-indexer":"1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.1","eslint":"8.25.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.14.4_1665272688397_0.4745518858789588","host":"s3://npm-registry-packages"}},"14.14.5":{"name":"@adobe/helix-cli","version":"14.14.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.14.5","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"32a39f1bb20e8ba98d81846438fb018a2701a45b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.14.5.tgz","fileCount":31,"integrity":"sha512-CTXqvJPqGInEX2DxJ6k47QgP9QDRompzE6WwNrLr1angDHB7TlNHBW7F8Dr6YNDLZTbN6ThviMiUkaeyezE6mA==","signatures":[{"sig":"MEUCIExOV2jf5EipfkPewOR49qxdHCZ6QuD98tD5iYS7Hz0kAiEAzt4emMbGrj9UrSVG9msAQ0Y16gE/73Vpii0RVQ4h7c8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":320527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSHdTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrgxQ/9EyW9wgFNZQsHC3+dyc7Drkh7qxwYiRFrzJMjkyC1CToAATuV\r\nnGVjFXTtd6GpsHzVZOsxa9loGAh5JatOtqt1azmhfZj/iWnY5XSZbRHSonPl\r\natYuj2S2nTNguMRVL06VmyQGPZrvvxtpJheKYyymIdlFlz7Cof58LFiEH1uH\r\n6YVOTsonSeki321VL8cj2rxnr3eGEUb9+oVlZmkBWCYOi8H0KpA970MeaXjE\r\noDOuGkBlW1BaUKkZKYbRBXik3vbfZEI8xQTPxuu0rVa223TsfNJsXktfi7H9\r\nvAwULpBqAIjksPJA25MvRen1syb0l8Usj2xSMo3fRld0WLBKfKkwl4egFBQC\r\nkPOKQRKY3HzMbxCwrjTOQYdwvb7ho6vqqOarqACRqOGvyDO4CtrX1VX7pmPk\r\nQTb3qdZHoBBRjae2tcmi6Ghf19W/RaH2ha74h2TG255uDQkJbVNDlO0VKbjL\r\nqu5NuM2VhzCklFH60SccadxYLY6/wInQbcik4Ozuqj0sHhF/IdX4TDSwTL20\r\nF7qa6tBsKlfVefhb9+eiBMMVJpWdzXyp2BYjn+/fBJYko5QPv59lTI7e8grT\r\nw8ziIX6SJXQAxRzM5x+DmvB31DF7qY33c3qBbsw+kWlUZrMEpTD+4aLIYM5k\r\n+TjBpJwiflp5Q3vRZTj6ZrqtcTukPTTAK0U=\r\n=bFRg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"ffc95e30cdc35746441086fc1ec10525e71dc36d","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.0","dotenv":"16.0.3","ignore":"5.2.0","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","@adobe/fetch":"3.2.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.1","@adobe/helix-shared-indexer":"1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.1","eslint":"8.25.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.14.5_1665693522800_0.10577000077263365","host":"s3://npm-registry-packages"}},"14.14.6":{"name":"@adobe/helix-cli","version":"14.14.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.14.6","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"24b9a13319d1c473f4de5cb601a250d4da06c99d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.14.6.tgz","fileCount":31,"integrity":"sha512-7gsP/8CtXF/EbtRWeXbHvhnSOr6qd16mm9c3mqP09cLX7aDXi5zXyqP/vvVAs/3m3D9g/ysbU9pSTigBilFJYw==","signatures":[{"sig":"MEYCIQD7AXKReKCmCmLVH9n3c0FNSuJZ9on1mgFf7BdWhnsdcQIhAM8p8Cg9NkRrdxa5H3nIvHklJgggdLT4/03wLxwBnIOH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":320842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSZEAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpNBg/9FFgfAVGaxZjVraXzzd9wo/N58QHD7U4MsTw1/eg7gF6mB88d\r\nyaRMy8NgAhOZG5NbB7fIBuRF+tmXP48Cs9jBoPoN61lXESCnaU1UkrY7UAD2\r\nGqwuNa9YM5xCfvH3DrOF2pDCqhGD11O34WR65RxF0Q5QOm4ob43dGelZP69l\r\nGpuVTYQH7N680WgzROq4UtCc6ufNAeRHPfWWUA/lJOdshg5aag1Spoi+7J61\r\nTAujB5OxEhCcHPq79gpBsXK/o3y/wpuCnfVByuxL96WIRCgEpJJpS92H9/xX\r\nHz3JoeGAqaB2M19aI+9x9CJfTMKnCnHT4bkiZgLdEE1EAhDOHFS7E7B/5Go4\r\nw3ke/kovZU8XvIWxSuz37KAvAKxV25Y1kRb29BF3HbewNstU+Cza5LwNExmJ\r\np3a14ogWoUpumNHeVw6AUTucsX971VZXmkny483Ke9XX82qdSbxMLxHAAnvU\r\nPLYLCaDzpeDf2aPLuvfvaFAo+QvsgURyuDI24GMNywmSKyrnRM1TRGdgfoJk\r\npxSID2Q+And1SRqWdqo8rXllFzGlrG1sUh8ezXQspjc0lk+kz4YhLqVV4lBZ\r\nJHcWTmRwBqunUOdaaUwRA3WakZQVyGUhGA68WKIA0S82ti+xzdfKtiXBn1qi\r\nkvrxiY9LU7EiRx8CEizG8u4pM4Kja+mPopY=\r\n=tnal\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"45558e4c0273154a8d3281c83e1859c7ccd3d96a","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.0","dotenv":"16.0.3","ignore":"5.2.0","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","@adobe/fetch":"3.2.1","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.1","@adobe/helix-shared-indexer":"1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.1","eslint":"8.25.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.13","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.14.6_1665765632178_0.20599682120165363","host":"s3://npm-registry-packages"}},"14.14.7":{"name":"@adobe/helix-cli","version":"14.14.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.14.7","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"74c636066e5131c3d180adeabd391237b0a35e2a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.14.7.tgz","fileCount":31,"integrity":"sha512-cqrxq0Kf2tHs78iNImuEVOi9bC8Gk2QmYaGZnvHIAMqsxI+Mgv4DSK7u1W/RG/Mf8tlFXALqTA+T28r87jbTQQ==","signatures":[{"sig":"MEUCIDkSI95ILZmRkikDz91qZUcNFvU2B/0hssdx7+A/lz/VAiEAvzXr534H/vwFDPMk3dLOcIGSkOx3XqzoZbn4HDutBZg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":321248,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUT1lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp6ag/5ASrDA59Y1PWgm2v8OVjPGQ8dhR9ACI0C3Sm44mo3SWtCwLe5\r\nswqT4SjU8xsK3lx3fKCLIeDGHAuvxXTi1hEDZ8RxO12DyZ4T0w0MzBP/sINJ\r\n+EqT57yelklFZay1IoQiLctAhXYGAwEQ0S8kcabIErGV61f5qYuwXDJ0A25D\r\n28Dy3cg8o/0pjsRcsKpEAPtKJ1E6hO9+ZmSFwnMhibGVR9J6DZYNzxEGwMTj\r\n3XX/jslJt8RhQdS2KxGdx0P3JiAbVe1fxYG/k5POAxpO97yUARJ27JzZe63Q\r\nZeB4eyVhZL1ObMQpbThLMMP6QCHgYXZf/ncl42Lh4GpM2wxOAT0y5Dj/2XeU\r\nh+YfQFDLIuwmFmcZKnQPVyhzZbbu+fHR6aEoWbJ9XaBHjeybgaHK5Z8YeJ06\r\nayB7ELPkBLOOkdDeVdMMsYub5GlsXd4OR7DkGqm3BnqtmyZl2Yx6czparqpF\r\nFENHg+zXBiqwHEeZRrP/laos+JH3HbT/K7ZWi2EgGetnTYv9Az7sAt2QktIs\r\npqbcL2hp5PhZQwuQA6wCAVDzEKmGuXwvTCv4dLEmkrwM6oBSDsUB5Iwzw/bE\r\nWJT8fgpMdezHqAuveqtylrX71xEb7w0qbXvvOpldmtf4UMzY/7HGLryR0LSD\r\n9AHCjhnRx3IXhYJCDr+FaBd33bnKQmhH76c=\r\n=Ws1h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"d791af704a55cdd5fd978e0cf7d0df2a95dd2273","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.0","dotenv":"16.0.3","ignore":"5.2.0","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","@adobe/fetch":"3.2.1","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.1","@adobe/helix-shared-indexer":"1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.0.0","sinon":"14.0.1","eslint":"8.25.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.14.7_1666268517432_0.44431537421538203","host":"s3://npm-registry-packages"}},"14.14.8":{"name":"@adobe/helix-cli","version":"14.14.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.14.8","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f2fbeb221315b8a45a02577e6906c576eb1d0c3e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.14.8.tgz","fileCount":31,"integrity":"sha512-JM4zL9EruGCtsa1xsMhKaGj780HdNhofhHJEgRoXq1I5h20Y/uS17n2AD4GudAw+8t5oCGyoTwiUjkjB60itMA==","signatures":[{"sig":"MEQCIG0RC8Jf66xg4wz/y/wxdxCDg/8coPb1GjjzsptrfcNQAiBV12zqgwYMI0+BVjnPrBAjpuC+HVs0MWGSyaP8xUmp9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":321578,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVnP2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqeeQ//bjLt2x1378X5tJhe6kyDfLwgdg9eEqIWDpSZZqS5I7ijqWQn\r\nvQg+Wa6yCr+HVRSAmZC2J9ElkB/oWRmefXzLGlcrlbTSwKnpGNI0spg+tGUM\r\nnCB78xn7z2iVPvkI3YuKvLDsc8MDB7p43zSAIV8B/cyZzt/J67jeakApmvG/\r\nJMOFzFPAadcV6tFAartyZxBP7tm2Z+dyoFPHiUz0FIoLBXPAXVDyzWvXZoJN\r\nUDewNI25xfpyuF0vAnk1Nshk9JGLl5knANbvR5BMvjx10+dFVLIW+W+a2bK1\r\nN3Q9OwO/uAILBboQedNswAfROyVgZdyxk8TsA0aUA6QotADh613DffTN4TD8\r\n9hClDbbUn7JEfNt3fjodSDcnLMcm+4Yuh1gzqq/w9UXsCstVw9VK+f0JvVah\r\n9p3K1zQtp+yAUNVdj1hlEVyKpqmNo7eAOC1cVT6fpTWHG/OpDKUEOR+DNY4+\r\nF/FV3hUYmQMtrIE8P5XXT0tL+3fptwU1+t7H6EJN/oa8NcRkGqdJ7sEytj/7\r\n8Usiyh4TXNRAnwZXWLFs3QlWUrGjU1aMsmWOcbp6OAEn0EpdJWZcz2ZQ8o1k\r\nVoHbFOiH6b9EdWEGAhos15v/QnzCsHoMxwIQZDioRIzJJTRuHt/WHdMkmGim\r\nH+TO84cpTmMP181ZK2atgfPquPvHCbQM8pk=\r\n=xUYe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"5de619ff15ab1d698c38c81d855612d2c7998aea","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.0","dotenv":"16.0.3","ignore":"5.2.0","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","@adobe/fetch":"3.2.1","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.1","@adobe/helix-shared-indexer":"1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.1.0","sinon":"14.0.1","eslint":"8.26.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.14.8_1666610166725_0.7611141641522063","host":"s3://npm-registry-packages"}},"14.14.9":{"name":"@adobe/helix-cli","version":"14.14.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.14.9","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"07a8ced31620dd1ecb666aaf7e26023d77e02218","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.14.9.tgz","fileCount":31,"integrity":"sha512-Lrt/UlQZXtGPR7JTfCABAjULiiE5q6UFETCQSuCT0TCTKhtTHwBFKed7qvu6bQYEGKm1ZeVFzEAJ/UExIsgEKg==","signatures":[{"sig":"MEYCIQCUoF22pHN/ZXG85QOhiDBaOaDctDKK4MhAuQ9yQOEZ3QIhAPnEEV2FXN060scg2Ge6qxdh/FXY4TvcL9CKMAvG9Q28","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":321835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWGIaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrEBw/7Bfs79VkXcz1PoQ4wvdONJNMSWqR6y5JEIU0KPpHgYa3I76yd\r\nLBmOA48NeGbwpe7Ku2/OhwmSfLfpA7N4dV/6siOFJ6mOv6itrUwEUMSf7ANn\r\n2vKccYl2nYtvfEn+oGy+rx1nxv/wYwsEILzFpbUcXRJdyUJO4HAX2Pk3D25K\r\nnhGh52W/xFCZ+/jpNgAKBKDDM1ZNOf+jPN9CX4NlcSToCepZDmknLEshfRb6\r\n1FrSeNd4XCRE1WQRKjUIpb/ItsS6SuriWCnbrOEqiD3KSnHswSTuptf0UyEs\r\nfqZ8cwkrqb4f1vOfsWwA9wiSGz3nB5mGOMzGXEc9ag4LH3NGrXqjYOwcqI9q\r\nNbyLqxjIriTNwpMpWWxa9j3f3rXZC/3g+0wIZ+GUq3BK6oO2L1rnebGDgMVE\r\n9t48YVc7HwL1+Tes7br3D/3auHM1BgK8CEaj2CgIB8QkafM3oYwrXi+y78o/\r\nIOSfNLDM/w4gpfFkqB4Grb9maMSh3h2o6bWF3IvDTUWN0Ts4jPt3RKCFyz4E\r\n4SbBDNfjULhtL52o1oc+M4y04TW+305Uwxjd0jwRkR7gqmSFd0uFMXDV0dgh\r\nhtZr5hZqt/kHZT3AOZawr58q8WrQ3iW8NXEnfTOSre19nCwpnowBiHF1rEWn\r\ngjCU24gIJ4LdhXYyEZ6y5Y8IzHm3sLAHgSg=\r\n=ECqf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"47feb490909c25796b34a54d8333636fb60aefd9","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.0","dotenv":"16.0.3","ignore":"5.2.0","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","@adobe/fetch":"3.3.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.1","@adobe/helix-shared-indexer":"1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.1.0","sinon":"14.0.1","eslint":"8.26.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.14.9_1666736666665_0.11892128617235898","host":"s3://npm-registry-packages"}},"14.14.10":{"name":"@adobe/helix-cli","version":"14.14.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.14.10","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7fb745cbfda1ea48c50b2c7db9b2d9b02b5796c8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.14.10.tgz","fileCount":31,"integrity":"sha512-NxeMT/fCAoQR6ECiAt78w/vfDxtVkiRouMrc1Vdakd2EKGB4NP95SxlH9sD1h3mCV4iDXIzugZKtwCYmoH9zYQ==","signatures":[{"sig":"MEUCIC7VDHf82PDhAEis0llgLIi2cKDyKMH14bf2Qw0QHLJIAiEArRBnDZhD2MEk5qlprwEBs8866EbvhmquqfTAyERMJro=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":322168,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWPCVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqf0hAAgJzVNOGhXndSgNlGz8avTy44wGXlD+uDXxWesRJ/+wZSme1H\r\n9brtk96XyZg9VnMl+AMamVGXUm5zLEvUEDQVafwzwZIhLZrduyIYsVRHk4VB\r\nEWgT16gk/vE6eTYnZtW003YEPpwQk7Wj2tT6O82nqPT+TnGWPJLU1HJow257\r\nItyp7Rv/z0T3nyJ0MOK7YmM07Gd/QG3XlYvo/dWhoNlgku45GJZIEFx40d+J\r\nwlzuGaP85HzdR7fQExC1y+SK06h+PpZkRow4SDfRlzpndnxhBgq2388isRWX\r\nBZ7ZqX980GeqIjJF5lLU5OLX9tMBu09Yz4MHKYTNGN7eUW3YhiUlg84lc0lT\r\nrQNUfgK0vYTde/HC3v7tcKuObtcTREt6Za1K5GoeQwrGZDRniyXFo1s7z0pc\r\nAkDMquSivJItsM/WZAmesa/CFK4PovWiWK8GYxaLAW02YLg/WvHY/O2icQX6\r\nlvy2GmnqX7pLqTvxyvpFtuGGzQ+5lesbWTKt7wieyzly7hO5iB7/isPm3FBN\r\n/wj0ao11wumWK/kovlqc6oLxA/K7ShqUrrHe/peI4rr32PwwcsrsUwy2PAif\r\nsxQlplh4uPDMHPNmO2mr2D7KSj3b2vO2Ap1ULudRE1fpNn7NrCDZtybK8TFJ\r\nvkF8oEVHhEKlD6F2DnGR8f55tGKQK4FjxYk=\r\n=PqHO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"403b3e9403602fa18196784ef3d2eead6c592a7b","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.0","dotenv":"16.0.3","ignore":"5.2.0","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","@adobe/fetch":"3.3.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.1","@adobe/helix-shared-indexer":"1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.1.0","sinon":"14.0.1","eslint":"8.26.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.14.10_1666773140798_0.5988114582859347","host":"s3://npm-registry-packages"}},"14.15.0":{"name":"@adobe/helix-cli","version":"14.15.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.15.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"08da7bbacf7419f8acff935a8e840097274751ec","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.15.0.tgz","fileCount":31,"integrity":"sha512-mT5BtLqMUoX84SriZZYY0Lt5TscOwyEda/eX435HQs7pzD7kNcbbDGzUwX3xqaAUTPjifFrSSp32+eR8ym6nlg==","signatures":[{"sig":"MEYCIQCK4S/wLcYOBNKdV8NNuYHNVsWngmvIDPX0797KxuATfAIhAI+R5NHB4zLe5BHSYu/Z6OaRxs17QLlj/PGHCAOfA/Oe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":323106,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWjqNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmomoQ/9HVl4jmj5o2dOICS0jUkFn6nuOccROX5uDpAs/P1usP2nNz39\r\nA+V+Vldp5XefhvPEG7uJcOACHPV+erjX9+KuBMKlrbF4RPbqPkZ8DOFHFAao\r\ndLNcoVHTd2aVvPSky2c+ShemwWMw8GCZA5kH/CfwDLnn1AQzU/qEg40sFm3z\r\nEPLF+jqlRO+sqUa1gBDsQTDmYDidhiwNyQqcYjr1NySdxPg//DqCNRBWgIhB\r\nMkoAX1O/O7e+A7gC0PvFgw0O6cKvElrtdjLu1RuU0gFvrn5Ji6fjGm5c8/gP\r\nHem/pUlCcqBPzuPf9R71T4JwmPHV9pOgdIYfdEr9AVi+Q5tXym0ZT/WjcHfQ\r\nHWv2FbCwQiTlo95fyH5qtP1iOLgv+s5tblsOBIFkMVsUNHv20ULHVlPFw9lx\r\nHKZtpojyL3FF56cJE6PFE4gve1LOq77+EsSrXpLkvHhqSsZezlNDt+BmxIHn\r\n8oNgl/FCopy8KhkZCC8LbKk9Lz68rZYmDTL7e3NeEhbp2g5bBv1Kp4nqXips\r\n1ygLkHiFrvGPguK1fTRzKebeYmoabp0WOD+c1p/ZnhfWMgXKSW2e8FxCYV/t\r\nhNy5+7+lXFq86GRyIsjR3SAzz8SBnnmnPd1tVudVKYBXgT3X6W1nSkb9f6lh\r\n9hCxVm385+t6px4iGxAsmmaFptehUvnjGSE=\r\n=v2Wb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"b474590d02d1b361a3821efe93d4b68c1cccaaff","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.0","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.0","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","@adobe/fetch":"3.3.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.1","@adobe/helix-shared-indexer":"1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.1.0","sinon":"14.0.1","eslint":"8.26.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.15.0_1666857613038_0.4080614333192134","host":"s3://npm-registry-packages"}},"14.16.0":{"name":"@adobe/helix-cli","version":"14.16.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.16.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"e999db4edca921dfeffcff100a14402898806ff8","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.16.0.tgz","fileCount":31,"integrity":"sha512-ZN+fF02DlEUae1xyfJyafOzfmeHNZQOfUfaJMCDA/IqlbWW9P6FF5hHBH7TF2l9+NKFAra/DpyTLgXEvIvDHQA==","signatures":[{"sig":"MEYCIQCyS7N8ttnqdQg5YdAhVDzqXy1UkO92FPBrAseeRXI+9gIhAO9nWjMKjg+K0qxgzhp039aSlC6rwjbCGiVGEaNl6IFv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":323402,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWoVFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq77g/9H9SdsFiPddKlL75TfeZri10GFBcFTCCCFQmkDMTzArxvh+uC\r\njAQwXkRYrLOcCU9Nlzbb10YALrwZYqukGCA9XiNIKPoqT/jTsKuFPiBpoVLb\r\nlXrnQb/ieiF4Q8foqDf3EkiqHpa9uAol/FUHg8jeYoLgmEB+HL+O7J26T1ux\r\nYlYS5kzRcxVNc0YSqCC+TNLdid0yKQIzNt1FDfXAGhc8G3ilAp3LjKPy+UAK\r\n+GYfCwoyrMnk9oycljhyQwRXanIJBPsantDwSzsUak/Cbg5wciWLYvOTiq19\r\no2kivQHiI7BWYZ359pmdS8HpXEzDD/O+WCa2kxZWqVhQtJtA0cI4CFtimH3E\r\nmNwpAbXpk+7eTJrC7qqcQrcB3K8RgwFc6JwEFkx0pkQULAU916c1nCkcYvuP\r\nn/4X/DYxBxfEFNrw09KnvVNUsUU0jZwh8w+r2md6UKDjxkwnBoh0w3WHXAQ8\r\nCKJgvCF9Ok3jrJmJPIZHyqWPaEHD7NHne6Iq9vdXLPknaWCBNFddkv5Of7gD\r\nEy6sH7GBTdfBIx+LZF8sq08egWm7hCNXRSmuNfBJRRHvM0RwGW0NWdGwM9cI\r\n1bxKcSxiyIfXQ+qre5bk5YPJ+sIxoPXhT/1U/Y1OVHYF0m+TL87b/mQG3ew1\r\npo9u/D0gFCPVKD5xB791l2NXtm5X46mJ5FY=\r\n=RVHC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"7dc922b46dfb3a9d7b813254d9509dabe75f6272","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.0","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.0","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","@adobe/fetch":"3.3.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.1","@adobe/helix-shared-indexer":"1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.1.0","sinon":"14.0.1","eslint":"8.26.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.16.0_1666876741040_0.31182578773278347","host":"s3://npm-registry-packages"}},"14.17.0":{"name":"@adobe/helix-cli","version":"14.17.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.17.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"db29d485c45214ea94298d551aa4279257891035","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.17.0.tgz","fileCount":31,"integrity":"sha512-VGnF+Ezyf6ng02UPRcpJqeeIDhrp8Zs5yhktVkoxxgUW2viFlkmm4ybov4cdJuTzlUnKbSQvOvO4/JZhyE/y2A==","signatures":[{"sig":"MEUCIBjHLQbarZ+U8fgybp2T544FQshmAgUHNlxEmDCtH9XzAiEAxtT2wb9z/GdXELqYxWyNkPzNsh56IT+Cizr+OQKnG+A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":323728,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaoGHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrjmBAAmjTEvij0Npbfy/rBglG2xxFUsrzShvGRgbD4UuvL+Ssr/Y3a\r\n3Qkyz8xdrVE2w28zFbY6cS5LDFZPMbXHVxWxhsAkyf6NydLicRVZmH8KS4ML\r\n6vK8hiHMtlDxe/Q1X6NLCUudg26sQVaI+smWIjiwVB23CK5pfyXMc8msrOJu\r\nv3m27zKaw8oRQte83+Z4SqsSIA3RaAuXsflrv7hRhA208sKidHEqKsKOzcbi\r\nZkdRFvZ/V/QZqgcaFSRtHhfItCe0z4Q+pK6leljOVthawxANR6NTlrkYy0YL\r\nnrrisRHAn733PCTAto+oFAcPqXjfTlHA5XBTO0Dv2b2q1qkL35YEWxdBvLvT\r\nYH7sU6fqFlEZ7wkSXSn13tBH0a3iGcwJEzHchk0Bgsf+Rg9U6BTCVPU/gkWo\r\ncNhU3Z+MRpM2Kx4F2RDmK8ehixfVGyGN0y3+12y0Fcf7lQo9Era63loQnWSl\r\nXX7AMPzHzMBqwX6Gsp9AY6eXyQuRxaD5viu5OHSEQHK9/2nJX6I1nt2dwZIo\r\nYML5SVG0PPkH5BYRKvUVWVGEugxRHdcbVoyvc8ST8Wce7/pQSLHXGxRjPfBW\r\nteRcW/rgxlpkAFumict/9MDOO1ciMisveDjXmmPBnaVqZSgDKQLzyu3/v0NN\r\ntsp4Z9tGeikORiRwluDj6ADAWsDZRJI7Vq0=\r\n=gHti\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"dc126a784cd4e5598a9e718a41db44a7d0beb2ed","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.0","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","compression":"1.7.4","@adobe/fetch":"3.3.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.1","@adobe/helix-shared-indexer":"1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.1.0","sinon":"14.0.1","eslint":"8.27.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.17.0_1667924358962_0.8373798008084172","host":"s3://npm-registry-packages"}},"14.17.1":{"name":"@adobe/helix-cli","version":"14.17.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.17.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f6fa10b4f77b47736259002c818c856cc7dd2904","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.17.1.tgz","fileCount":31,"integrity":"sha512-impLfHzchOVRf+scyeNQTbDPkdwzK5nLKFbzMjva55DlmFkIRIue0G/DGG+P4xHA9FZXznzSyY9S2mvEkzJxtA==","signatures":[{"sig":"MEUCIA28pg2q4OC2OAtvfqBclfgIKQ8gfHAB5ap+xGVEHRvjAiEAz1R8YbiZiWNTlH48lmg3MglL1n3cLH4mKLLsbVnMbRc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":324046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbSFlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqm4w/+MJ2p8hSg6oMgb5zZt8r+ckMx4ai+p1pLjwINLWg1uXS1ntFD\r\nNMQ+66gW+ksuBSpAdJibOuGabjE1Pq/2RpC5ih1HPjIa+XfORhDAcoX13gex\r\n/9WD/NRcPtTNRFDvkYMGQ9W1xNbfp3jxkaUMsKFlEr7hMttIuhBPFKdETpOP\r\nKiAR5Dp07JhDQy0eyoRgb/WFDIqtX6XtX1FYO6x4ID4/pDikhUcOcbGfuOyY\r\nCwPx4knnd+2KXyTTrle9UZPfVOQ1vGfzD+/vQalNckm0XDva4JQzFFzXVWmC\r\nmt9IOQb9ngGv1sdSJP0yaTUsEjepRtAl03kQ3yQxlyQ5dgYf1TgTNeSVLIFU\r\noRpugTO57rzR3OPHZzC5/aikj1/FD9ykwdd72KD6f13WMI9pX5ZFHqisyZ4I\r\nElCroTsQ6D+s0RPRCSBAkPNNSdfUpgrh8HQjV4ZkOccI0rkEp+Aw6Rp4thVp\r\nPpaA9gSkUG/fEAXFRmiTCx7feYTui8xEWfVIp60Da8JlzqfB6ZYpPuVMY7iD\r\nznFxiD+Tk8gqS/F2K6fkv3IzBoSfch9r5AFCcao2xG0R2g+RBTBs9vHdVan5\r\nLpSYauSB3L8nymQk62dAvsxlk3VTPw753s0gOoP57EHyzVeg1jywE5aKi73q\r\nekoFgs7ezlvRpGh5MBeee4HmHIKAsck2oX4=\r\n=usNx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"e310dca86cd12e43080bff56648a205ee5b5dcf5","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.20.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.0","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"10.1.0","progress":"2.0.3","camelcase":"7.0.0","compression":"1.7.4","@adobe/fetch":"3.3.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.1","@adobe/helix-shared-indexer":"1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.1","mocha":"10.1.0","sinon":"14.0.1","eslint":"8.27.0","lint-staged":"13.0.3","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.17.1_1668096357383_0.47672572957573456","host":"s3://npm-registry-packages"}},"14.17.2":{"name":"@adobe/helix-cli","version":"14.17.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.17.2","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"08e8c9b056ec9a20114b9f8d61a54561ff31d43f","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.17.2.tgz","fileCount":31,"integrity":"sha512-mlO8nzrJ4aMfDXhvQyqgSZjIWWsEC6mKh9Iel/FQe60W06Y6l0Ku4609M6e7dg+GCs4ZxuFIjlKyipG/p3pwLA==","signatures":[{"sig":"MEYCIQCTOLDMMGpYMARWYjbTpsAy7t1OO6CPQLoO55/c7+ieOQIhAMvgJW9++T/IJG6V69gRIdiIw2W4K2dd9+bwrF/PQSpf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":324404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhc36ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrG1g//cpHJEe/gZAFSRr+Q7s58XIPT5N/GT6xsIy5Ad3U05jcp2t4R\r\nMSu14cQM7HX9Zqq9TY0eCvR/Ic0d5l4kKDCM727Pbayw90SP6Fbjg2yntT13\r\nLHqdPgiP/VUiwCRMlWmtz+5+UrqNiWeLR+bSA8nnQClQd9wo2DtLcSyAHhRl\r\nZv3mVfGBA3QHY+QfxQ7Yk+uPbHYDoIVnm9Z1mM+OlrmJsX5DP0y/XUYLsg4S\r\na8QrBGZDawddXBZLU1yyZByGulk0lcO5TL8SnXVMXqhvBeaZu1278fU8UlHk\r\nIizD0+uMhYbw5U4tezmtjarEMxlm6gkWdSk4OYX1qywB2wnM6koNCjImtuET\r\n7F96GUekUmbSFYDPDS5O4Se1yGM6gx9hyi/0GVFW2K/2DGUnQiqF6f1FQN6k\r\nFmzBZTUOrat0Rq+5vQYUQbrsxIbUw5UEq7tVAaaFM70vIV1bQp+jh99zrmRB\r\n47NuBHR532QGWdKP1PRLHE/TzKX6eRpQVRUfG4le9/87uqn5q5NeSHFzqz03\r\nLO+D7VRG701BnAqbvNfYgXlrnxZBmkxQ0KVKmRm5mOOVySHH7ZRkaY+VSnQM\r\nALDxQv+7rDQDyBEyhYowqWrKXil06X17DpR7DBG6nSKnffP+NWutMShveznP\r\nYxfX2n86K4ZHErIkJ3re8m0C53lukjWpB9s=\r\n=G4AF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"e4578e615d67c4ba15ab02e9e1f77f15371254fa","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.21.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.0","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.0.0","progress":"2.0.3","camelcase":"7.0.0","compression":"1.7.4","@adobe/fetch":"3.3.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.2","@adobe/helix-shared-indexer":"1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.2","mocha":"10.1.0","sinon":"15.0.0","eslint":"8.28.0","lint-staged":"13.0.4","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1","eslint-import-resolver-exports":"1.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.17.2_1669713402272_0.5034686210060599","host":"s3://npm-registry-packages"}},"14.17.3":{"name":"@adobe/helix-cli","version":"14.17.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.17.3","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"77f6070ecf5af3edd46c8e24b35afd9a04b29ef3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.17.3.tgz","fileCount":31,"integrity":"sha512-PwkZjE4THfYE2MYh6Sf/RN+icMyAdz4rLy6SbNOx+Dtsmxp/dqp0u53tBLWeWm+Q2WEDfNNWIy8fDCUv2rvjFA==","signatures":[{"sig":"MEYCIQDou4D1xKP+qcZ4bC0ijZ/xHMkL54qgjhlhuAqzM32gawIhAK/VF/1QG8gbny7XqF2pf0EWQF97roe04q1cWmpI5OOs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":324675,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhk8WACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmouzg//V3et0Jvaqk3BofG867YCl2LMRqje605iH3wCckzWFQR3Bvpt\r\ndNNjmW3vjQ7A2HfLh7+8IYzkK9B1naPl8OJHd7/ETAHT9SGVswkyBPmTT3y8\r\ngWRw573hnG4Ii72nZlr9ksID8hqe1Jh/0R5Yh2iJKjVDTE49OBAuRWRvz/Ex\r\nHXaY+srDjVLkUDDRPFw9o0mP9OFKKCEjNNzA2dI5FDhDWDsFOEFcu6vBT4aF\r\nbj/GoApfTcvka4lxef0OfKpQ2fkSjH8kelwHO+bfIhxZCMBDAUPeE0IAYv2l\r\nhWV9mhc+BUm8aMkmNVQJLpLx484WUS4E4Sj+XGhmC11OAOee5Xnnrou1xSt1\r\nFSivrq1D6vp47LYtcTTbHr74p3q1qruxX4czjZkovlIAkMNWVPEL/ub1yAaM\r\nfQG+lZor8uh5woNq6khGIBTxmb02ZChTLk3BSwqNZrVY5y/HtSpTqQHBKb4S\r\nlo21ETr4nOpDSoLwIjRaIHWu5lVZHmql9AMMaPovmvgcHVv/qJhZwxPvinUw\r\ny3sc0vXWf3Ew8LmQG8UTOUbGODsWRFsmst21wdMFEtLX2wuDSkpX8GSY18vs\r\nNJ/jqFRkE3fAOBpKykhQ0RITbGAmGomMoJ70siHzZwLSKSw1qAMilF+LdqmX\r\nDz7uxzdxTVbctPumCoi+XF4JmmgKHBUepgg=\r\n=wQwa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"8fca2cd65f3727d19223364a5e45b77575187243","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.21.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.0","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.0.0","progress":"2.0.3","camelcase":"7.0.0","compression":"1.7.4","@adobe/fetch":"3.3.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.3","@adobe/helix-shared-indexer":"1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.2","mocha":"10.1.0","sinon":"15.0.0","eslint":"8.28.0","lint-staged":"13.0.4","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.1","eslint-import-resolver-exports":"1.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.17.3_1669746454256_0.3014994090869183","host":"s3://npm-registry-packages"}},"14.17.4":{"name":"@adobe/helix-cli","version":"14.17.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.17.4","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2132e1f20a861f4dee2509dd22a4443846214d81","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.17.4.tgz","fileCount":31,"integrity":"sha512-R0aP+s04AEaJz3sNH+TVS9AjreFI6t67L5HMQERG/cnyq6smCY4d/g8V+8l9+jdIc3S5N/zjl7bDKs5sFs2/WQ==","signatures":[{"sig":"MEYCIQCGyOlayixnf2Ab63LX2gXsChpWbrs3iPwM4f3g9mE3FQIhAN+XERzZObKLPI6yqHwKn8VgcKXJYi4KAcYLOPrJHdF7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":324961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmJJ1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmorRhAAmU+iAjP5x9riWsumiTKKo1l3ikpX3ECGUpMI1Vby3r2rfzYW\r\nHhNP9Qi7Oc6sUN23J1+rvaEbC93v2f2+aJGKUfVqQV+rpUKmvM9tY6IvyxWq\r\n3YzhI7uEgxQEK5a8TJ4Pi5nsSg1Jg8kE5LXYWtAwLOTnP4XzTE7LasUKP08K\r\nZLoxGif8ikaSc0hhRI5oEAhriL3/IiP6PC2dG1kpfZq366Fl3Uw8NBUOUsfH\r\nqS7y3WFbIm3nMl7ubZmfMTzpeRCC6FKfNJbKKrSizvtVTnS7oaIOTAgUEgyX\r\nzNhO66trCmFGEu7n9qpu23pwChVBBpXlB3Rx0SjjWaVD6jbNzoCh69yo5pQ+\r\nwloTj497KWQnSMy4zZ55ENWhI2LH+VQnya1QV0WkDej4X69YPpRgVOmKn7HC\r\nrgBeK7DCWnZ7DBwDVnIkjAEC4U54XQqMyClQb3cD4uAWHM/477obhDVLQft5\r\nfw3YHu9yYkHDH1d2qEhmdRzDpAFISVOJguKy7GbEsSOjALJln/ymxBq1rAhb\r\nqaS1MaJqcplwkAYGsJXEZ3zUaggVGJIzIkp5YBHA01UksEhkDnokmz00tSDK\r\n4t11iMsqYQNTTMLY6KdBYGRJnBFBPLxgVkA6uHK0pCe5xOPw7CelmK0Ug3gL\r\nih7/gINYmzr5ynxGt7H2CWV8K/1Bc5Lemfw=\r\n=G9WL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"e9db089f4b30e675e06665404f041bb594b1a299","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.21.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.1","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.0","compression":"1.7.4","@adobe/fetch":"3.3.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.3","@adobe/helix-shared-indexer":"1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.2","mocha":"10.1.0","sinon":"15.0.0","eslint":"8.29.0","lint-staged":"13.1.0","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.2","eslint-import-resolver-exports":"1.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.17.4_1670943349270_0.14714710566850342","host":"s3://npm-registry-packages"}},"14.18.0":{"name":"@adobe/helix-cli","version":"14.18.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.18.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6ebe4cc6d6f1b00b6a345d8d8520f2481c902015","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.18.0.tgz","fileCount":31,"integrity":"sha512-spEB77jVu76wa3vGC/KY1QSqhjE8FV789gVVWZGnet52yYcntGGn3/MM3JZ61FJ0RHaBJnjIKzfcuHgNvxGVEQ==","signatures":[{"sig":"MEQCICOl1tu/dqCMlOzAz8A+ZreNDPHHBLtv1k2hGmsxIultAiBf42PYFnZFoAAfLPdCR3BR/fHTL5eGrkfshy8AwqBPJA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327220,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmJvJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKSg/+OYQ9bqHBsvvOA2GjXaANB06jMvlUKSltBFeuj9lA+MNaKVzL\r\nVw5AdkBxnWU97vDnkagscbMvdAw7/qgwE+rftofVEaqKDvJ6BmKp6vmaplYR\r\nwzAjyGZXsUNKCSmvADonRBENvDFKlVCX2FGzHMD3uYfNLfpOTBoKjDHQDnoD\r\na5qwiyLaNzGTnZsCOeDxPmVV5W/0zlMdn49kKa1TSkCHQQgH1oUsCQyMg5BM\r\nYIBFDOw8cfdtQPDJfBasaMQTKKEzSjIOGxj3zkz8zgvzcTwDFAXEBH3y+nt8\r\npcxNPrJJ6T1u37dM1uQh2xs1QEWXHLnlca3Y3vp1RqCNKM8vRIOf1u/dppYS\r\nJy1bit6DRooRk4XdbpWKgkt0VN1Nr5zv28iUaIwR5N1FkxnbXbnNT9Te7WIx\r\nlVjSaY3+8Q12pkn+v1W7lyrkUDo9my10O7XBENkbstlaGwnsI3H3ib9b/lHv\r\nDQt3+o1yg/3s1+pZwxAzzoZ6edyqOxCv8WQ9K1VKsrU03fV+Twfbk9/uQHyz\r\nGbZ/7T6O++OvAbRUCzkdxm9TIbVNC3nPt3aTU/yaxSn3oU8lYC+mNoxMbaLc\r\n9fuq3eoYJ6/Mr4IsccuQ5foK/4h3+yXLLGkkbWfflvYm1XQfefo5MqMmW2qQ\r\nCDeSJ6ZhitHdu46R3KrdcSMxbITVPtMraMg=\r\n=MHJ+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"0d41b979a613999d37afd6f1df0b6444bc1ad45f","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.21.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.1","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.0","compression":"1.7.4","@adobe/fetch":"3.3.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.3","@adobe/helix-shared-indexer":"1.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.2","mocha":"10.1.0","sinon":"15.0.0","eslint":"8.29.0","lint-staged":"13.1.0","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.2","eslint-import-resolver-exports":"1.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.18.0_1670945737594_0.14744340863723582","host":"s3://npm-registry-packages"}},"14.18.1":{"name":"@adobe/helix-cli","version":"14.18.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.18.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"60ae974e7d1e252e13d6ff758d79120169f96445","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.18.1.tgz","fileCount":31,"integrity":"sha512-rP6vjmjKDHgtBp2wI2mhhNPlwGCuc8ItRooALLLbBSIvnylJz8R30nc14k0AktdRWChZozISEXWtQbJ6UFsrnQ==","signatures":[{"sig":"MEYCIQDJa0FRirzUDqjMXJDJrLjkUff1zksjD6ax0oDAzxbyXAIhAPo30bxKXorwCJkQclgOb/PBCDHbu2eJsIL14ZLsrXgR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmJ7zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+rQ/8D0Je3eJReSMcO9krQze2ggCMaA/wpwiAia55OJTShm23YsAL\r\nfiEq2Ccp7e2MNKPYhdHn6tEkKqd8DTUXRPbqkfSDrlT6Z4wOD6gR3cgEmRs8\r\nYK3n2J1Xbu77GyERgl0wiqQ43oPKoVGPybOMc6QRL30B5wnI4uecevKF7UZ0\r\noROxyhZwgVvGpqTjHqfV3CxkQobK1tnt+wDCuTHTnNE0AHYVLrSHCISjNruo\r\n4cvMaRsWx82f5YkCKCL9touDKKER3VE4uFLmWv6/KXa9xA8i70cEOAsBH0nw\r\nzA6MCfuuhF/LmkxaD8a0LCEHfaBrBOzOrYVr4YEmBPtn3aupnZoadneAP+mX\r\ny8OU80M20EgL6HL/5AoQmgoNvod6BQCCI5attegj8HkHbu17g/Fa1aSCrpUJ\r\n46FlZLa7BzbqVTUP2AAWgbkOgmHnO3JG+0yvvD6w9H2BqBMZbsihEzzQZBcn\r\n95kMk7Rmdd+S5afyy3EJeVMfbQ7uKykUL55CJV2msW+mnuz+e1VJZEwkqmw3\r\n7QNPlnW1WJwpYXRS6Z8DpE2PwPPkXWI3twZhm1QEFuw8QQVt/sQwyCteg225\r\nF9f0HYigxa4EG8G+ii5T1NHG+hJrqK1X5pCwK73ndkxa/uk68/h1V3QnRNkY\r\nHnhLU3T/hd9jWLDVR0OxuBes+4mJSTFN3Go=\r\n=DCAY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"52bf4068a3e29a1cd775bb4dc7d475ace5afa1eb","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.21.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.1","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.0","compression":"1.7.4","@adobe/fetch":"3.3.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.3","@adobe/helix-shared-indexer":"1.0.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.2","mocha":"10.1.0","sinon":"15.0.0","eslint":"8.29.0","lint-staged":"13.1.0","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.2","eslint-import-resolver-exports":"1.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.18.1_1670946547566_0.7122351866821046","host":"s3://npm-registry-packages"}},"14.18.2":{"name":"@adobe/helix-cli","version":"14.18.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.18.2","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a40fab0040a530c3e828ed3852db51d0aa48d01a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.18.2.tgz","fileCount":31,"integrity":"sha512-BGAgluWKNhJsaoKLCYKqPAZfliSmYQSzOHEVLfDeAFCifCrxW687EWYwrAbVCcl9AcrB1pAe0R9szG6+Wp9aqA==","signatures":[{"sig":"MEUCIFfJGnFa3KMM0PXMqp74w0nHNK3ycFPmxJ7nYrpxIBzAAiEAotzsbxmdP4NyORyPNJ0bYuN2XovVDTsQLpZKn6e/wNE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327931,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpxiTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq5XQ/9GBlsol7yjjnGxC9LtobIwR9bD9k7UB22L1rxMFFeOfwrvsQ4\r\nITU7Wa4gqk/adFKC1SziifFANsqJ0vo3tbWGkX4UPhsOZBgflu1L2myxpeLI\r\n84dphoZ4Zw+cNtQFihJ7UlhUHhGvsBJrNbXKdri1itMIgPGYKxg/VIKYW4I0\r\ndsnajGSPG80iVV7WM5CaYTo6HjdrRAsmVm9J9vf0sdcm21pYcRsLeYIauE01\r\nYCXBN/B2p7n+fJfOxFiEFiGEPa5Spgg8N9mBHqWy9UCtBD6yXcIaW9sZkRTF\r\n4/O+WFGQ0Wvivz9azV5DHixL71yj1495jDy+7yoAA60TrGWeFkMmwxukahAQ\r\nM9kpWmLe0+j1Dn64Ff+CuEM0h4vtlRaZrw7pKXu48+d488YUcfL3xw4lssH+\r\nEbCWOcR7xENil+Ouw2uK6P9/KRtOujiTxB1eW9bjJ0AaHwI2NPRzr6+K0rrt\r\npLrYVb/qVxLSdj5PQRkeJ8TuU4c8+UymdAY/nawHSIq41SsPM62XyrbxUI+d\r\n1UmcL7GeMc04osY57sX816FI5fh4rtKsQVJU9m6feRFti68/RQOhqpYaa3Jr\r\nVmTq4d+uTQzqPS4U8E7ImPXulGG6tg1QpJwpigOh+bAq1oEeE9+iSu8nClns\r\nxTBoZc9UI6DvHWWeIMUn4C9zMD2F7HqELKA=\r\n=2KKc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"d75474ecbede4ca29d1ec07e8d538fa7fe934993","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.21.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"3.3.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.3","@adobe/helix-shared-indexer":"1.0.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.2","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.30.0","lint-staged":"13.1.0","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.2","eslint-import-resolver-exports":"1.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.18.2_1671895187333_0.49007521346418437","host":"s3://npm-registry-packages"}},"14.18.3":{"name":"@adobe/helix-cli","version":"14.18.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.18.3","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"057f02852244de28ac571db2ac909d7a7ef3c974","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.18.3.tgz","fileCount":31,"integrity":"sha512-lklCIsH4yrknKjrt34Cd4Xc3Kd3nHi/8EWiJ6QZGlxtL8DMzJF6WK0G3JoAPl2pZkzZ4Zj3XBlmFNzYwvUq4RQ==","signatures":[{"sig":"MEUCIQCPY2Pwfifw8OvuppkoRc7KpyiMcw0epepjTS/RS9Zs4QIgae55yK5TFPucWrpEmIP+xgrMrk9s3wJnjsDRhsU1Ag0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":328188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjqIq5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmosTRAAo4kHxBOvtwj8yM1QwFGmzJSYebliU8ROdeBNl328FIWu+GMh\r\ni/0mSmmTIdw+N3m+igGwimoiRtatHGix6HL2ZVI1ykXjE+bgbfSdYME+r4pf\r\nVMamhWg9Z3b/AKkvLGD4Y4tQ0VGBwRRuv0BexVH8SU5we+OPqq8EPyqLNgX6\r\nalSHJEj6hzE7KqxZ1jd1ZrpGFxhfkPnwjcQCknAAQuNlOiYxboDnL2MW/gZB\r\njCwRpqmsP8TSzSWXTuNX1POrANBGIekcO0OFEDGn6v+LFfEbAAK3hIQTsDxV\r\nzxdrTmS27PPdYtFxrgNC6zrQ2zISczZs9ztN/cV8RmLuN702mnYZV94L2KW1\r\nUzvl9TF+bgB5ExIk155I0fITMOpPEmw5VilrU2FBVc110+PJorsEqYxhfh+A\r\nQ4+cvTmAwHCQ8M6HU/8w96cuSwVA51H6zF9FTlt41U4OAryywM+xy7M5sbv7\r\nkuaF3iGA5VBH7vOl7qSr/B9tG5DZ85RfI8eagfECgBn3lGydXbRMdMDBo+WZ\r\n9KW+A9ResiGzbXG8j0aZbPqG5wxxP4xTBVPlKtKVo/+OjiIH1dvzZN/NFT5C\r\n/iFLfDERKn+lXfnROyOy3hND1Mouwje8qjVlGNQZY1bvCfWGGTSC+FAlF/W1\r\nDL3hhj12RvqI7eQKuSVfhNR/osVNFo/pfEA=\r\n=l1yS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"89b7682b2c2566d391543be7741e29c93eba654d","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.21.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"3.3.1","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.4.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.2","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.3","@adobe/helix-shared-indexer":"1.0.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.2","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.30.0","lint-staged":"13.1.0","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.2","eslint-import-resolver-exports":"1.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.18.3_1671989945130_0.8845838482851784","host":"s3://npm-registry-packages"}},"14.18.4":{"name":"@adobe/helix-cli","version":"14.18.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.18.4","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"a6ad90fab06ca04c8095e3399afe5ddc381137c4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.18.4.tgz","fileCount":31,"integrity":"sha512-n8MVFb2ryW0YrIR7S9bEtBLroKYJGASN6jZSpsjLtNp+kUJjoK5P5qhTbdShTDO3MyykXaDnnrRPK3IlMLLs/Q==","signatures":[{"sig":"MEYCIQDb8AFxwgi0thBoULC//qJZJMgti75mQ+t+se8/xe2HywIhAMglucBWjQwv+daTELyl4+FQOxSI0xycFHpIDaxAG/5g","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":328426,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjuZZjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpfhg/+LuXtzmzJnBaRcWIhBD0HND4TrRSIbnlVSMRHq4uZXkxMbGMM\r\n56WqRp84OUHAn7U/k7mttFzHSBH1S6+uHaK6NT7wnydp0OxpE03+wtwaOD6P\r\nwrIIPmDVZm78qNx04gRTVMXRLrHRJCyYqoS0RJUWPXRuTx66HwPiaEwSGLtK\r\nPUzsuVIYEU9S4ESc/M/QNf8kkg/F4+cG5vk5Dv0uv344EgyGT97GeWopHWi+\r\nT2NSSzG4lMD2MCM80fRI321bYPLX7K04a4/VgDq32eOn34OYgEE9LFFiFUMb\r\nDULvn1K9XlBUnUvdV04dlfTo7LrjuWXqZc4oRaYqC1myvGzbcfUxAlQhL6HA\r\nSIeVE8ciAMDFLUzX3pbfTM/jt97ghfmwujK+575GbySqf0OgK6sjtfih/Ntv\r\nHKwcmmNdBN0q6xoot2QlcoUT11W6ZSlzUFh/ZpvO5TdEFnsJZyPTmTmFt/wZ\r\n+Wv5nntIK9ZJZ5XL1U3ZLA16Vd2uFCR7BvF+wA+9qr44NR4FYmNrxSoJ8q0q\r\nYwk/Bru53jEGu6vCH1/aDZDIFsGzlc7gS7rCVLxB4Ewz8z78HvWYNF1h1+es\r\nLHXUIYNarw1A10v7IYFBF4LSUlN+8zM7E5B2zf1WsC4y+Vupzelg9bK6xsgN\r\nyi3fXENLiVuiK03Xa++eq+yUP/F8ahll9xI=\r\n=86uA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"0033c2716688e721c61a6a0d6830dea17a2f0eb7","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"14.21.1","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"3.3.1","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.3","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.3","@adobe/helix-shared-indexer":"1.0.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.31.0","lint-staged":"13.1.0","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.2","eslint-import-resolver-exports":"1.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.18.4_1673107043071_0.9316052357919122","host":"s3://npm-registry-packages"}},"14.19.0":{"name":"@adobe/helix-cli","version":"14.19.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.19.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"05091961a1665a5a86df2bf3e3a227616945f4d9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.19.0.tgz","fileCount":31,"integrity":"sha512-rMgPcsrJkb8+OWFF1z2quwZ/270lnM126xU1upFY1qZPiTIGsaDhwRvNT3svHkvqEjrFRHRkMDGb4dUmQYlByA==","signatures":[{"sig":"MEQCIDIO8TUVP01DUoT4yohtHNwFkvrfuHDk0lAMIF6qgDjvAiAqH1oErPvStzxgQDMKPveQVzJCIKDnEhsLCMYtISh9dQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":329887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwRC/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmokkg/8CTz6MGqAu9EjyJfrJVCv1s4qASvqdwK5jeJEJKEFXRTrgnuU\r\nYpN93Cc6b8zZIIrcro263TNGOq79GuXftzo6RrF2ZketUpcd6I4So/gvCWW1\r\nSac2LaX+suvqmNO+eiJBzSGLoX0IpovuO8Y3nluf64Rv/x9fakJ45FCejjpX\r\nEs+wkoH+CYochvwStpGGR+SXC4QlSRs+YuX4YMhZvRySSMxYL9IOmwaJUFov\r\nDXmTBMWJwvSRwcYGFJu9Su0AWwcHNJ+84PCaxrc8z2syM1AUf1sspArHFMi2\r\nbZhUBwTtFcCjOXekgAi2Z7DcVJHVjvI6i5hmp1ESbOcZamcTdxeD/CeJ09B8\r\nSZ4YqhVGZe2rBGucoxqe7f9z6sxX1AAvHHvrHbgIe+N2+Li5FKajsqQXJzBv\r\nrIqbgBo8HUIMHgAkiZcTLBVNTgIQKyej02CZgF6IPHBTVP/dsGlSoY4p3q+m\r\nAOqexyfgeLrTC6DatbC6rLHf2KrZy6rUHGvit/vMKkrzEc+mBvhLSl4Mpjh0\r\nOul2YzhqXO8kNF37fqfNtLPLv6AWrWugCqy5kiJH4qAqlqProrLhSPMkbY0l\r\n5gLG2l2bsi37IRsV0DV4WkoC8gXtLDkk8FWyTwLJOAgaxlVqwbB7Pf2rcT2W\r\nQEVLM0GJOi5NTYprRLsR3sp4tgUN9dIjOdA=\r\n=etMt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"03257d67c5d82a296ca747b9e8213cbb73fbc40a","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.13.0","dependencies":{"ini":"3.0.1","glob":"8.0.3","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"3.3.1","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.3","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.4","@adobe/helix-shared-indexer":"1.0.8"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.2.9","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.31.0","lint-staged":"13.1.0","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.26.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.2","eslint-import-resolver-exports":"1.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.19.0_1673597119583_0.4887678879445172","host":"s3://npm-registry-packages"}},"14.19.1":{"name":"@adobe/helix-cli","version":"14.19.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.19.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"5d7ae2dbca26232efca56a91a675b9d6e8a6839e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.19.1.tgz","fileCount":31,"integrity":"sha512-ph5dBp8jgBucgC+WpeBnmR1vtYCbmANWreJnnW3Xj7mnO6C1J3GZb9Q5JZZLPPc/TcjJTbc68++AiuAmFPoT4Q==","signatures":[{"sig":"MEYCIQCKQCOGdn9dLIlug6oEJWMGxrxnQ2MftS7i4rIepprHNAIhAP+7/uJea1wseB85Dcl25tswU2TphbzmkhBRXgT0JDmJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330136,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjw1GJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqkvg/9GfLJxOVuTE/he3xmWnaHlNNf85O6NsPHKcRn8BnKfMOvlNZ6\r\nKEaD6C+Z+RIsCSwDUsvaX1Boo/z6xj9ut99SfVCO7sO5Mm1h+R3Tn2EAOBUx\r\n0+ccyRruPglmhkcRg3tXlrf4jnekZAJUC3b1lNR/L3Udku45V60ja3ZLV2uw\r\n8aeS/KJn1RQZ/gf5WI321QHRSdeV5MKz9gtbCZrz+1KcZCy+pFe02Dnl2reD\r\nOfm6idzcgP+uovyqaxFNxKMmSMdktscOCfD1uhlpxEuLJ/47+92x6tPdGl3T\r\nmiTP/lnYGefxyRDkoEb7Osevn5lq5itQWFLlxYzwrjGXuOhvYP0J7hYZId0I\r\nhJjogUnQbkdyYKBgqgMF4wx3hUrSEaoqpole9mAo1KIN9FmIx25Zio6EV6kK\r\nQYQcbMjsKOWwATXEp8JP/O/L9iqD5xMSUBj/RZOCNcLHsUtOf6ClpVs4C46u\r\nb1kAU8mj1c+XWGqtsDzvSCtQ87JT94tzk8HOl7VTwQ+CXX333LNTxHCEAWlM\r\nt4GbgDYTM0verCctzVXM6Ku7ZMAKVeZtb5i/ha32NsZHHRWHpVEGMfV82SWr\r\nN0s6l+WIYKoEPtXUbNBn6YJQ7bu0MQKx/iT/I8ObnO4cBBze5MwYr7l0VhDV\r\ncm1Fjp94SwVhXgDtl//KHwV+ktuoU0OQVh0=\r\n=P+dg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"ef971d2213dcb0d4523b56d9de93f64f010a8303","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.13.0","dependencies":{"ini":"3.0.1","glob":"8.1.0","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"3.3.1","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.3","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.4","@adobe/helix-shared-indexer":"1.0.8"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.31.0","lint-staged":"13.1.0","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.27.4","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.2","eslint-import-resolver-exports":"1.0.0-beta.4"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.19.1_1673744777478_0.444954187859838","host":"s3://npm-registry-packages"}},"14.20.0":{"name":"@adobe/helix-cli","version":"14.20.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.20.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6dbcecf970e88d8efba55f815ddfbe69312d507c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.20.0.tgz","fileCount":31,"integrity":"sha512-u9+pk6wtRI3M/0EguqRw8K3iyc+YPuxFy29QhLEC5cWkR31z5RtCbdmko1CUJfrOIneKbesB9cVEhi+4p8MkQQ==","signatures":[{"sig":"MEYCIQC4hR/1j2g0uwuHLWBk7p43rrG8sdlDgoTtFvNQ55F54QIhAK/GAThP3AALiNJ3yXpC6LJcn/SiU9uQafOgIjQheN/4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyV2CACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqmExAAnJEwOuFSYkFd/UCZY5S74T6ccGecMF3jshHz8UzRDeOPPj5M\r\nhtSla77pfvUT4tb/wbK1h9XUAplzSko9CWf52ZydvF289ROvjHpplB0txveu\r\nwFXi9nA1ZIDUhcg3ue7ySUXPtHT8rii4X264hByxjmalFjjtJqrfe75G5Jys\r\nwq48hTnlU+TfpTdmCw+zijSZ49pve9P1cGJA57ke6IukAWxLMD4HpzE3toio\r\nB/gWoq5vwCjcJ7LD9Efp34HlQPh8m12GDAH83XfxdpfE+Ws/WYIR9XDFCShf\r\nECO+b30U1hQeAoRVdjaYnI3EVN84YIWWQG7bOH1qhfJOq4Jql1JEDpd3b25O\r\n9m5o0wxTGP/z/Ec4ny0/qneVWbrN8hrkMwR1nbOzSlBJ1NZA4GeFW02BgceL\r\nrVYVm574puo8foDB2wc4XKOaXXaHOyDBNIuAtXxc8jw9i5gZlQcrOANhBIJj\r\nJ+DfEhTve5hIEO3G3TC1/I+pj4kfh7TCEsf9BKm0Tb/ByEkkh3oyksZC7CUc\r\ngBSJyLbzXnITOCE1xVXgUB/yfzZ0+QswVe9FO5nXy4h4Gc/uhwNXntxvdEve\r\nF9VD7MYi1joAHkbKvv5BPP+0DjJk35aI4V5ids+jJ5b70jnKYvOtpJELSCts\r\n/w7JNk473EAxNTrLZY6F+nO1tz5UVDWRYBU=\r\n=W7Lp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"ff0b0c7d765136b7453392e2fb148cbcc2c99f35","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.18.0","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.13.0","dependencies":{"ini":"3.0.1","glob":"8.1.0","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"3.3.1","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.3","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.4","@adobe/helix-shared-indexer":"1.0.8"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.31.0","lint-staged":"13.1.0","semantic-release":"19.0.5","eslint-plugin-header":"3.1.1","eslint-plugin-import":"2.27.4","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"1.3.2","@semantic-release/changelog":"6.0.2","eslint-import-resolver-exports":"1.0.0-beta.4"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.20.0_1674141058234_0.9688693299838078","host":"s3://npm-registry-packages"}},"14.20.1":{"name":"@adobe/helix-cli","version":"14.20.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.20.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"168caa69704d9a501cec9bafc25f581e1f009fbf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.20.1.tgz","fileCount":31,"integrity":"sha512-8VaM0azLGEXJg8pC2RFRoQmFDS4Zg130qRWBRvKZyMEY1po8Yrwnv3L3Ag030rCUyHChHMl1bBFBWemqb2GCUw==","signatures":[{"sig":"MEYCIQDcJEv8B9CkrRTbYH6+N2/EHiido42XlFW5jw4O8JJ0aAIhAOoL14NVTJFzP4EZD7ewX+NCkfGCG2IlHgG3GcaNu9RE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330847,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj1Uo1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGWQ/+IGF0JYnx7kp7M1/JZDFPTKFrMRoY8haNaQFlqziQNiC+m3LV\r\nr11hwkwzjjnNWNZxGKVeoKPMgUcP5ZgJMMbv7Cjy1X3ksbtD4teBB342SdR6\r\nmeZATrfvqEXtz5uqZyQp0x3ObgU6DTNcESMJf+QPsDCW5b9bnBm8k8pk9Lc7\r\nZ7p11P52c9rpUksnGxKRZyFq0qxfktBGTaW1S1+RMbLe6uxzruiJYgACobFS\r\n3BwXlKsvQqG1VA8KWECdUB8Vx4NmfFofmN5DTRfsnhFxZ04WdBzYmz1eTH1h\r\nXKM04rKs3fqJXfGVkViJWqWwVAhHot9CXARxFc6cZHEpky2M37BbTTO+2Rda\r\nx2IXzp8O2t0gpL8vRlDUWaPyiPqXIfIf2izI8nu72rk1K0jKDknk+Kk+5vMn\r\nMvd04OCTMWSK6I1u4qsTeP0ocykxDmMyJhhE2JfUouqnkF/72Qi0Q+WJzH22\r\nx6bfhoybd2MUxeuLl7jH+QiZe9vXffZvrqkN2EtDGH90dUc0dwgjwPcSCp6e\r\ne9Vj3iU53Jq/3IzYMD0Hzx5CxBlvitgqxBqhsQgO7UnD+Rdxhtisp7NLY6mA\r\njCmARVy9YMkFcKAInX/Nr7zeHzX3DVpj72MaObj8ZPKCZBDOFPh/lSPq1agS\r\n6EedXDy8lWyuNNKHSKQFYLhz9juYPAc5v+4=\r\n=CnxM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"98100f7a358cdf2f1b9a80baac364ba2bf1bf07c","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.3","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.13.0","dependencies":{"ini":"3.0.1","glob":"8.1.0","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"3.6.0","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"2.0.4","@adobe/helix-shared-config":"9.1.4","@adobe/helix-shared-indexer":"1.0.8"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.32.0","lint-staged":"13.1.0","semantic-release":"19.0.5","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"1.1.11","@adobe/eslint-config-helix":"2.0.1","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.20.1_1674922549320_0.8906288166477998","host":"s3://npm-registry-packages"}},"14.20.2":{"name":"@adobe/helix-cli","version":"14.20.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.20.2","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"6afe4278b024bfecaa5ceb80493e0d76eeb3fdb9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.20.2.tgz","fileCount":31,"integrity":"sha512-zuRDDmKUTM3Vz6Y4jgFVdTIE2OQb891m+RgynE5QWigcmTWLl0eT6G8GCPVJFr+kVD/48XY+acTiwUbW0Kkt9Q==","signatures":[{"sig":"MEQCIH1xVzSKM8EWtzYrfmWB7SOp+kPDU8aUsPYlmkt0yT7lAiBpi/SHVjEVteslOJuTteQCfABuP8T80uUUt7AtAfZ3ew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331140,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2p4+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqBfQ//cmjt9IepcnvhLGm7tkfZkrssR1G2L02UN9c4eq9/LZu4yat7\r\n0mvHUlVioDr9Im9CG+2BenaGt2T05Rr3oovvtsFBUi5kaHXZeRY7PMiBThYI\r\n3Zw7IGr8GSSLJePa9igxH/OcXZ1x6EWFtyLn1m625g8zPPWqy32nySD7I9Xe\r\n1dLOLVXAJZP6untbrrwOsba7x+GNTm+npyojeUqkkNHfbKYrnJRA8S5zij1G\r\n5LG3hJ8Z7v222K1SWzqCRGElRNbKZ0j4uhb9zUnlydKDQ+XTPtTJkFRxIgL5\r\nNFYRg4/Z7nKqb3IYKzhORdRsZCoXc1vrmeyQS0x6xxEqvL1AeZdvRL8oRtCE\r\nza+T8cwNOuuypQVPVB1dI1Viy5kXYqfVDTd0Q8BhATyU5hqvlnyguAnkHFwx\r\naWQqV5aJbHMbLBB7eMpCWrD0vdYZDuM07BsUD6M7jx7iSwPpVLBTx3ZDis8g\r\nIjfmZ4nK+gR52iGnDuailoosAkkLrT3GLq3b0uXsoUvQFguaAa0lKzd5+drw\r\naIyfxVw/Mj92ovK3FwzZEG0WI+C5ijI//hdvd2A/MHzOoWcqdRWjuRkCfhID\r\nzfcvrn/tIvQW5GnbXPp+h0Oy+T2bCg5yxoHvVPoBbVIquXOlfdUcmhUsrnlr\r\ngjsuJz554p6rfakVj7AHg5Twz//1TNfVTLk=\r\n=phJ9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"7613c5bef8d7bb02e60c8f5eee2b5332c71f9a34","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.3","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.13.0","dependencies":{"ini":"3.0.1","glob":"8.1.0","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.1","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.0","@adobe/helix-shared-indexer":"2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.32.0","lint-staged":"13.1.0","semantic-release":"19.0.5","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.1","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.20.2_1675271742060_0.510168746605836","host":"s3://npm-registry-packages"}},"14.20.3":{"name":"@adobe/helix-cli","version":"14.20.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.20.3","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1e446d25e13006f7ccf1599a1de6e978a25d3a4c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.20.3.tgz","fileCount":31,"integrity":"sha512-zduJFFn1rkur3NslOdkeoQf1SsBh0AUXvyMolWhaBgpsRuzI/++EWHAQ9mMWJkvEuIUYCZTFC0wH15c5oo1RGw==","signatures":[{"sig":"MEQCIAp0hBZpDFe+nyyTaj/6XsXayst/a6yF4m7Zdzn+WaRGAiAhIyob1eNGkRnr9vS4iy4/G4ppTbEG2vB4inGOV89NfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6k/+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrHyQ//X441223MQkMeL8PQg92dSM+HHDbS5KEtlXITErxbXi/39yBQ\r\nnfDNj/2zmnXIKTbNA5MIOUw4olI5tER1hsCSPQ+01cpql5RZpdSyVgdpSogB\r\nSZC07JmKWVElesIZvYiGDqsssFZz345E58D+ki72edEg20oxBBOCP+mQh/hX\r\n80/pi4uj9NXyp6yw31pzzKyBW8o6vCFE+VJBcCwkOo06Dh8w9GiHZ6xzaY8o\r\nXTGUH7z29+olLbUHSHch4UkN4dE4iJpCV3T9bYdG7Jczvy3yJvqbHGan+EoG\r\nwEcB4HXVzWvCJ6z9GKR6wfXJmbElBd+d79RBppPLs0Mox/8O0JdLrXziv4eK\r\nMgC/nwczggT1G/vaquzLkzwQsPPh5d1YWy3FEglJ/Ixfb9qBaeFEBarFUXmY\r\nTj28f1zqH+IKTwCM5CQXKKkk8SBPAJBjsvhNU3sekjeNjgp8KxKG2JSnacjg\r\n+0rqlS7z3IMy2Sm6qUHDo0MUYOa9/ZQxvqURT7BPbI1ObB36I/vODLqLvRJ4\r\niU39AkUfCwal1PuTdx2O2KaVPPa4c+WQwFqziNLBAWZBRzGzQr+/0Cn9uX5x\r\nmVUVEyNB0VASZWg0EUAfU9TKGcfedMcdrRss7rrmqO3YORPDRoC9T6nGIclu\r\nvgMU9O3m0L/k3Wjh5S2NaXlMBzCl01Q3ieY=\r\n=1y/H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"6fb80f16ab73cafe54adb9a1f56896619e81fe4e","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.3","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.14.0","dependencies":{"ini":"3.0.1","glob":"8.1.0","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.1","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.0","@adobe/helix-shared-indexer":"2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.32.0","lint-staged":"13.1.0","semantic-release":"19.0.5","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.1","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.20.3_1676300286022_0.9221000079420711","host":"s3://npm-registry-packages"}},"14.20.4":{"name":"@adobe/helix-cli","version":"14.20.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.20.4","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"545444aa57cd7008588a85fa1ccbcdfdab980cbc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.20.4.tgz","fileCount":31,"integrity":"sha512-bw1Qzot1VlUNd75uLsO5zSdvMYBZTh6H5cfs/kQvEXNsrR6bQGp2Fc6XAZTMwZfE99ldkB3l+E1mLd1rRF1Bsw==","signatures":[{"sig":"MEQCIHnNDzMfHnz6wiFw6coPprlUo4eXMGMxe7aDZMN0NplKAiBmGZrHzA1yov8CNW7awBPCxrgE364R0Wq99pSPNCtBvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331669,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6tTYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3uA//d0Ksauk2RSUggXjJrtDUisfYYqW3szqFqcnxz6Ad/W/f+OmV\r\nb8Yxmj1+2qD/vzJdr4cBH47KEwbV7Sm5ZzCoesyvZopGT/o2tBShptubVGo9\r\n6KX9Dyemez8Bll5lE3/JE9tA0IWKdkkMmPW4jV468RhVst/ZFuxNMx6oAlVg\r\n5PAiAXibi9F7gC6N3dBHWTvDAW2KG5U2DEPadlJ+RzU7jgbOXG4QqIkhx78V\r\nEmy/5WGn7MTZZSw48Izrl8HgvoehTeaEc1KaxvfXPEME3oZD4phzFvSJgVlG\r\n+XZg6wWtPYsN1BrNI12D8vR8qlsQH7sRPbwErKiPDhGWhNGY1NfrJkgmlsZQ\r\nL1UjTRVsjpwDwiEa6aCRCsBlO79pHfhnSf59IUYzomHD50OrVApZp5DyhWmN\r\naCfl0n/IIlCMKvVrZQjWtQBjkZfo8z+lj1FDXRGrB2sbyTcSmCoMzgmPVm1B\r\nqx2bRRqp1J00Hd9qgU5TkfNnlmIm5E+o+BY0/rkoEy6Fu711IvR+DJjNCv4b\r\nG2RqxDKVAMCz0enwiSJw9CcIBEyof9ZW2aY8mA/AgyyPNiHjPtjErRURRZH8\r\nlg5S1gDH6o1JfGTI6s7ynOg1g9X15AkvKs7R+Fnkp5HANJttADmcKBf9KYNt\r\nGMy6uwKYEf17gdH16D5qDhQ48f+LCMaKSDY=\r\n=Gf1Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"5bcb17cb7c8d954ac861204e469dff40469327a9","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.3","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.14.0","dependencies":{"ini":"3.0.1","glob":"8.1.0","open":"8.4.0","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.2","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.0","@adobe/helix-shared-indexer":"2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.32.0","lint-staged":"13.1.0","semantic-release":"19.0.5","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.1","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.20.4_1676334295746_0.9677964706774247","host":"s3://npm-registry-packages"}},"14.20.5":{"name":"@adobe/helix-cli","version":"14.20.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.20.5","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d49d4e70c32fcf69ffb25dc398f67fa265502ebb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.20.5.tgz","fileCount":31,"integrity":"sha512-eS7tmMsKMIRYvsBBKsXkXs0BA0zNpMCC45pAfwH/+g+YZXbvxkY1k2qMqc1oXWIguM7qswfGnwx5smedwfjhpw==","signatures":[{"sig":"MEQCIAUn61KnoK64OpF5ZC+06LqXGV1EWJV53tuwv9l8mabdAiBfy7YC9pFaHSoAELz441BR0azOHQWvelW7NXoVgSe/9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":332312,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj66emACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoWmw/5ALjNxjrCc7zz12hN3vaa6/amR8qLiacWlV2GhlqlPQaUIVCN\r\njo456VnLkoL5BNoB+O+MEfhVYb6ZA6qYoxz3TPCXJMVko4SU61iODOOkiYMQ\r\n1WetG3HRlM0/PsQ3iDZY3NOnWRC4baoaby7eklRkXiGjhGJBS9P3hlTx3w/Z\r\nT/ViElu3kXA5xgLmIA5N5KS+4ZETubPYNSq4AYfGYUKO07am7L7x3Bw8Ke/Y\r\nzn1sdVuKB8bTINgUt3NeG6gYeP3BpjMT4ZE5tlVRPzy7F1XfWGpp0Z2FyBHh\r\njXtVJRJ/QK/1ecgXA9vvqWxrGTw37QczNOxPbgdbJQNZMlqT71W72QxCIPfM\r\nicUU1bIr9VK7hUeedVC/W6SESnzu+hc7twegB9HqGo0+a3o1DaUIucHLJlID\r\nzw75NqBtHb9Cd9fNJN6AZem1bwJqrqGoDsIXCVc7LwK3qFeEGxHTmP3OImal\r\nX1AUOmWAw/due/Iw5z7SvN9NA/HxDbRJ9bCdS0HQhec0paTMsWFGLO83HeKL\r\n+koNLpPf0brjA0NLMiV9ER1jTM0mmcEn6EI0WMTHLEz4cA8hT0sM+P5MY9wc\r\nFIwRAMm8gD3GtceSixKHbjXv4sHZmpWiz/jsWMSxTMwn3rAQ2GacYQquj2qm\r\nJMpiVBr6hWhxRHUDVs6EGS2nU2lW4iL3eQM=\r\n=eVBD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"7abc4cbb4e84a680e27e52954c4fd665542efb30","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.3","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.14.0","dependencies":{"ini":"3.0.1","glob":"8.1.0","open":"8.4.1","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.2","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.0","@adobe/helix-shared-indexer":"2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.34.0","lint-staged":"13.1.2","semantic-release":"19.0.5","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.1","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.20.5_1676388262734_0.5663825105702271","host":"s3://npm-registry-packages"}},"14.20.6":{"name":"@adobe/helix-cli","version":"14.20.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.20.6","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"c6dd11099ac6c0775ecc3c761cc039f29c3b7cad","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.20.6.tgz","fileCount":31,"integrity":"sha512-lVQ/Gl/fkQkaAs17OSkAW/Amn5eBcuqxxqvXz55jJJ0IHciVcOktHGIeSzEuvTfF8I3+6U0TGK/p7vEgA7s9rg==","signatures":[{"sig":"MEYCIQC5gvOg3VYRCznmCa7SzqvgpBMMsNz3xNmX8gtEbbq7jgIhANHtz8M1wAa0qxOdqAeidOEEsRXTTZJLWPh+nmwjaR9L","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":332627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj67FQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo6Yw//ZO9VGd5DrBbpx9qxHTaJrb62cG6V9vy3Av5WdxwrQr3VarMZ\r\nKsC+I63mA47zSGB1BnmZWYQ1axh0VmlKcH04+w3qxo1cOivZkDdRLtG6jVO7\r\nZuVzFP0i6YkUotBymUURcZtQuN+XMmWmWLTCfCCA8Gfdl+H8weJa1bZ7ing9\r\nEB33Safs2mJgpovoZpKxN+qC88FXaIwjblQrDuGFFPzHIuXUhw+xSdpTud5Q\r\nW7QBAsFpZswJtEQjyhTMzsxRTloK/CzXFvPCby/lxZfo6y2FJiJ1cg98hU6g\r\naqZ6yTmBuQHiK6Hg7uyx/vu0L+H55KHhGtxazqSwXGvbULDcGVyXPHwfy4xY\r\nHsB5BljndvR84nEMS0KOtywaoUajipcrmTnRCCrcl9oZSqwABnYbAbxzN7q3\r\nI5mZKTHcJev7wOtLiGc9mwGK+s08DAvcttIM/gwgWDYjCjS02jKgxOpYgc0P\r\nbuoqbmbjO+HoYEBhf21G4kCIrGUtwtMoV3ivY3u7/ioI5j6+xzLfcc8Oct0t\r\nfaSCfAxrzOt/Ey8jFSUzUYMUIJDnsujkFktDaVGidK0rkl1iohN6YkxlszG3\r\nvXCqQn0tXoBAxM6WqccMQeOHlBRCYu7cdh03FzTdyMqh6l3llrUClJp+Toyq\r\n1y+yxDhsY3D5cS6R6zvt+KWpvBlMXVFecJs=\r\n=uG0Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"c3f935e98e37f0ffbcfa967ea1a2e1b55ce236b9","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.3","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.14.0","dependencies":{"ini":"3.0.1","glob":"8.1.0","open":"8.4.1","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.3","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.0","@adobe/helix-shared-indexer":"2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.34.0","lint-staged":"13.1.2","semantic-release":"20.1.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.1","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.20.6_1676390736098_0.9417459476155232","host":"s3://npm-registry-packages"}},"14.21.0":{"name":"@adobe/helix-cli","version":"14.21.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.21.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"976788a7795d36cb1b78b127875510710ef29c8b","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.21.0.tgz","fileCount":31,"integrity":"sha512-gD25awz80QZPoNpihprlRZxepZLPwoIyPRWY3PCAo7ASg+O1UuJh+9fyhfgxLSrGriI0778V9dRZrkt13QcidA==","signatures":[{"sig":"MEUCIQCxTeItNUvM0L6bw1y3DcfG2gn1lhKfy/FmOzPqcaMlqAIgZJ+/DZ4rGIw0ZZvopehAxTuBp1PX9oNxbsRy/bEziII=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":335533,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7caDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpxQ//TTQtzeGjp577ttGq2yoGeNlhBZKooWjP5KKmcU+koo61yY5Q\r\ntIQNk+Lz+EjSjsERwZMu14MNbH/i4J4A6MQq87NtHRif1e7PFJAxnDUGXKc7\r\na9S4hjP00SIxR7H87X9Sg9b8YJHD7Rw+fB1Mkn5XjpmS81bKCacvSfA3e18P\r\n2PzvCaQ5mbLJqhnkbFGZhdcj2hwEaB0uh1o7C2mIFTxeQWhgAZVDdUOjfr4Y\r\nfzbjyV6DJdRAxatCK4gbZRN6H2KU2rFm+8N4HdGdJL/362VnML5q4gtjcSEb\r\nzcC25D8p2jT7u6JCXHT4UKOpaceuHgoxJOwYCfeI17DLRrNbQDXO9LAbvNCE\r\nw6PU+sWWiwHZMnPWzqFPE7vtF9uFbgcwsVRMuidIsaLKoQt7aqzgfb1jg6U9\r\nufGE2yXGzUlpwNprDZ1kxjqnwAuCdOt/eNaajyDjIE4GBKXpRKYs+cpH3cb8\r\nDhH+uP6VSo2pNDuG5jQezRfVyfOHdbjaQsai6kRCScSBEMQv4JDmyohdi6l8\r\n39+/F7EI+yqCNquV0iSjnzTiItttTg0lKMGo5Hle5gJQfciIi0NNp2uy2uKd\r\nKUCt1Vhpe7wa0zTexa2dmRs1nA2UbKEMnO3rMg6KF+EMq3PdBvmZ3Z1T3r5S\r\nqTWAZD29JlycL6pBRFwkojwbuPvwG09Wmgw=\r\n=Imhn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"c85ed518a636cc7fb384049534ae874cc1a1fbc5","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.3","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.14.0","dependencies":{"ini":"3.0.1","glob":"8.1.0","open":"8.4.1","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.3","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.0","@adobe/helix-shared-indexer":"2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.34.0","lint-staged":"13.1.2","semantic-release":"20.1.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.1","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.21.0_1676527234948_0.16682462299097645","host":"s3://npm-registry-packages"}},"14.21.1":{"name":"@adobe/helix-cli","version":"14.21.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.21.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f8d3c4b6be6b842149f9719b3e9f9b580d1688ae","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.21.1.tgz","fileCount":31,"integrity":"sha512-gdddOG4eu9RWSTwwclHlz+NMpJJTKc0H76ieyjlzIE8a5PkdWTFzAGDzVKr1iWRxeFSUN9ckuQWaf9cJFsl37A==","signatures":[{"sig":"MEUCIQDKFrlkTIRYsSKDzZ/52CXkVBcATXlpho2bKnguOrirDAIgMyFbq2lBLIUB6SAp9rdmIR12iKyZtTjaLn23/JOJyqk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":335920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7lEnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEkg//T732rvcJy7TCWk3NFPTm9JA0aADetwmd/nej6ZHxRfCPRQt7\r\nPbWL77fbctPPs02diTplehF5nW1rmgT6J4r3Y6fCFVBdlDINUmzr/0k3v7Be\r\nkt1Pf1v1m53cguamSQMgbXe4RKtyx4+ShUOsFfi6Rxh0O6/o0nq12Dg4zUZG\r\n4WXCYT0jrhcaZ2FlknFYMcbW5SfWCyAUESFOYU+6FDuL/AVBNoIl3F08tNds\r\nZ3Yrvy/pfGh/4aF19dK+++6rYkznfYM3jgihldTuVWsZYzO/TPS4L2syPpCR\r\n4F/OMPaS78XNqG0mg2O311cmj4TmKn81/ISiwi2r4tiFh755SQdYtxvmLPN0\r\nBZwlTz2e5G5BJz0s875HUhxy+tqJasw6rsTgfJ4cmZrJ/b6fspurcSBXIOrO\r\nXdIs7GA2FsVhJWlB4dzdY+dSD5T0NZUvpODh/Zxdd7QPFMlodd9S6eJM9ovA\r\nZxphAAFoyOYy47IjephzyNNbfeCWtITM9OP0fG+ubKrOWAtnUh7lf5NnIjw6\r\nhcUABQCEALTD5TnXvroR6btUCCApBQAbGvJeVh19iqQxpUJcasSpmz9fN9kJ\r\n+RJuru65mPxTIoB4wUfL/t59GtQOyfzG+kKCkVJuVgpgUzOkIzOgM9zWUbfS\r\nvAMFyfw/2Wn359Ro104mIl9tPvYnpxFvtIQ=\r\n=zgXa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"c132e191430ac8061a5e1746e0e15e0c4eca068a","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.3","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.14.0","dependencies":{"ini":"3.0.1","glob":"8.1.0","open":"8.4.1","uuid":"9.0.0","yargs":"17.6.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.3","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.0","@adobe/helix-shared-indexer":"2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.34.0","lint-staged":"13.1.2","semantic-release":"20.1.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.1","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.21.1_1676562727420_0.9736810410485979","host":"s3://npm-registry-packages"}},"14.21.2":{"name":"@adobe/helix-cli","version":"14.21.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.21.2","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"770f061a5e7385ba6c568bb30599f14d217bed98","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.21.2.tgz","fileCount":31,"integrity":"sha512-3Ywohkn0/bzGznr3nes4J1utkisU+ZXLpWPdXt38ML+MK3bCun0szxisn/+K/8FgOJQTa2nozfKcbSg7YrS92Q==","signatures":[{"sig":"MEQCIDNiC1y51n7orsFpDhCPcSwnEJMq9YkxcedVPCtte48eAiBX+JIqBaQdoMB44Q/z9KCnd09A2f0gUVDVmYm0JSuUZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":336155,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9pFpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr4qQ//R5kj/J7+nxcUx0gCwbK7grhT2wV2ARI08JRwQjp3Qd8PuOYz\r\n2wNkDlVJkVc7Uv1uYpluBVIDBBzjfk4b2gVPJmwcGvTduehvtT0b8NnSrsAD\r\np4HXq4FXx9tgf4G0X5eJgtM4l1InZRuBFzLpcUzv2RT8p1yCzJQjDHVPGPJX\r\nnF3L4s/IRJEEMRFECSVqkQ2WQKOB9SxLFC3HU2x2q+pqIa5kAHbx7E/sYIQo\r\n9H68gA7wFFLZLRL8uiPtAW8b04ZUhcnK52JXGad0sUPDWTOJR5APDM8SkYqC\r\n5UsAPhkV2cUERsjIvduVLWgAAKUnFOq4HRCx66KC1RXUi3dY4TaUDkVHkF8a\r\njrL5g+uEYz4+RYXRwrRAM2cL4UehmzeJMYsNJtmblP3oX9tRvipFRVFaO8B6\r\noTdLIdjbX5Al9i8Uf1Vo8MVzzsqTm6+pHwzEAyjjhYdOy6LjFAZRkZiE/g4z\r\nls/EeQxHzA5GKKFOJCvbUvH3YcL9h/a8/6o1mbr2+wOU5sdiSInKuf0A5bMG\r\n/Qe+d8lIHFNabem01SvsK24KQ6YSiIyg0fE93MjxCvZTR8MrFoXf2f2aj0SP\r\nFDOHRzOiWNFiSER3E1vEXx2y6eKrcJTO512PENp3WBYwELHHFZbLM3UIBpAz\r\nQa4WkEBdQIeUYeVVDXpxHs72qc3LRE7nVa8=\r\n=UrGl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"9be323587efcb14e8ab546a19abdc73b75ce6958","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.3","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.14.0","dependencies":{"ini":"3.0.1","glob":"8.1.0","open":"8.4.1","uuid":"9.0.0","yargs":"17.7.0","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.3","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.1","@adobe/helix-shared-indexer":"2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.34.0","lint-staged":"13.1.2","semantic-release":"20.1.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.1","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.21.2_1677103464907_0.8713140952508169","host":"s3://npm-registry-packages"}},"14.21.3":{"name":"@adobe/helix-cli","version":"14.21.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.21.3","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f2d7f849e7f90d4bcff12e1e5e03ba099f6498ad","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.21.3.tgz","fileCount":31,"integrity":"sha512-bX01r4k8fCmJtXS4/WcU0bBkl/EAXYlYi66iReJTiTCDUT8oTxqJK75qD4xxANqQrJigBhHJOQwZljApr1LnnQ==","signatures":[{"sig":"MEQCIBUR9G8CXcAeadENGsl/R2PPi0DvsG1a/CojplJfovdYAiAu/LUKv466ig9iyINoSpB4QwTflNZRd8PC4sTgMH270g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":336393,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+kdWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpICBAAiLblRmdfp2JaHwpREkyhN2Zb48RmBO0fXpx/zS/SICgA3XJB\r\n8ZZIFwzby1fkgeKzUQ4px1kCYmbVLtoMGcR722gMyUITsf04FeKabnyk7ETI\r\nmTsvof1te0BwWevRFIRE1Sl8ebjbbaD/lhcVn1zFDBCHYw7DzKdRl0YxKFZC\r\nsdtsJusrGCT24Kr5DBrCeT/+wJPDe4sHywfmjAF+vYP9z1JwZm+MyfEMbDsL\r\nxw1Uli/qY6zYEd4MLsBN3l/jlaV9aGMWAjh+7/PwAryBAHcidOye6mF0Vo7r\r\nw5SF8T283KQjH38lEXbGg1HJNAXmu+2M7Fyf9sYS7uAas2BeI8N0FxdHSafV\r\nrSMqr0rtnAgp/qYxd6XAhu6SGwzZfHVveXJ7sXygoF2KJmemFyvmeW0jNrVv\r\n+k32sfgjd87F5WhyZx/165gsla0d+JMlW5Ox3BVgAtcBmhkMovqDrE/pwWM8\r\nQv2+j9TQZy6IPAhkSB6o3EeLBJZXqzTR9NVlcuezmRUPjDxjrweZj4libWkb\r\n8lGQh0YSJvHpGTXwmuO8G5yysTfriOhjUP50HewJxIDZFN6iRZCSfENe8Y93\r\n9mzG/d8O38rh5wesvanccOUn4BpL6DVYdzydCR75722bAlyjfaL/LaT/dlWS\r\nzCC1+uozuAPB8kHueT6S3NsHGzQ9t0bSFpE=\r\n=qKFm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"ff36807682812566141d7a980e30ea0642344d0a","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.3","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.14.1","dependencies":{"ini":"3.0.1","glob":"8.1.0","open":"8.4.2","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.3","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"3.4.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.1","@adobe/helix-shared-indexer":"2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.34.0","lint-staged":"13.1.2","semantic-release":"20.1.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.1","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.21.3_1677346646805_0.1544805050275404","host":"s3://npm-registry-packages"}},"14.21.4":{"name":"@adobe/helix-cli","version":"14.21.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.21.4","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"5bb22285c0ce8e3b7ed945af93e9ba199437c1cb","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.21.4.tgz","fileCount":31,"integrity":"sha512-LOMI/pbBNwc5Xkm3Rzijy48o8pwLlSDwsqkB6TUTxqe6wtTJcI2fGjUVCOT4ZzcdNXOQGxQIrGoiuj2czSNaWQ==","signatures":[{"sig":"MEYCIQDRN7pcRkrT44NoIH45ZUbTCzTQo0QiKbvRfeAWsEvEQQIhALCEyS2+rAFg/OA0sxfkauWeCFNHnyt9Tb5AM+uOlEhZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":336787,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+m91ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpNXA/5Aao13C6NuwDT9fOO7G6aSxvnrHp/0oFZhO4vz2+GM+OWuw7k\r\nzEF7jCNxiWmaN9AjK6ueEPzETT3ZltvOAyr0dwWpkBsyZASITRz98jItSZT4\r\nlTU/Ua+RL9kHcsGvs+EWy5j5TDNHd7yawC2TyIa4Y+YorMSWERVgVFv5B2mF\r\nvfl88+MyvgqHKuKnezIRmN9+YYX67lGwp+EB9+Dv8mZ+pj95WhONHei9GlgK\r\nxTaSI/OXXRmxLZZKRNDH1YqP2+jvRdgI9fXqnGY/gaEDwwJJfOGDw/iUDd9G\r\nCvRV9wsSo1hctUlWTH1rOrxEmoySvXjRk5xMW2+axkQ6intpU4eAgoLmzOn3\r\n/2ybXzKt3mqyxQ9HHaTx1cYIVSbS9/6JeRk2dp58jpNGjkkB9zXOnJI1eMDI\r\n0wXnElFtMuUk5sVcexBRgHNC2QkdC20bI0cCVvyUBBs13EgN7p8KdTJ3AKxv\r\na3mZe/dLY02HDS39of1ZpZn52p35Qeiwqw8WUWvqFUAbCzXbSJ6t7b6zmG3j\r\nWhwsfrNkT+ahaGirOn1e3RD0eaE41NPE+wUZISg+SzM41j+ReM7cRSPz4yMk\r\n+PONMg2WxxCW9lgapCmRvcvKZCO0sFDloRze8IIBO8DF9bcA4X42ts7+lF4j\r\nVrU1imtR3MiCeWR3/ZlSwtaRlo/asAZ41Tc=\r\n=wz9Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"a4a915ced43fe7295102ff2fa8f9bca579518a4c","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.14.1","dependencies":{"ini":"3.0.1","glob":"8.1.0","open":"8.4.2","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.4","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.0","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.1","@adobe/helix-shared-indexer":"2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.34.0","lint-staged":"13.1.2","semantic-release":"20.1.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.21.4_1677356917160_0.45173671502161694","host":"s3://npm-registry-packages"}},"14.21.5":{"name":"@adobe/helix-cli","version":"14.21.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.21.5","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"03722e8046ac969d1cd190741857a9e9ade21188","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.21.5.tgz","fileCount":31,"integrity":"sha512-NocZiOMDVDhAgD7Sd1EG3xiZW4oXPO5NgPW/pbc/Ylcg8nv/YDM1+ZkgB7FwBJPXtRw1/Xo0PpJ6W/R0ulNobA==","signatures":[{"sig":"MEUCIQDSpx3mqCDwf9Renaze8UnM2AVhaaq+DiehCpNRmI9WrwIgbwJ4fpJHrMVN6Fbv3IswFTKkiOQaGvrkHDKBjbRkRYA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":337044,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD80iACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/dw//fEsR+hn6zgzheBi/lY0HH63L1moM6/pXSSz9pZRO023AqdHw\r\n2J8sDHR9qW+0lyqQTVBz+oMZswdAx2CALh8LikBx6so7/yaSIW7rcmiNBH/A\r\nwon9U8CgSooIcK1vO4MJud7emM+0FsGQb6WzR7oGk+wIsLm8dyK8IhmgNNG/\r\nsCfafDNEJA4d9ugHQ6OCmgQnQ122SoC8bPcMxXfaTDjwmO3Oz7QRk+Kzxwgi\r\nExOtcI6jGyjbwUxRFf/m2vbK6cANAEiqwtCwtOeVIqO3wi5WTqxIKQQheUTf\r\ns9rVOyoOCDSKNK9br3lzjIv67OqUAdrWXEWr+xDARWAmb40d02PtAp3H2wLt\r\n3xJgIYVi10wYjyigCqr1QWzL71Grk0LGypLlE+ATr57kkS93shIfEmqbgHdR\r\njH2WJt/V5rW7BAUH2zE2ac9uc43XEuk4NpvFwNnR7ncOXH5TquJM1bZ485fz\r\nUGzKb7hh2+uTQV+awJgY8XAjkyDhdfyKwSDfDBAddq1+y/3oMiP5UdBizzCo\r\nhBfp63S0OKPRspZhKTKmIKtJyE13kdIC45J4WrF0ItXn7jpSGcJDuAlg6Ygn\r\nlv3PODBn9o4LBjgdVqSVWowGfICNFF1e51eS8mrGFBOOQ1nC2kTOrMxpNZV2\r\nlJAZHpcwBsoDW0JV0TymmK/9/UuDII+flm8=\r\n=RwVk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"b1770ebf4ba7d57abb1211c0afaa1f31edfdd8a2","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.14.2","dependencies":{"ini":"3.0.1","glob":"8.1.0","open":"8.4.2","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.5","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.1","@adobe/helix-shared-indexer":"2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.36.0","lint-staged":"13.2.0","semantic-release":"20.1.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.21.5_1678757154165_0.2810470100342357","host":"s3://npm-registry-packages"}},"14.22.0":{"name":"@adobe/helix-cli","version":"14.22.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.22.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"e5a42d4b5bd1c5cbb6d0ad51d46008efa1d74636","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.22.0.tgz","fileCount":34,"integrity":"sha512-mwPJMt3k3LakwtxxkFadZprW6GpcbZYssuQHvrlG0YJVaXNmMJ091LlgmLVZh/LvlGwX0+K1sNrLoU43lrttZw==","signatures":[{"sig":"MEQCICaq0SIQklafqnzRM+FSoUEYjNZNqiBWVHJ5ucqq6RXbAiBGICQWtn2N/eyqN2RGimsmELLPr4/JpjpDTVo+S6un3g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":340748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEvGHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpK9w//fh4XjEOWryPNVe8zO6OlrSID785UVivioUWAKWnJKZiVSR6l\r\nWjHBJOe6M8B9jk0lrwBj6dyy6AQ18FScxKEwOjhto0roRcFDoo5dzgYEiBRO\r\nn33NPVvS8v76MPIg4OTRSsS5IzObccT/Wx1haq3hHs7Jt6j15+DhTMzR/e6y\r\nbTPQ6toRnQ9ot918OMy8dhMcTI9ThfAJ6iA/p2LgS9334nO/CY2Aw+BNbUML\r\nMAvtHST3fNG4e/q8stEbNirFxLEWbr4ib2hM4Wwp9d7F403M6g5rNyfYS7cM\r\nyb6JiqdYI1qpbbcfJ47y8oFbYyPt/Hf37eMN7a7bPKtLWgZGO9i2MUJAivwG\r\noqkJexZK+iPUSas7NWbfR5wFe+l4w7XhXNeDpApimhk/we7QUgEX5Cc6vz9v\r\njfg1bqJkduGW3owiRw/FY3itEwtBNLz6eqduWAZCOUCIcdK6HeFH7SelZora\r\nJMYRMr7ncZErRyuW0x/KZbZwE4RUbp1Yq1Zk1jh6oPGOl/R/1yvXQJtG2p/3\r\nqu34lTIsu7vERHVsi6wl/xQEQAnoW+5Ni0MwAYf4SKQvUBC/FxEV2xXyUJBU\r\ni2/3K0aXndblCHNYiBLe3aKCVFNXADQB9l2QJM4aV6JQvl3r8ii5tkrvmP80\r\n+6OzpTPyp6Is8twm/M3bH+dZGqs1Vi11fHs=\r\n=wVMP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"524e2d2dc4376002afa7b325a61c776128033a51","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.15.0","dependencies":{"ini":"3.0.1","glob":"9.3.0","open":"8.4.2","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.5","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.21.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.1","@adobe/helix-shared-indexer":"2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.1","eslint":"8.36.0","esmock":"2.1.0","lint-staged":"13.2.0","semantic-release":"20.1.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.22.0_1678963079376_0.7879583535910388","host":"s3://npm-registry-packages"}},"14.22.1":{"name":"@adobe/helix-cli","version":"14.22.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.22.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"9e89d0e3b830b87559b7f0406ab6b03137ec1dbf","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.22.1.tgz","fileCount":34,"integrity":"sha512-sTnIItsWAq5GyCSypHyEsp9u80E2YrqUCh4yXttxhvgJf+fX5d7eSlN2QYRpv0Tl/SgbbEC3aLmjnTXE8hLqXA==","signatures":[{"sig":"MEYCIQCgXBVrqfBMq+fllzyNCSTOPGxiMArJvVU6SZEX5uxVVAIhANusl6kI9jVJ2oSPKQMsMeTEjiJhnsI7B0+yZSsKmSkD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":340986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFgx3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrv1Q/+MSVuEK4IT9BpfOPq3Ecp3pIkJiA9w/cvviEJGNIXq8KSYvLm\r\nAs4JY80SiZp+xuAX39Yj91sU83YYge6p5DgDmTT7M6Zxa8KxiW3GwAsrsBc0\r\nXYUXKHsO8/cZeoCdfoq23E1cUYdnN4FcGlABr8jsQpdI3Gk1zc65xWAHMNix\r\n1QSbs5uGSjnCJJI14l1iwTXeDq6sCmIpg/n3m7T26pIw8X1s7b2q2Nwi38K3\r\nJQjtyBSRmmbTTseqcB2XoSTxIvj+IAjM9H2dyywg9aP67E+NhMX0nb7Jfev2\r\nbmpFzr7o/sLowTRvJsW7v4O6f7Y0YxTEkgU1K1nzzro1MWD5VyxiD27kVNng\r\ngwF1SgRmecULAODQG1hsyf4dUvXwD4hLkdPAU/1cp2PJJtY4hANIt+1vQYZe\r\nNHfS1uLdMEKnzDdwSiJ8Dma+77eWmdNZsfsNlgwGNs3ch8EQTvyfNmp4xxM1\r\n2IxXW5NqxQ1fbzSaGboETI4z9gNSSxLfHypYFfRsLfKPg0cnfwXR5nXFZyEv\r\nA80asHRX9OjGcGkZmfaQflQG4QRe5gfk3UB0vmYVVZSmi7tke4rJ6Z2sw4/Z\r\n9w8WPpnRTeWhjG5x/Y3UOWf2P1s6XrlXHKB+5RZOYcthsxkTIvJZphi49CZK\r\npnoz0hI+0yh5f6m0PE16JLDxE9pu01NFmsc=\r\n=/bfT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"f8e16821311d370a2638954c3ced9a97c6f3d0b7","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.15.0","dependencies":{"ini":"3.0.1","glob":"9.3.0","open":"8.4.2","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.5","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"0.5.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.1","@adobe/helix-shared-indexer":"2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.2","eslint":"8.36.0","esmock":"2.1.0","lint-staged":"13.2.0","semantic-release":"20.1.3","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.22.1_1679166583147_0.17735766575912648","host":"s3://npm-registry-packages"}},"14.22.2":{"name":"@adobe/helix-cli","version":"14.22.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.22.2","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"21593394ed22ff81353740ceabe9fbd5f5f4ceb3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.22.2.tgz","fileCount":34,"integrity":"sha512-5zqu1MA0Uz4QXUdhfQrSkQOvZauXrcUKVCdAne+5/gX4Rx3p2f1uIVgsdX/yu5wJkeAwsEXDYyMf3BpAuG+idA==","signatures":[{"sig":"MEUCIQDWo+vBHFOtXMWeoe39/xC/GOR5NxKW2/uMrX8tS8HTCAIgJLdtz3mOOHQi7K6SF151yPVvft4yRLeLm3tMms834Ys=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":341282,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGYJEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoz3A//Z2UNS6mLYEuZ+ndy4CROiP+Kn0xm/R5zyWVxCi6AsR6ECqqy\r\nJXFvt66Z3Lp8OyMLAzq6klkGnwyeS78AdGCaBjlIoYhJ/2Ai5tEG0yb3hElZ\r\nvo+BLGatVCTFOoQB+NmLnvGj7znLMrI+lMfv1N7R6qlC9i1QVlAcYbwCghDc\r\nUyd/fHtz1ccHKvZjLjmrota0KVcTY8cFeGBUZau12THI1Iz1d3ydCKAZiYaJ\r\njj2dKwDVDsBPFsh755RAamRjqMZ1tEMrxKh1blUXZJtpPnYlSosF6o5mXnhm\r\nreHvxTSFo+eg9j8kJlwv++557FgHXSqIYspDYSvAR73z1vG1T1tB+VDC7B7R\r\nisCf1ASMnkuBS9lHvKUGA9+bgTMPNd1Dqkfz+jgrJh7QeqQweL8S7wSyYN3A\r\nHVF9IG1PfEGkm3z/Z3Om4AyMlxJDUJ2qdDwVWvYT3nLD/8dKSTlWvUNZWe7K\r\nhn3QJt8zlkr/Jtph0W0r4+eXJQ2Cd4Sp29j8RoZDGJ1WO967ancO/zcBYM6q\r\nAAOwwXFiRi+TC4vWo1xLFScs3sTkD99203vZqwHMhRSt3IoN+v2Sw+Ccxkel\r\nQbcDI6e5sngKRvaoqbvIsKF7nm4dzVcVskuQ4YXkH/kN5B32LviL4hvb/uyL\r\ns0Nu1vAH+AXJEzLANqX82HBlJ4SAj8Uddic=\r\n=dmhR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"2ed7ced32f05961b730d01619e74e2c7e8980bfd","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.15.0","dependencies":{"ini":"3.0.1","glob":"9.3.0","open":"9.0.0","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.5","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.1","@adobe/helix-shared-indexer":"2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.2","eslint":"8.36.0","esmock":"2.1.0","lint-staged":"13.2.0","semantic-release":"20.1.3","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.22.2_1679393347928_0.3843501101911333","host":"s3://npm-registry-packages"}},"14.22.3":{"name":"@adobe/helix-cli","version":"14.22.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.22.3","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"95e1128b237132f3052083ae0c3be118f1e0a553","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.22.3.tgz","fileCount":34,"integrity":"sha512-3SxrXQzKleWJY4UMGqoc9qq0OjzfD7IeEaMO0TgAHic3k8U+F0rCZ8rXglk4pvn+6q1tqMF8hcOwkfkv2voA3w==","signatures":[{"sig":"MEQCIBXRFl40NnAOQ8QgD52weTUZ2rVJyGduuGnCDR/e4QhEAiAZs7uabP20k5OILT7pYI9QQK1823UeKVp/TAase5Q/kg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":341597,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGZdvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpRgQ/9FnhIQbjUTmdzfIPcAMB+AIks4gU9HQgkZJlQTCGS59nxN0IW\r\n9CzznpfuNHeJJBrkfoJsYKkmiTo38CGof9CPyVO8m+m1g5KGw9d+myNhvKt0\r\na4tF6f3muya8/AOQchxJufIUCUDSJeCAqPojQGRBsSqq/dquNpvBJSqSJe06\r\nhbGbvcmvViBBQVPWt7I2amqE5OJI9/WINs9ZALQXM0awnlvkfGGwQe/kke37\r\nb0O3NKWq1K2E254IjZCnGo9Uc4FMrqsgjAb5bL3qCNpCknwBWCJQ7xCXPfa6\r\nX3LdPSlwImKxjolzus86t8IifNq7zMCNQ3fJgujLKe+6cbaH8LM3mMH61//n\r\nJX1FMxJb1AUCwUzmIDKNwge9gHbgPw237GPSA/K1l5UUzdFDZSsLQVWFh1MF\r\ns5DzlwHjoXOlPZVI/MmVhdUj7uwF0gF5iZtk6JzPvb/6Nhh8DuJv0gbiInDq\r\ncP5WLiziJbFw1RYgUkzbfeBoKJ4UfWKrVlVcNwjGcnTZ1MjbqrHqa6hC0L3i\r\nKOIAj6BrgVRdlAA5j/KFyf0iFCX0XCUBH09cc5QL7OQJ87aIRW8Bi96sHu90\r\npF+zK14HkpMIdv0EavZqn6znJU9h9snBORZG9cLrn8sdiEHOmhZff1I7IIlQ\r\nD9f1Tk6A93y9gOSQWmAAUgF4a6md1Aui+n4=\r\n=uSRK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"11fa2187fa21ce039e143a9d15e71edce6dacaba","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"8.19.4","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.15.0","dependencies":{"ini":"3.0.1","glob":"9.3.0","open":"9.0.0","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.0","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.6","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.1","@adobe/helix-shared-indexer":"2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.2","eslint":"8.36.0","esmock":"2.1.0","lint-staged":"13.2.0","semantic-release":"20.1.3","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.2"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.22.3_1679398767667_0.7025269753778738","host":"s3://npm-registry-packages"}},"14.22.4":{"name":"@adobe/helix-cli","version":"14.22.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.22.4","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"85813d2ccc11fd660add71fea42d3d64f41fc5e0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.22.4.tgz","fileCount":34,"integrity":"sha512-gPGIEu3EyVw9k9yLZwEjvwFVq/dLKKPKiXAW2q2HYCM/24SOlH/tPhFoRuQI+ORuy/LkD4j/BuTM4Ufke5EzVg==","signatures":[{"sig":"MEUCIQCErJ3VAy503LuIpq63wqGJhPGXWE4tMZetLovRs+18MAIgCmE/Z8DLgQgBJSnarT1+8/vY0nhQvbGlqUp1i8IZZ/E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":342337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIqAGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6YRAAiMbDC4o9vXpaovKV91nyGNarKsXIF8C7uBP9esO+rv1PU+0w\r\nPWNXYdiHPHyHH/zZGMakVPrSNvsUPSg2UHpYb14L9SldWtGrBIlQCsRCUyur\r\n6tu5INKyugFu5Y0wCe0qhAPQDhACD/zLD+40HyVhNgEnoNhBK3mB0ov+8dli\r\n4Ba0bwMlIjZ4PSzwkbDhcJEMWJmPKwFsvCLKTXpJdW20ALvkbm+AfuZ/FJ8d\r\nJmWkiE+qH/P5w1XaN3r/jX8c0YgmVjawtok8lWLd6JksKwVp/Z9SX9MnIKDe\r\n4udCFo2mLu2opHLA91MBt8s+pjJV0fegEfWuIo5vyKADUhUJUwPIFGDqXEER\r\nFYUjX7R5YnzkPuLTtoiuAjBLL29PjG29UXjfrxMG7sSmm+dv79lL9QPLk9/+\r\nSrsLt49w9b9pceABGkvOEsB00yQwU4nvGr4iDd1C990tmvUaQxJm72GTe4D/\r\nRfwIBKLPO4cvx+TpY6XKIXkgerE4SHQz0pfJ0q/8GlNWDQnRnU/I76E+qlh/\r\n0jI2DVZa0FLHAJz0lIXtRzpwrAJPSty3qwCFGyBECXz2gn3JpZ3nVIxR0BWK\r\nT6lIg0b7vtqaNfJ06buSmHXRBQq2el/8FIYGm/N5khRnyDycM1Ly38GMZm12\r\nfKxBq95UoXWuBeIBG72i0a8MiTm16/lvs4Y=\r\n=5OLN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"6199d7bfc59516e85998b65a475602bdde6712a8","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.15.0","dependencies":{"ini":"4.0.0","glob":"9.3.2","open":"9.0.0","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.6","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.2","@adobe/helix-shared-indexer":"2.0.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.2","eslint":"8.36.0","esmock":"2.2.0","lint-staged":"13.2.0","semantic-release":"21.0.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.22.4_1679990790152_0.8000518571126101","host":"s3://npm-registry-packages"}},"14.22.5":{"name":"@adobe/helix-cli","version":"14.22.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.22.5","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"f447b793de8a9f432b20eb83ff865212fb0711b0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.22.5.tgz","fileCount":34,"integrity":"sha512-R9M5QO5HoFrb801LnjNhDH3U41ohCDqUhJtHL1G0tDCqo2Zbukc4Zs305FVT5SE3iDYRDH9+CVx868x1fqVXHg==","signatures":[{"sig":"MEYCIQD5SU1xzP0ence0y2RWo15iA8ef04DaSHmpeYXqQiAauwIhAI7RXK1+phdEgWos4McKhP96bAmen0JlK4E50LG+rrJd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":343032,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJXr0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqujw//Q5FVwrXLOPSr+JWMTPH73ckkzTZgWNNO91mMBb2cW6e1/LlH\r\nkNaR2skT6LsSfaE9yyZUKKyZBsOdftriTXcFfb4HlPZHCFPFnqpYiWGrA0T/\r\netkP/FDINMDeyFR1aQqnNYQvTuyxTskTJtDyffX7ZjIB+8KDCpwBplBgRjx1\r\n18rOSlGVfgKCZWGn/VLFLih76XaMazpQTpYdIpntt8o8yH65D9lRm8baXOiy\r\nbW+7/VgANYu/2snKPH6+1CaduryoAawB8CpZC7Nbd1ApEb7TxmWEEJ/6kkvy\r\nc2NTaWHgBREzSlFJoPygKdt2TDzDlILjD7Sm45THxzgYq3r2uagsupDWKMH3\r\nFZ5FVVJvVZUslJOTZU9BWlipBZ6NM66Wdpwga5sg6JzhP7L+CNCm1VMcIwcl\r\nUTpMZbXNsicmn/9yPbrpVVh9NWZ2ZrGJr/n4mWacsqQmind3BDTdNTJwph+l\r\nhQndYNj7rqVkKPPgxaSJm1ldD9krjQb+qIReWlS2lBBWFQkHkqpgYhDVvInV\r\noVczO3ki63jxEofZ84XBdC1rF2Bde5UshYXDs1tgdB++HEQ2etbkiBT9yF4R\r\nGZQp3fLpu7Ort5xgrrr5MGex5X4A3YHm+sZ6z36krT5oLsCUNBQY7R9UQJaE\r\nn2IJrYwFRVMQF3RdMdecljE0wb5pYbGJQdg=\r\n=ybLM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"715735218fa247a89df837f9d53003f22fbd7164","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.15.0","dependencies":{"ini":"4.0.0","glob":"9.3.2","open":"9.0.0","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.6","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.2","@adobe/helix-shared-indexer":"2.0.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.2","eslint":"8.36.0","esmock":"2.2.0","lint-staged":"13.2.0","semantic-release":"21.0.0","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.22.5_1680177908520_0.09081385545287812","host":"s3://npm-registry-packages"}},"14.22.6":{"name":"@adobe/helix-cli","version":"14.22.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.22.6","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"264f4afedf9459a8d4069eb6bb16431ed7aa0fce","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.22.6.tgz","fileCount":34,"integrity":"sha512-f7DYjBm6QE0HWSBSudhrmFn4hQXoWUmRpif6dvT9XArePPFlOayB9kJByajia8qqttqk/ytBdxbFYdaA88Z5oA==","signatures":[{"sig":"MEYCIQDoCQbOEIaa3lmYvU52ukI2ZAbyb2NqqPJKAeH34oEynwIhAJhs8e2ugwVBPZO2nlzI79GZzgK3zmQPNlm3R0raWWqd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":343337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNV5xACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqzpA//XMh1twAhR9BdhADfs/+Ysm7CUMj3MdcVusWG+63AlnQQkqcN\r\nKaKIgv8V4d1lCWFi3G8eNjWY6r2nWWZN0mARc2ggFuF1B9R7xgVjTHiCLcBa\r\nWDdvG6TZ+sXFThCxLfdj4zsYS1tODUA2IhaH2Fxnyo6cAbO4E8/TldhE6Vj6\r\nA+FOAJ68KmbXLT3IiWMhfTG7SekHTrYL/EaUGmtOveXaMF8ip82QJK17u89j\r\nnFlph5oXSPjLExYYpGV0Y/ZgJnjwna+r7mOkUIXQLWVZf1FIhiqtlV6eXDPe\r\ngMbi6otU1p32XHgdnhoH7iGpuUWz6EC3+4sIGqo12H90vl2jZHmY5IVMuUsF\r\nsaIXilMw64To2VZSImRLRLbOdrMx9KHOagPROHWjMDykLNqOHBpk+Za7ee/E\r\nW/wS3mZqDtyRJj2V3D59yTNlKZ64l5DmObcGBF9dQe97OCzeNsWLLShuyQnd\r\nGXcFqQomE2LYLSN8HaRtwFqhtFmslMG2mmH5crQixuyjQpb4o+Ev2SYB0miT\r\npf06OzP80ivG1b8ZiiXjKZDcClv+njAwm589e9+45PKR6PQH5xLVejtPPH9d\r\nu/6rk6F0jny/y90F8fZO1L/9CZBYmYTAr7Zs1gztW9m87fUD6bYLLtSGS5z/\r\n6mvYnhSCxHwtHSBBO+9rzcloHR/OgQyP4kg=\r\n=Gf3J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"5f77c10fcbfa854899d3482bcc9092e47b668be3","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.15.0","dependencies":{"ini":"4.0.0","glob":"10.0.0","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.6","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.2","@adobe/helix-shared-indexer":"2.0.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.3","eslint":"8.38.0","esmock":"2.2.1","lint-staged":"13.2.1","semantic-release":"21.0.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.22.6_1681219185041_0.9893347600185394","host":"s3://npm-registry-packages"}},"14.22.7":{"name":"@adobe/helix-cli","version":"14.22.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.22.7","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"09ed0cad663cb77104ce93de0e3a6560f81464f2","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.22.7.tgz","fileCount":34,"integrity":"sha512-TvjVtqnjjshOWkTynFfh28T7kVZVApnRnuEiTPcMn07un3/wYESobI7IykfEC+JoPMXfb+vSWedLn+qyLLhUMA==","signatures":[{"sig":"MEUCIQDiFYEGadcjo150dQ+uhC0PZtAsfmaEfk0UEDiKBp6MpgIgUld5ncUo0HbG0i9P1HJ6VvMoyZYYzLj5UTTUw/Q8/qk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":343667,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNWQDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpyDQ//ShjDqPtV1kZ0D9CMJfvb3hpLRuONYzD0QLM6XSDQr3QBidAy\r\n8SfSRfTZ3BgQc0jYSraTf2/v0CLtCIk2eULzb4ZTIYLMFLdyExAswYhWLKnT\r\nXXrzFDJ5xaAgVd1WiqwoiFZ3IhuhWBWXlHfytMlCVoPlNJbPuRgJfXOk4qrW\r\nac1Q/y0LaTS+F0vehOYZ01o/WT22J302YAjB+hjnE2gFhAWd//AH25aFjS1T\r\na9sGAnzDpjDWVVf46smCmeKHe/838wEklgx0CGW+msQW+nP9z3nPuywztGXQ\r\ndM/VCU9AF59+/BBB8XyzOLl1h7UJCCJJnna3/NpJq0leJmHsPumVwqzdljW1\r\nhvozBcBgF/AcDNDo0gwuWjPQg2JLKidCB4V4EacbbGzbPyHOr1Gql3F6RmUt\r\nmrwkY+WPhGXj97bNKqL25K3/oV3P72O3Ny+AOkqUC8akjdKkdlglCbCoAGwy\r\nYh7v5tn41yPbWe/o4WGiShcE8iLLzvegdmWMtarH74OcJSZrHO+wzwZjPSWZ\r\nUwvZUMcpJ7jAFfr0US+jUzFWhet3WPtxDJTlrTAUFpNi7w82ypKhjMsLw77b\r\n/X15hdbFCVPmKsBvTvEI0UXAAUdvfzkIY5mH//8bJiE7h14bOlgQPpds8dZW\r\n4KxwqBw+J+DrxdpdRexOSgzOHM4b1ogtdKA=\r\n=Cbi9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"d252cfd561907d7ce4695a39887f1f1bffed8e7d","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.15.0","dependencies":{"ini":"4.0.0","glob":"10.0.0","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.6","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.3","@adobe/helix-shared-indexer":"2.0.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.3","eslint":"8.38.0","esmock":"2.2.1","lint-staged":"13.2.1","semantic-release":"21.0.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.22.7_1681220611118_0.27390577081486733","host":"s3://npm-registry-packages"}},"14.22.8":{"name":"@adobe/helix-cli","version":"14.22.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.22.8","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2bd108b3e794531ef7fc5561d5dad22ffb338fb4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.22.8.tgz","fileCount":34,"integrity":"sha512-jiCAepgwC0jXDcQPjaLDQG7phvlELSwyBHXwpjqT3qcX/Cx64qrwuZiNWH24ZdWqzlXrE20ydBMSq6wNIE4KyQ==","signatures":[{"sig":"MEQCIHCVeucck6uL3ayiyMym9O2B9Zl+qBXs05xD3e/5q3+xAiBMP6zT9v3mt+wwbzpQG8dj4KoiaOd0MUpGviEfAmMCIA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":343982,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNoGSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpx5g/+OJfF/6rQezD0wswp9VFVlqlzE4utckcBE/yLFFBBmc7DZECE\r\nCB1P8LUOvQlH66HJifGrSska9UWNLDgGJvhKTuAVRDNkBJasXd2I02IXuYgk\r\n5GVfCUK75XXFzxl26+SnQQORU7cztfKrpbD3Jf2NrRTT//a3EHcLyRDLzVgt\r\npVWnB4rDpsAPG6fJ4SrTafdQul3Gt2GA6+LKQd3NN1AhnuTxvtP6cBRgx9H1\r\n87G7WaMWhq3pH12KST+GiiAMJNaPA0dNPmh6QyzYxKBkOu5H+v54iwNOEhtV\r\nK6ws6NVfgvmVkqDKjRUuhhkqy/91QMi1Ncye3PF5rd4wVH7f2Bc+p0VHHK6A\r\ne93mBnaY+YMgu+9oRAimQ2Ib9P1LUNzlso+TCOcpKfDwI7k/nLCb74UF4wKW\r\nJRoAUHyYNVjDrO0N5owfCpF+zkQf/NKVkI6p+gLpJT0fo+Kgj0eH2LjG6yJo\r\nUpuFjEwLNS646vNjeIAr+k0d9PfaOGijK6kdKjl2k93GcYv1ULv6Q3T8biZ/\r\nf0ZGmCS5DUiXQAVVQgLcIPhbw3liuz/rvc34cxst411368OHBqsD/duKw8co\r\nZYFpc4yo+sye8kvtJOZjqy+5D6YeM2zDdgWFYLDC/wmnukP1VFQyK4PnQVLX\r\nYDEmYYif9Im+NsWlAZv1R7mVoc12zSgo5fQ=\r\n=bGMu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"9fd2171990fc84ef2e7605da6666142d07b93ccd","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.15.0","dependencies":{"ini":"4.0.0","glob":"10.0.0","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.7","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.3","@adobe/helix-shared-indexer":"2.0.3"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.3","eslint":"8.38.0","esmock":"2.2.1","lint-staged":"13.2.1","semantic-release":"21.0.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.22.8_1681293714666_0.10010407981268621","host":"s3://npm-registry-packages"}},"14.22.9":{"name":"@adobe/helix-cli","version":"14.22.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.22.9","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"11d1c7b394a3083ed16bf983d1f78b3fe8d84b9e","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.22.9.tgz","fileCount":34,"integrity":"sha512-6Q1AXvm8HIqQ8dxbhoCyXiiMyHKBJ6ATdy4Qp5GjCM1aj4or4EQY/dskwlbfiULa5pUwybAniXKE4gQ5i4L62g==","signatures":[{"sig":"MEYCIQDRjpO8TYYL0keJHCEeg3IjPtGTHuniEe8EvsUi2s9RjAIhALqMjPSopxTmMy/WxjTogztPcrd/Kcy393zDCOWPy045","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":344254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNyL5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp6Ng//SHd4xvUqhN//hWdyxaELsi+M17owdsHq3QjrLhWdWY1Ku+Mp\r\nzQpnaYfOJt96jNS1CD4rDd073OCK+Rb0IV5eQgaV7jTja6w3jupQrpdDPrVQ\r\nMRczKHBqI8jmLskaTXsLu16KGM20TZu0349jcqlIQwlFqn/GU3XFK/W66D5J\r\nTAJvZYq/q4KSJ+T5MujpaaeC+EXSGx0lQXlcuBM3/RwMsveGK0s7It20hWkY\r\nFLBHpqNzY1lYtR8zENR6FrkHKWekawDt1Rt4ttqf5VG4wsQy8JqCxQgvuyr4\r\nvx9t6laFYPb3ycgsHfUOLiYVZ8ckwO4R5P6v5IFMCXBlHEYQq9lgi8C+YnyL\r\nH8E1kShpI27oFyHFhzpUBLU507w4HObllWB09okZPMbtmvnJp9svfMEs/zx7\r\niUMq2D+x7bh1sudeXsRxWtDjXnJ7B6g/0cdfFg2n1ytsF8FuXLPnoZ8sGvHt\r\nHKNNsn6N1/Yfof03UBr5wVRlgvfFUIZ235DiCBA14ZCaKLDVdfSxmGbL1I0s\r\nIWJGhGIbuWwHBtJVl+VneXjZymUcj13L1e5uCJzf2N1QP52uO52bh/OGJCQm\r\nB0rp61dwrO+6QfElVnPPLBCV5KlI3tWxLEwnC7ngPcEKI7xXF5BOmYKBYmeF\r\n9lJd/ZKMQ7hGho4GVSHe6t3Qy0WWqnnEvbs=\r\n=0013\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"41d7190e5cf45cc58f556d55868eaa1ba664d5ae","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.15.0","dependencies":{"ini":"4.0.0","glob":"10.0.0","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.7","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.3","@adobe/helix-shared-indexer":"2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.3","eslint":"8.38.0","esmock":"2.2.1","lint-staged":"13.2.1","semantic-release":"21.0.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.22.9_1681335033047_0.6234092699058718","host":"s3://npm-registry-packages"}},"14.22.10":{"name":"@adobe/helix-cli","version":"14.22.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.22.10","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8a17b751745a41914f93573141bdaf0e58253953","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.22.10.tgz","fileCount":34,"integrity":"sha512-jfYcN29gdWAhFEYux+ywVFa7py/QJpCuPURHmLs1LDxBOaiurfoSTvuXxezi8w7t0TrUFyonoZdaTIIuPJYrwg==","signatures":[{"sig":"MEQCICf6GnCrzZCsn/2aefOHcVxkAcXxzNlPn4aHkkvXjF8lAiAaFa9BKO88DvD6vjsXWxY1Q3PwgxDKSbG5VgcWaNw5pA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":344572,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkN/AoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoxmA//Z0Ek655ouuma6PrsaLkY/ZjSfOuKq56YdFxUUJ8xXx//pp3y\r\n8n9IbP+ZXXiLWHrkBip29GL8UFL/z6kP/eXJWy0+NMK0fshucgXkHXI1mtlC\r\nBDgYszIXYGrU0lpVRyiUnWBFQ5qQG5sRPSGIhS9kuRmeI6RRwEfUT5QDnQNR\r\n6uPUKWb6669PrdkiU4TXXDHaxmbARCkkwlfsSpIZzsLL2FSR7rc7EWCgGV86\r\nsYmstomqLAtknB4KhKj4gc58cKj4UsaESrJSnf9wxpyizqCawaAVcrqWl7i6\r\nhHKVQks+hzJeh0dFYVA7o5NH3IUNn0R2124G8fcb5pNjXdd3lxI0aAX9TaCk\r\n/+yLo7CVBt1WJ4KM4zsvYH0wiyFqj5bEWNPw9r8N0xNEiCz+kih9kNcTTooi\r\nZMuhlrjfWVvn+VZfIwLXMkdZZty8w5lbB7rsSkGIRklQPREHy4e1r7KRMnZk\r\nyDtGoaKGMwzbZzycR30mqFcu8Ks9sAGhfzINMPHq7XNkS40YFSO7MXV3WTM0\r\nPXDW1gtkkvTbOBpe4n/25y0eINWYxbzoFDyNVpf3T49vl+nHsTzISKlDwe4n\r\nyvjwJd+xhfZRq53wDvyw0a8xTN8Puv5lCoJaCcwYp/ydcS5k+xk8SKDdCOvW\r\nPoyE1wlddYmPqKh1EENxPGpMWq2ETo0PBik=\r\n=JMtG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"7d054502f7e028e233354ba2f5c7675f387bde72","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.15.0","dependencies":{"ini":"4.0.0","glob":"10.0.0","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.8","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.3","@adobe/helix-shared-indexer":"2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.3","eslint":"8.38.0","esmock":"2.2.1","lint-staged":"13.2.1","semantic-release":"21.0.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.22.10_1681387560439_0.1743496382054972","host":"s3://npm-registry-packages"}},"14.22.11":{"name":"@adobe/helix-cli","version":"14.22.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.22.11","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"5cc84ddfc82620c3d0e1a495fa13969a77724aba","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.22.11.tgz","fileCount":34,"integrity":"sha512-NzLwNvxdMyVRx/pW9sY6CxL2zq+KBKMNU2yeU1K+k/KZqgFhBxrXWzjME5pkGTcd/yujhIHF0PKkLofc4vmf1A==","signatures":[{"sig":"MEUCIQC2KgILVSPPDdwul1Bm5VAVTy1An2UHDQCUEBApUDyIRgIge9zbyYUQtPiZeq0PJCb+K1n0cO58lDJ4g/j8foGeBho=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":344847,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOFn8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpwmg//bfkIEp01aB0F8jPL3UjKvyoiADP5vm0ruy41WHVhwFrIQz9e\r\nTW/Oc7TS4Js/pXd3E0LCqqY2FzIKmUa+RUCd+2MJFfx9xX1bhjiQKhNbbANh\r\nR+1GgAIXQG0fmg8U/9xjFH7T0V1vqjj9ftfDVBllkKgRs/KD+SayXfWAMroo\r\nt17VjG7YG7GdPT1YhQPTvpBMVz6Ivbyf5tIIKsYiWEzdKh4sPduvI7BLPwLn\r\nkGbvF+yKP/h+13sub0ta5JpYWNigWk6GAq4SgIahNpdbrdWlOGxqA+ncoZVp\r\nXsRL/BUJ54WMsBdlh8+ugs7hZ2byegmkcnaz6y9ggzHRvpj8EO6HbgWboJ0i\r\nnmTr6Ly2SQvOciO0NnFfHxdSVVo/srwxHrBW30ViZ9Yiz5t/yI6t5Guye6Bb\r\n1h0L86ku23Xv7w8slgvgphRCZhBZoSzDYVpQZ1YTPuRBuKLtdwB1CA2cwfb7\r\nuuakYYTXz4iluwKRLQmoPfuM3vcvDT2lYkXer+/CjdClFg7hTAoZI9fy4L47\r\nvYaUtprwRCandW+rb4eh9/0ocZzlV5LFQwRcpQ+W7JN5PxPVjUVaLH6GFYGX\r\nXs520Yktbk6RLVQ7z+gyLWoZGeL/mZu5h8BZiTBRcF2bE7acZn2jHMok8LGI\r\nNh/3RDUPTpNBkoYVmYqvnYFeycHE3y0Bk0A=\r\n=VHd2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"1bb5da7d004af1384ff35bc8ed99fdca97c7d9ac","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.15.0","dependencies":{"ini":"4.0.0","glob":"10.0.0","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.3.8","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.8","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.3","@adobe/helix-shared-indexer":"2.0.5"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.3","eslint":"8.38.0","esmock":"2.2.1","lint-staged":"13.2.1","semantic-release":"21.0.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.22.11_1681414652469_0.7353347208999099","host":"s3://npm-registry-packages"}},"14.22.12":{"name":"@adobe/helix-cli","version":"14.22.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.22.12","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"62635e897c46388be0238d8fdb317ae70ee6e925","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.22.12.tgz","fileCount":34,"integrity":"sha512-4G2cE1DIq1EGCI7Wr0e1M7+9FtJch1FlAJMHMVabjGdV7IpdlFKkS+h27ZEwSQXSQWbg5PsR8qCw972tDhbMRg==","signatures":[{"sig":"MEUCIDyIJ06+7WvZdpPffLE5Ts1X5Bd0X9TxJKPIsvrysSrvAiEAr/GaW6JwAIn8MEnKJ+xJD2Na46RN665gCjXe09rH7lM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkO15rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqn5hAAky7zQfJtL1VNDy8MHibfh6hPBlMwD8Tgi5Zzl8vidJX3rh/I\r\n6Ma4JQFPmOpHcIyfjVzsS31GX+YjlyxlUK2MV08EnT0AVDVlSiGccLRLIEkn\r\nvZQVvU4AiPGx9P9fPLLUyYAEA5l/ynMUhtSwEFUTW1jbvthJZZgX7Pb7WrfR\r\nAtONoOdmYMblNnTc/o8kATQXRudwedXBydBRivOcdmD0xWlfFalIOQz6m6wl\r\nLH4J1WhKL1xL3BDE+/qU6tmgOWZvglMxGM32ad3NN6S6f02s9W+QIyu/07YH\r\nzeQNOXObBV8gS/WhsArluvbjCoocmAqdyx98HMmZMyT1+IrgCXt+S+UIdHrr\r\nijva28gPMmhLz3MS/tMkCOSZUUwFBDAyXW/PQcMGJhPhfebUHiJyE0K2Pmlp\r\nvujOC7yjjNJ4XmBbHlTzRvOm1SwX2c7NCD9jRUaoedR2ucF58vzMuU6hhBR1\r\n3g3Tf+lKKtEyDs/2H33w1J2Kw77AsmgzGCOvFy4zCGdu5PF3gF2DTvONrrjt\r\nRlVUZIklxHxRoVgloqq7GH45GUjtMDIAsq/XUQxHQAVVcsAYfkBI89Szpsua\r\n7KRuzJosPu06wls72jIOk3uDgPPGofAPL5Zc0P0AbBXyI0vlwroWz+x0+wGQ\r\n/Yp7kD7ggQnAnbp0g6ZpcL/ni1C5C3ZXkIU=\r\n=XB7l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"bc13135ceb4cf058d2869cb45f6e29a003945fe4","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.15.0","dependencies":{"ini":"4.1.0","glob":"10.1.0","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.4.0","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.10","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.3","@adobe/helix-shared-indexer":"2.0.5"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.3","eslint":"8.38.0","esmock":"2.2.1","lint-staged":"13.2.1","semantic-release":"21.0.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.22.12_1681612395658_0.10249440782193142","host":"s3://npm-registry-packages"}},"14.22.13":{"name":"@adobe/helix-cli","version":"14.22.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.22.13","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8bb60ccbd31aa242691546178f7db6e7ba307877","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.22.13.tgz","fileCount":34,"integrity":"sha512-qkNAJoCZViHsi3y7xo2OO7mwBfmdYSCgVS2XjqKvUH3J2HKgYyHMyTmWGyiTP/aXdR1HpaVBkwo31D2++SoHUA==","signatures":[{"sig":"MEUCIQCWn8HPOEQdkKLtmARkhXnlVQLyMX2sYz2oWfnZMMeGXwIgLvcGJDnHCUIcZO9KkChzRGc/5SRPM6bq7RK8Mcbl7oM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345384,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkO/k+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrozQ//WfLzZ58ONLbr1xClRqCdd3xUtefruZhq14iNvefU7WWwiOUV\r\nqOI/tGTqwLtcl+jk9iLLft0PpYG9LVLlhelc5zF7Yf2kqH1WwgYc8D1atpwY\r\nx+fsjVWCoz2UVYETCLKF+iKx2gOlDIIGfFPtnmuQXF+tcSr89q0888bEztYQ\r\nvIL8v/4QCDAW4rBrCc6Nv7pWST6ZErFX8ojVgh9/+riJb5yoHy+8R6SRx1Lq\r\n6BbkpeYxbLdi6TPQdVpWDMzEdS96vw4xoU00du7w4v2eqzXdWeEo23q1Azc4\r\n7M6UAcK8RR3sXhT69cV8gDuGs2k83D8C1YpbC8JhC+bvZvwt1scD/e3yMTcC\r\n6Nlrpki28Uh60yscRDTCEpXHiMrq1p+x0bpxVBfKrDZRN7UBrfi5cWVBIAMS\r\n2KPqmaz8kG76PMuyrxVMI/5RIBkDUzYRagss80uQaZGlWM94zWc4QzAvH4OO\r\nqJrqSsBxiUp/afAPv41LYdjp7V+5LPiJDFR97vh+Cog1EFhleTrb1H/mGRv0\r\n7cT1aGEtcYwAa9SjoyutrRlM1k/9L+sapv3/sAc2dyuEzCRbQmsDa3seBv8B\r\ncmfypZGNBFtPc4GDFDDWpzcTPw5tMsrNlnAvAS59ZP5EIzY6lua2LyOfzcEN\r\njY7ADTNmJhFsh5XSdkGiPYJ+NunStKf2zoY=\r\n=G3Lf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"7fafad9160039d0d1c04d73a6e888c0b49a526c9","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.15.0","dependencies":{"ini":"4.1.0","glob":"10.1.0","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.4.0","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.10","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.3","@adobe/helix-shared-indexer":"2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.3","eslint":"8.38.0","esmock":"2.2.1","lint-staged":"13.2.1","semantic-release":"21.0.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.22.13_1681652030526_0.9753026049220468","host":"s3://npm-registry-packages"}},"14.23.0":{"name":"@adobe/helix-cli","version":"14.23.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.23.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"fed88bd652355ea92b15f6a5ca48994ad9faa456","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.23.0.tgz","fileCount":34,"integrity":"sha512-v8iieTO+BitNLTqHruPJXEoyTkQvIajcONi+mHXxLliF58fgEjeycISf+IWzDqVFXTa2FZx3HmUsrEGL4zQhQw==","signatures":[{"sig":"MEQCIG+KAAQLF15b2J4myO/9poVtacowa3qN/+jyQCslVHctAiA8KDLQttHgBv9Rx0U4DBS1lY1XDPtenVejc2mG3MVrKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345856,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQTd+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpU9Q//cz+4jgEymPmnH17cMR7bJ1LBPL7KpioOdjcvOGwwaHQu6tAh\r\nC3Iiyi5VmsDdVtXs/v6YrSRuMhVwyHpAXLF3Bjo3bF+9y+l5duvKOCPbf6Mc\r\n2xeSEsatxJQnanxcEnhaHGMjHO8lRvkxiW7NFJLxsHvCsb+0LQ1oyxAiSesT\r\nrkpwgS/W2gEmPzbN6wNN5MfItGocLVdBDnFDOV199U/7PiWnamBV5UUHvnh1\r\nZm2VIJFkhxMlfX2TC1nuzRyYweHfRQzyATwjbzlQu7dlnxJisr/RuVU/0m03\r\nI7lCIiZO0ip32RucxG6FtpLZY1XqLYd3Ebp7Z4dDpQEfttMLU29z6Mot5lDF\r\nnwho2YhvXzNUfe0VKBOooL/O4OEG+oB10R05sqySoBGGtH/RLirIzZkK+lgh\r\nOO71aXt2UQFEv3CTeixzQ5aPPCTOuQ1b59IMtVRO8IRuaTdbDEVMPOiETNQQ\r\nn2QD6zMeng+Vcig0Ce9QHLm0pr7kf4N1xJ87fYX1rkNkUcflhCVNW2+iFeoV\r\nFWqj5vn+rAUgEAXAP2UGC7c3j1Z2ozJEotF3dUZTUUpJsEjdY2LdqLwTS7hF\r\nlKmqkPtkGysdSRVDLANztdin/lDmHKsBJasy1+Wmxc3nxzo/on+v2j/zd7y/\r\n46MLNDiw1hBsy0AgBgLs46krG3paZw3LboY=\r\n=LL0k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"03985d72dbcd8c4b2a150ae0c1870f73b05d9d7e","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.0","dependencies":{"ini":"4.1.0","glob":"10.1.0","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.4.0","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.10","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.0.3","@adobe/helix-shared-indexer":"2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.3","eslint":"8.38.0","esmock":"2.2.1","lint-staged":"13.2.1","semantic-release":"21.0.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.23.0_1681995646679_0.7375353407676095","host":"s3://npm-registry-packages"}},"14.23.1":{"name":"@adobe/helix-cli","version":"14.23.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.23.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"dfbf4fc51031b2b09f9045038f6830b790b71bfd","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.23.1.tgz","fileCount":34,"integrity":"sha512-Nj95lLbeQCLm3WCkuikBcbzsQJ7rqH1biR9s2wtAzEn2MfRMvUDwbEQpGOBh9kQd3yIaYU2TV7KGZfLTUVFCJg==","signatures":[{"sig":"MEYCIQDKORjglWcm6hG1RWbcjyC6OC2Ny22Ox0Hg2AM3eNCWiwIhAIKLITeP6/WUP1VF+jVa2jS7dkxjrMrOzpG3pZmpyj68","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSBDDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+dQ/9FIUPM5eV5r0EahRukqmCxp4T1OJLnghwNCK63B3C3ckkhGFb\r\nBy+C2O9knLDchs+QXbgMWGrpXtYefD36XNPFUKH0IO6mJ9jEst5Im56gJvmm\r\neEsSy6NIhukpr5R/kIzrV+aky3DfcBfvqKt91Jsnvx4Y4Y3MBElouLrqhK/u\r\n4Ur7g5MYE26QKHmQrBYp7HrN1KoxjsImWe5x5nf63PaSnZFeHljXHYiVblPe\r\nk99BYnsfGI8WVvCXsC4r7onoJ4FfQJoK4MJ3SHLxA5tX2CPznIQ/D0v+K9yw\r\nblgtE2ukCvu1OsJL+6FhNBXw6XIjGl64ZOO3e0zyAn3oAVB8hqahFKsoWX0/\r\n4ZR70f5XVif2tM/myXmtTOmVmePbg16yyaLTK9loYXotg07W8mYLfTirv42S\r\nsD3SvKMinPo5otLPSftyd+nlWQgSAONNQMy2EaiOxyYlr5/POgg5ok33CyVl\r\n5D5tZ8GJgnxy/jKrc5QGziFsDQF1II0d7QGSaNoz9A8TqbDCjJ+G/WY7qJQq\r\nyUnBKb9iIPf+gz8f+Q9bYrMtkjxEP7xQ1S6AqWa7z6+DOt67+YXmDx8Zmrn3\r\nWsOiRy/z2sBpNJva8tVTd78lalxg0cuqEK+h2s00vT7fAdm3jcRwrk4ifFah\r\njoJ5d/NPwoItSYO9X6ZmwR/Y4iYm/cB6JdU=\r\n=1E4F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"14c0cdf6631a21d859b1fdb15c5f1e23ff7b48a2","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.0","dependencies":{"ini":"4.1.0","glob":"10.2.2","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.1","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.5.0","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.10","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.1.0","@adobe/helix-shared-indexer":"2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.0","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.4","eslint":"8.39.0","esmock":"2.2.1","lint-staged":"13.2.1","semantic-release":"21.0.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.23.1_1682444483309_0.9930039123054963","host":"s3://npm-registry-packages"}},"14.23.2":{"name":"@adobe/helix-cli","version":"14.23.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.23.2","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"58114e9ab21ccbc17638b74cbc4573bcd3ea4d6d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.23.2.tgz","fileCount":34,"integrity":"sha512-Le+BeglPBYTlcnnN01Nk0h46+H3H51GjTbbkw9Ky2R1rbZ3VV54B6JuYjg6U4L/JGJMAj5Bf0Nd1oNlPoPUYQA==","signatures":[{"sig":"MEUCIQD8gBVO/xtFsePPkHJS4SAnbMTarnJ+CmM0MBV/HgsoNwIgZUb2hsa9Uma1+vSULOJQPt8guy2CDwV6QEASzJsd3lw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkVCJcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqj0w/+Ih1XrUDnbddNqq2jaYdfPjgBsjWmxw6LeJwzmodlUT4TqEeT\r\nSQY5LMm2oCQ0xBZGgBzA/YMmeqSjTwJ3V04+VrGhaSxtpeFKQ2UblVWbspOO\r\nNmMFrAjab2rYxvIZb0tsnjflfoSfGjsfvWT7tmKc0q4tWvBamrw9vQXl0sSw\r\nQiQTYFmVEQfT/OgkxwWGWc/PYjCyHC+50LDsUYY8RI1zfBAoTRPyDIw0/z1R\r\n56eyEjiKuOjIQeBhevxtCnhY306C/418tIKh2yd44OZxMsP/WNX5x8Gf1OXV\r\nB0iN2bczgMDwU/slFrb6b9EVJXocb9AjpIKpWCXTQdhVuDob2M6Fhgv88qY9\r\n6W9HNWU8Mr6QJuEGmC5KJUmiIObKbMufiA+XdG5NOsZCzCVz64OYGKT4Mmwr\r\nsg4Xm04jr7L+LsMzRN6Y1epAfgvhyQ0q60YyOoNlKP0M/LDG/HvBP9XNF9lD\r\n23KmOaxHwrib8F0nDVcT/5FaWor43g1ZUIR6sbSx9awG2+3zkCbJWUL7M1Zj\r\nKuL2+4vSdWNFFSdVG8X9mvdzcKiVFMR1+3DHwy4OtsQor26QXv2AYT+qli1P\r\nHyXqPX573mKiw8DYb/V34RFR9Q+hVewHJtwt6DeJuPyuUf4bCw5PgmIPczRv\r\ntUsvNLV5uW/XjVyEa3DemOQSaHt8Re60L04=\r\n=ynBz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"131aa498541d62f1829328d1f74ea3656e3234f8","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.2","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.0","dependencies":{"ini":"4.1.0","glob":"10.2.2","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.5.0","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.10","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.1.1","@adobe/helix-shared-indexer":"2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.1","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.4","eslint":"8.39.0","esmock":"2.2.1","lint-staged":"13.2.2","semantic-release":"21.0.2","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.23.2_1683235419801_0.9797234366246637","host":"s3://npm-registry-packages"}},"14.23.3":{"name":"@adobe/helix-cli","version":"14.23.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.23.3","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"b338bebf4dcd9375f6a4484bf27e60b813fb36c4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.23.3.tgz","fileCount":34,"integrity":"sha512-doIFfle9oFAonszsYAre2TI6lE0aNMjHW1w3AIL3S+LwaIGkTngt8Cj1oMnZu+oL2mlbv6CKejx8TrRIrL2wmQ==","signatures":[{"sig":"MEQCIEvTFu1nrOxdE2SlOo87SbWjQbzgFHksvRpKYsX5oubzAiA5WC477Zd1r3nv2XYEdvumcsKZMwQA7XiECO8UlHor8Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346728},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"36aff078d1dda0ad416373ef7178172ce012b28a","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.0","dependencies":{"ini":"4.1.0","glob":"10.2.2","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.5.0","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.10","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.1.1","@adobe/helix-shared-indexer":"2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.1","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.4","eslint":"8.39.0","esmock":"2.2.1","lint-staged":"13.2.2","semantic-release":"21.0.2","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.23.3_1683296313492_0.18294112396886897","host":"s3://npm-registry-packages"}},"14.23.4":{"name":"@adobe/helix-cli","version":"14.23.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.23.4","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"cdc86ce0653d7eb7ccbd6fea4ff38a8b48e1ab1a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.23.4.tgz","fileCount":34,"integrity":"sha512-a6fSjGkThYrtBDcziMD6nwOV3lSIYN9dF3+smlJKFqUqrBM3jxTyq+PNmg4mQIi2bnTVAMm5lxG+17GwiNndTg==","signatures":[{"sig":"MEUCIQDHHOJrNQNMznTSUQRxrUQv43tu0MEiOJykDiOn0kB0aQIgNsxQyT9S4rXiXTA347Rrl0TjeZhVs8/qMGHwiHnUKw8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":347058},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"e722b677f839bd2ac542ebf6f8387a1453dd3fc7","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.0","dependencies":{"ini":"4.1.0","glob":"10.2.2","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.5.0","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.10","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.2.0","@adobe/helix-shared-indexer":"2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.1","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.4","eslint":"8.40.0","esmock":"2.2.1","lint-staged":"13.2.2","semantic-release":"21.0.2","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.23.4_1683537124197_0.44557946787090374","host":"s3://npm-registry-packages"}},"14.23.5":{"name":"@adobe/helix-cli","version":"14.23.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.23.5","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"4d3a53cccf00be7cd893400c13d00023d06cd9c9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.23.5.tgz","fileCount":34,"integrity":"sha512-/Fz0SgE1MTUBCO4ItqUcKoQcD/WlfmVzat4xjx1MTVL/7wqepoW6bq11H6BgYR7dPtxAX6TQjSGBnbgAqin5ZQ==","signatures":[{"sig":"MEUCIQCPUmyJUszQtQAvFR2WiuojK9h59obzbowNN+3rg6bUCwIgbGtpjM6dlhQMsaaHDPIYwl0R+AoPSPqY03rVAT4/vgk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":347293},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"aef408461e2f6220594654cd4ae7ed3f6abf6140","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.0","dependencies":{"ini":"4.1.0","glob":"10.2.2","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.5.0","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.12","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.2.1","@adobe/helix-shared-indexer":"2.0.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.1","husky":"8.0.3","mocha":"10.2.0","sinon":"15.0.4","eslint":"8.40.0","esmock":"2.2.1","lint-staged":"13.2.2","semantic-release":"21.0.2","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.23.5_1683668856680_0.8608962839582215","host":"s3://npm-registry-packages"}},"14.23.6":{"name":"@adobe/helix-cli","version":"14.23.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.23.6","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3c12fad0a8a6bb2c2c29f813f8ed5c123d674d24","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.23.6.tgz","fileCount":34,"integrity":"sha512-SB1asGE8vb5y2GKJwvEyCA5yBHDkZCx92R2S8oV16PTnDwS5cskzi676r1fwx56Hb9PyIcmxfsyusXVE5uFMAw==","signatures":[{"sig":"MEQCIAXxeE2DsRt4Vt9ZHl+ikcsnoll3CH+kdF+sKwe7DOv0AiAtqjU/seOJasfjU5YvG36F2sJK6ttqG4K5PeoxlGkJNg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":347693},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"9a60a571b17f47752aa086dc21a5ad192fb03f78","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.0","dependencies":{"ini":"4.1.1","glob":"10.2.6","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.5.1","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.0.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.23.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.0","@adobe/helix-shared-config":"10.2.1","@adobe/helix-shared-indexer":"2.0.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.1","husky":"8.0.3","mocha":"10.2.0","sinon":"15.1.0","eslint":"8.41.0","esmock":"2.2.3","lint-staged":"13.2.2","semantic-release":"21.0.2","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.0","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.23.6_1684623205069_0.8850514863287202","host":"s3://npm-registry-packages"}},"14.23.7":{"name":"@adobe/helix-cli","version":"14.23.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.23.7","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"7da5acbfe7fcc001c5674bafa8a90d1e9c5d6f81","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.23.7.tgz","fileCount":34,"integrity":"sha512-BSb6E2o4fjm4nJkoEYuopdMVZmWpS+bpf1CqEjS7tIIJMU7ChvUqQOswpG5MOLGWnf9caC5nfLX3WWhKfbJmDQ==","signatures":[{"sig":"MEYCIQCulxh8TuM8ps/nL12fpm0F6vvJzaT81zMb4kF3CiiH1AIhAOfxgcu2JR+yD285dTxfnrMD0/AKk0jjb8pBzAYQIZ5c","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":348058},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"3d3326c0595d81a3d984806883360025188397fb","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.0","dependencies":{"ini":"4.1.1","glob":"10.2.6","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.5.1","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.2.2","@adobe/helix-shared-indexer":"2.0.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.1","husky":"8.0.3","mocha":"10.2.0","sinon":"15.1.0","eslint":"8.41.0","esmock":"2.2.3","lint-staged":"13.2.2","semantic-release":"21.0.2","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.23.7_1685288495335_0.08016978609252501","host":"s3://npm-registry-packages"}},"14.24.0":{"name":"@adobe/helix-cli","version":"14.24.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"16e687e5303280917f18791a5acec93e57d9dab0","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.0.tgz","fileCount":34,"integrity":"sha512-mUfCtNiI9yUfjxJ/3mVepRKhPFmdhMvnNgE3nwY5anXL5IIC26X9XEJ9IZNXIRA+nWWrBMGiJ39YUPvZd5P/gg==","signatures":[{"sig":"MEUCIQDfwU0XoFvwp4fE5304aBztMDMe8FB0inkj1GwbiMCNwwIgbZ2Np5cthUOlFt+MaKhx2fUyfB76ixIpn69zhH7ab64=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349492},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"b79be9ce16858507892a76b16f61b807202d0c45","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.0","dependencies":{"ini":"4.1.1","glob":"10.2.6","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.0.3","ignore":"5.2.4","semver":"7.5.1","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.2.2","@adobe/helix-shared-indexer":"2.0.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.13.0","nock":"13.3.1","husky":"8.0.3","mocha":"10.2.0","sinon":"15.1.0","eslint":"8.41.0","esmock":"2.2.3","lint-staged":"13.2.2","semantic-release":"21.0.2","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.0_1685445796736_0.85801532969048","host":"s3://npm-registry-packages"}},"14.24.1":{"name":"@adobe/helix-cli","version":"14.24.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"8b1b2ff0712a0d9a85c2e5696fc6f531b03d33e9","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.1.tgz","fileCount":34,"integrity":"sha512-TiHIpgyDtiz+lRbksvB9D9r9vlasQVHgKIketlVQsxJl0pQO0LDXuRPagG2sm18T7h7IzQoti34li3XQRAzd3Q==","signatures":[{"sig":"MEYCIQCmFOtkzhBNdFuv2OlOtZU7nLs5c70LtQXfHVVikZCqzgIhAOKQx8gDoF4YP6DNwHW614qN8Jwa59Bw59EQVzCJUnYR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349727},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"7244afd0a425230f549c87ce0df8e482a69a569b","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.0","dependencies":{"ini":"4.1.1","glob":"10.2.6","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.1.3","ignore":"5.2.4","semver":"7.5.1","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.0","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.2.3","@adobe/helix-shared-indexer":"2.0.8"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.14.0","nock":"13.3.1","husky":"8.0.3","mocha":"10.2.0","sinon":"15.1.0","eslint":"8.42.0","esmock":"2.3.1","lint-staged":"13.2.2","semantic-release":"21.0.3","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.1_1685827145744_0.031064530928011758","host":"s3://npm-registry-packages"}},"14.24.2":{"name":"@adobe/helix-cli","version":"14.24.2","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.2","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"9cc87b444f98b9fcf227f30753c5baa5c25c5381","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.2.tgz","fileCount":34,"integrity":"sha512-W6qZ5LGnc1UtPQ9lQyLCloQqhdYFAvDnZIK/VnTWK2p+ozrrIKf1zFyj7NAgK0mgPJry4hIrVyZS8XWzrX5/sA==","signatures":[{"sig":"MEQCIAXHXGQWfXcqnMeWcB+n3AyVOMLCazOxfpxp+mIAZ5cZAiA3gSQSaRjublmLafA4zTZkeoWHkgW92S2e/PJsp6Adyg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":350023},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"7379704eeac5ab748809e6a90f64ed63647d7714","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.0","dependencies":{"ini":"4.1.1","glob":"10.2.7","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.2","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.1","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.2.3","@adobe/helix-shared-indexer":"2.0.8"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.14.0","nock":"13.3.1","husky":"8.0.3","mocha":"10.2.0","sinon":"15.1.2","eslint":"8.43.0","esmock":"2.3.1","lint-staged":"13.2.2","semantic-release":"21.0.5","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.2_1687078296235_0.7752254643487262","host":"s3://npm-registry-packages"}},"14.24.3":{"name":"@adobe/helix-cli","version":"14.24.3","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.3","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ea536f8e0d7afab3f31cb80b8b10292e296b63e3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.3.tgz","fileCount":34,"integrity":"sha512-efKzTGJicPEV3yqKb9Cufj6HpT320mNvhp0uH7wRtKkwhOPMB+I2RFxyWBQbQtSNIWC2ZEw6gMqEYMw0xrXbMQ==","signatures":[{"sig":"MEYCIQCWumTrMK2fYAjqGBCOs4TQge15Z7Vl2umGZsqHddU5PwIhANkNo4YlpNBu+m5Bgd1FM2mgalFk/TR8lQ7jXs6GB8mh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":350378},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"1c4a69f99b53f8fe82055c932dbe10b74d82519f","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.0","dependencies":{"ini":"4.1.1","glob":"10.2.7","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.2","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.1","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.2.3","@adobe/helix-shared-indexer":"2.0.8"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.14.0","nock":"13.3.1","husky":"8.0.3","mocha":"10.2.0","sinon":"15.1.2","eslint":"8.43.0","esmock":"2.3.1","lint-staged":"13.2.2","semantic-release":"21.0.5","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.3_1687169862281_0.9922104389814634","host":"s3://npm-registry-packages"}},"14.24.4":{"name":"@adobe/helix-cli","version":"14.24.4","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.4","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"3e99b257b2adca9f2d8f2fa0a909d57d0d07bf2c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.4.tgz","fileCount":34,"integrity":"sha512-DHhFTMyj5YX6Tch7qmz2WFjPr5Bh27mKLaKyAudSrd9wz1QKIzn/QWI2WpVFPxL23ATKVfErju5vzcYpPrA7Cw==","signatures":[{"sig":"MEQCICpyNMy/PrX2vFIb2cUdzThAAF9WY6hjZGTfbwH5mG46AiAHz1RMuHpXYeCrx/umYpdZ165oc/Pa53C4LMb1HJiHeg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":350615},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"242fceb8f2051f90d8a1c68d9ed8bda51728f929","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.0","dependencies":{"ini":"4.1.1","glob":"10.3.0","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.3","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.2","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.2.3","@adobe/helix-shared-indexer":"2.0.8"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.0","nock":"13.3.1","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.43.0","esmock":"2.3.1","lint-staged":"13.2.2","semantic-release":"21.0.5","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.4_1687621622578_0.4343042931321712","host":"s3://npm-registry-packages"}},"14.24.5":{"name":"@adobe/helix-cli","version":"14.24.5","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.5","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"1014703132a70afd6843282f20c3eeda8b28ba42","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.5.tgz","fileCount":34,"integrity":"sha512-R3r1ezuay3FjYVEBfFtQfc/ZbGNJ8p6x0GW4rAgk1PsObwYUu83IeLVJAIO0c7VKVZJfh1xjKiih9i3RNjM4FA==","signatures":[{"sig":"MEYCIQD1yhbL1uVrGGtmweWJ4xau8md9P5gmBLS8IQz8+nLHpwIhANokTl+fzvzJ8YLZwMRu03Ddt/0WoD8DA9YZezx9wdHy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":350626},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"cf80f61acebedb8f902791c2734ea369db1a3d62","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.1","dependencies":{"ini":"4.1.1","glob":"10.3.0","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.3","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.2","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.2.3","@adobe/helix-shared-indexer":"2.0.8"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.0","nock":"13.3.1","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.43.0","esmock":"2.3.1","lint-staged":"13.2.2","semantic-release":"21.0.5","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.5_1688141161819_0.9604054792129322","host":"s3://npm-registry-packages"}},"14.24.6":{"name":"@adobe/helix-cli","version":"14.24.6","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.6","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"be6bf4b5b0e36f0ea396005cbcfe345d2eaf325a","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.6.tgz","fileCount":34,"integrity":"sha512-TQbT/J1zzfzPF0R/buQJS2YFAFMXE97yKXni1n5dIPVHEf8aCMzeazNOCujVtTYlyfn2E9hdkZTFauwdH6ECFw==","signatures":[{"sig":"MEUCIQDwu9nj04kH+cJbElXf2jOIVZK45xLGQGJ1/G520GONEgIgBVOfDX7weTa45syhIu9pO0OwtDOlZvzcyS/FQUT84tg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":351250},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"1b396011edf66dda3d29afc2aab6b42325564c81","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.1","dependencies":{"ini":"4.1.1","glob":"10.3.2","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.3","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.3.0","@adobe/helix-shared-indexer":"2.0.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.0","nock":"13.3.1","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.44.0","esmock":"2.3.1","lint-staged":"13.2.3","semantic-release":"21.0.7","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.6_1688832908008_0.6159915656175043","host":"s3://npm-registry-packages"}},"14.24.7":{"name":"@adobe/helix-cli","version":"14.24.7","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.7","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"87ce1614bfd990879d5256cb81d12b378cd47bcc","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.7.tgz","fileCount":34,"integrity":"sha512-2AwZl4V1mJ7umVIHAD8ZvDEuox/qvFDJIoxi4ZyiW7WNafrfKWK37yB/8NbHmSCeEs1bcd3Byo6AcIGIP7JM3w==","signatures":[{"sig":"MEUCIBO9p0hgjK/7/l9trLmaAgXm3Y/kZja84n5KetXoHChiAiEA9RE0vuh2CRyqB4BzcgX4i3JGEW0Pek6vz/eZvHAhUEo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":351509},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"f88277a7a766267fc10590153b20a52b01854d60","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.1","dependencies":{"ini":"4.1.1","glob":"10.3.2","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.3","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.3.0","@adobe/helix-shared-indexer":"2.0.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.0","nock":"13.3.1","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.44.0","esmock":"2.3.1","lint-staged":"13.2.3","semantic-release":"21.0.7","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.7_1689415422928_0.20897953964318883","host":"s3://npm-registry-packages"}},"14.24.8":{"name":"@adobe/helix-cli","version":"14.24.8","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.8","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"81a63c4a5a1ec5792a194c9a949b8c06c252d0c3","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.8.tgz","fileCount":34,"integrity":"sha512-AGiN/Wkf/bVnX5drWgDDeS2AfGRp/RSttCgGYS101oV+mApeqoJ/xcuJsqkp6l8gffyDKYawrrxU+NwJCANhkw==","signatures":[{"sig":"MEUCIDO5V8JyTXX5YAtPTa9lFonEh53VY3o5Kuw83lxNxz90AiEAnGdJoAiOuZ4K6tgneCTkO5IF90VnDcAzzSvKzAXOz3c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":351781},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"8eedc4e23f35932183454f93c90d39af437c19c8","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.16.0","dependencies":{"ini":"4.1.1","glob":"10.3.3","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.3","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.3.1","@adobe/helix-shared-indexer":"2.0.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.0","nock":"13.3.2","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.45.0","esmock":"2.3.1","lint-staged":"13.2.3","semantic-release":"21.0.7","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.8_1689511709400_0.6700590122080303","host":"s3://npm-registry-packages"}},"14.24.9":{"name":"@adobe/helix-cli","version":"14.24.9","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.9","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"16b075eee79917944cec4df2880888af26ec4e5c","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.9.tgz","fileCount":34,"integrity":"sha512-xDnRIMB3M5WhFGtrjhmj4cQ0JP0pbZdgqZ9bXGseqPAxPedqXxvlC8vdOgbcqHhgNPYXkqfzuJZ0e/2uynX1AA==","signatures":[{"sig":"MEQCIFXOS1KleXGpQd5qNRHgqO1GETeGGU0lAxYaJPART6FPAiAOAU6JlKNDO8+rrhz+Bx24NPlNWzDIdJGpgBrfxvRsNg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352111},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"e8269bce9a72954079716547b5f786fb50afc176","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.17.0","dependencies":{"ini":"4.1.1","glob":"10.3.3","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"7.0.1","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.5","@adobe/helix-log":"6.0.0","hast-util-select":"5.0.5","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.3.2","@adobe/helix-shared-indexer":"2.0.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","nock":"13.3.2","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.46.0","esmock":"2.3.3","lint-staged":"13.2.3","semantic-release":"21.0.7","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.9_1690647585154_0.9319280484671753","host":"s3://npm-registry-packages"}},"14.24.10":{"name":"@adobe/helix-cli","version":"14.24.10","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.10","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"74da17fabbc635d73da5d3d103263de9594c63f4","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.10.tgz","fileCount":34,"integrity":"sha512-5/V5ooNRB29BqSeEFeCVe5V+eHRBYSU4VI1ajJVCSifLzE3Wpxb8Bbt1at0W6qY396a5NczgbXlVQCyHcmIX8g==","signatures":[{"sig":"MEYCIQDY5g3TH/kQjJUUom/+6sXWHiwHEBdynmh8q8C/W9hQcAIhANfbharPIuwVXFxfHfha5hPLouPoaaY/06rZpx+M4zZ1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352574},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"f03a7b5a4c9a825b085b427acf3aae485f58c5dd","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.17.0","dependencies":{"ini":"4.1.1","glob":"10.3.3","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"8.0.0","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.4","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.5","@adobe/helix-log":"6.0.0","hast-util-select":"6.0.0","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.3.3","@adobe/helix-shared-indexer":"2.0.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","nock":"13.3.2","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.47.0","esmock":"2.3.6","lint-staged":"14.0.0","semantic-release":"21.0.7","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.2","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.10_1692083299196_0.13984340643678106","host":"s3://npm-registry-packages"}},"14.24.11":{"name":"@adobe/helix-cli","version":"14.24.11","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.11","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"ce218e1b57272a88ae00faab31cd648b780a98d7","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.11.tgz","fileCount":34,"integrity":"sha512-tx6DCPYxKhaKxRh8rq6/rS+ZJ/wbZW/0VtHLPjWRsZZJG9hGRobxZiFQOOAVlyVSRL3FLZTeJL52XZ496nUBeg==","signatures":[{"sig":"MEQCIFTZII89mj8zelTmjq/D5++yfCYTpD6L4grWFMlL77ScAiAkdECdf27Lddfwf0jxnnwsCvmdB72Cd6VuVZp7YTdHBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352871},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"b0ca5bb3d519c57b4bd2c75460e3b1535b2dc3d1","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.17.1","dependencies":{"ini":"4.1.1","glob":"10.3.3","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"10.1.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"8.0.0","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.5","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.5","@adobe/helix-log":"6.0.0","hast-util-select":"6.0.0","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.3.4","@adobe/helix-shared-indexer":"2.0.10"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","nock":"13.3.3","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.47.0","esmock":"2.3.8","lint-staged":"14.0.0","semantic-release":"21.0.7","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.3","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.11_1692614646243_0.42519428819806104","host":"s3://npm-registry-packages"}},"14.24.12":{"name":"@adobe/helix-cli","version":"14.24.12","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.12","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"2eaa35c35df0db508d732f4be9018c68d822e992","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.12.tgz","fileCount":34,"integrity":"sha512-fQOR9i1RYyaTUMPHqwP54Tj73GzusvQpNQheUgIz0MPUP74tSp05B0OY5p0Wyygd2+D3S3YtKlXaQHkfBilHVg==","signatures":[{"sig":"MEQCIEmhoCvjXurcgDjh5rSzcmVGRrENUWzJMdosG0PjxrrxAiBUvcWtZOvfBtfvINAjB9oKTfAyOw+WQ76orge0wzrcUQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":353181},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"6871133b840ebc4c72a7bee3332c165f09eb7580","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.17.1","dependencies":{"ini":"4.1.1","glob":"10.3.3","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"11.0.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"8.0.0","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.5","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.5","@adobe/helix-log":"6.0.0","hast-util-select":"6.0.0","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.3.4","@adobe/helix-shared-indexer":"2.0.10"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","nock":"13.3.3","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.47.0","esmock":"2.3.8","lint-staged":"14.0.0","semantic-release":"21.0.7","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.3","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.12_1692689200511_0.3225449050111311","host":"s3://npm-registry-packages"}},"14.24.13":{"name":"@adobe/helix-cli","version":"14.24.13","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.13","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"aa7b07a25bd3fb6fd6df14d767e50ee8a2772fa6","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.13.tgz","fileCount":34,"integrity":"sha512-uvyJhlgeDpzgWCkwol0JXPWaT5PAo9O6dAEhioEOh9uj0vVLnt5sSEOTcb35GmH+Nz1VHXm/6WEXRraQB8GTyw==","signatures":[{"sig":"MEQCICwjHdMuLUF4cg+ofTuUO/GoHzMa5st0111XcmSUJ8zLAiAAnsOaSoCZOI8jNdBDDZPcduOYSV/dC3PY3HPb1Oy+3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":353515},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"6af8565a844750a29caf9fee64224a8082e897c1","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.17.1","dependencies":{"ini":"4.1.1","glob":"10.3.3","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"11.0.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"8.0.0","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.5","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.5","@adobe/helix-log":"6.0.0","hast-util-select":"6.0.0","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.3.4","@adobe/helix-shared-indexer":"2.0.11"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","nock":"13.3.3","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.48.0","esmock":"2.3.8","lint-staged":"14.0.1","semantic-release":"21.1.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.3","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.13_1693065149838_0.6100974379430617","host":"s3://npm-registry-packages"}},"14.24.14":{"name":"@adobe/helix-cli","version":"14.24.14","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.14","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"d971e518bc0025d7f0fd0b3cd91c9eedc183c9e1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.14.tgz","fileCount":34,"integrity":"sha512-gRCmhhqIrc2e0LB1MgpUBRYK25FVb71crCzbJ1rqMuFSf5EubCxvrd5sjQuS8k+IN4bkQuBHRD1U5UFc5uBD4g==","signatures":[{"sig":"MEQCIDn2LIg1WgM6LVNTP0QCB6ppUCOwgE1o/vdenmCpM1t7AiAn6Mz5HzZGE1O5a1fFZuWe0e0tPM8gPtHYHWMhOoaZVw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":353849},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"5b832d6e81fc1758efb37016d1b7c537b43133eb","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.17.1","dependencies":{"ini":"4.1.1","glob":"10.3.3","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"11.0.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"8.0.0","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"8.0.5","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.5","@adobe/helix-log":"6.0.0","hast-util-select":"6.0.0","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.3.4","@adobe/helix-shared-indexer":"2.0.12"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","nock":"13.3.3","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.48.0","esmock":"2.3.8","lint-staged":"14.0.1","semantic-release":"21.1.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.3","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.14_1693408782970_0.4713178903027191","host":"s3://npm-registry-packages"}},"14.24.15":{"name":"@adobe/helix-cli","version":"14.24.15","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.15","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"08ee2dbb9234cb12250153b7754e0aa881e006be","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.15.tgz","fileCount":34,"integrity":"sha512-SVUyhRcdO1Wxcglxe/w1QY6DMM9EVSHWJnp/qiVV3RGrPRx9Htj+m2sXKPp1ejSscgkfsndL8X+GahIBWoB+Bw==","signatures":[{"sig":"MEUCIQCVmE/2HjrdOb2AwfzgdD24AOrME5raxHqW8OUaPlcuXAIgDYB1k/mi85/kkCkxPF1zU2fT4Voe6KFG6NENmWLpZYY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":354163},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"a16b7cb7df7aaf4db556012ee104225eed48e02f","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.17.1","dependencies":{"ini":"4.1.1","glob":"10.3.3","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"11.0.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"8.0.0","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"9.0.0","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.5","@adobe/helix-log":"6.0.0","hast-util-select":"6.0.0","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.3.4","@adobe/helix-shared-indexer":"2.0.12"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","nock":"13.3.3","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.48.0","esmock":"2.3.8","lint-staged":"14.0.1","semantic-release":"21.1.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.3","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.15_1693574274245_0.7221666870760377","host":"s3://npm-registry-packages"}},"14.24.16":{"name":"@adobe/helix-cli","version":"14.24.16","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.16","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"abb99b52de06566a1ecc5ade5d1e88cc8ac62aba","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.16.tgz","fileCount":34,"integrity":"sha512-I10bvGB08DdCDiH9XEWdw8pZEGzKEKLRMYrVJl+UuqEvA56qmOF5SlDLWhD9BUyf4OLna8cV1rsTjIlwGjmprA==","signatures":[{"sig":"MEUCIQCl+JzEGLrkaXaVPQRKDyiebFRyZMmZzi3b5yIasWU7UwIgANsuPv5U1W7Reb6YcoNWIqLDseNSuS835GnMmkt4t8w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":354416},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"9461fcfd464ead3d50b2c8c181539e62a5e04fa3","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.17.1","dependencies":{"ini":"4.1.1","glob":"10.3.4","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"11.0.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"8.0.0","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"9.0.0","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.5","@adobe/helix-log":"6.0.0","hast-util-select":"6.0.0","@adobe/helix-shared-git":"3.0.1","@adobe/helix-shared-config":"10.3.4","@adobe/helix-shared-indexer":"2.0.12"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","nock":"13.3.3","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.48.0","esmock":"2.3.8","lint-staged":"14.0.1","semantic-release":"21.1.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.3","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.16_1693674332039_0.6924252608087469","host":"s3://npm-registry-packages"}},"14.24.17":{"name":"@adobe/helix-cli","version":"14.24.17","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.24.17","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"fadaff452a6fa980950f2e2965c4d2a51bb88017","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.24.17.tgz","fileCount":34,"integrity":"sha512-rL1tvK5mNqEmVvI8RE/qLWTfg89LbhMizPgziDzYmHUNWoMzAGkAufhmp6Bp2Eqx7ai+5Vi8TuONyB+ZpDWK3Q==","signatures":[{"sig":"MEYCIQC0sUiEtpYZvmJXePIcISvn9Tl/xU9V76/lbPz9lHaEfQIhANeHsrtp0WdIdRt9Nd4W+j+00qlBySHFSlI1/7Cur9DD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":354712},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"4b154800af173756559bc61e605367cf72697fff","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.17.1","dependencies":{"ini":"4.1.1","glob":"10.3.4","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"11.0.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"8.0.0","compression":"1.7.4","@adobe/fetch":"4.0.13","rehype-parse":"9.0.0","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.5","@adobe/helix-log":"6.0.0","hast-util-select":"6.0.0","@adobe/helix-shared-git":"3.0.2","@adobe/helix-shared-config":"10.3.5","@adobe/helix-shared-indexer":"2.0.12"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","nock":"13.3.3","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.48.0","esmock":"2.3.8","lint-staged":"14.0.1","semantic-release":"21.1.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.3","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.24.17_1693816177477_0.9980543002863014","host":"s3://npm-registry-packages"}},"14.25.0":{"name":"@adobe/helix-cli","version":"14.25.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.25.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"52a33052c16b0eba7ee5e8ca455685d4e65e63a1","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.25.0.tgz","fileCount":34,"integrity":"sha512-kRspc6v+rhkw4CdzCp1Q2RZqyFkQ2HiFMl0wygG4w7IYBJYGlUIrEscDYCfY80fjnAXm/qDVME+HpMezSllYAQ==","signatures":[{"sig":"MEUCIQDde5pviVGY+N8JRioHDEGGlXmF+2a+EWCH9XglcqVGawIgTl6ujINlcIK2KTW/vsnyIcy6wZ3JeqQ3iEUUv8UIMtw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":358051},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"44b34b9c11693d66df52750ddf8d45fa83e4b8b5","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.17.1","dependencies":{"ini":"4.1.1","glob":"10.3.4","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"11.0.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"8.0.0","node-fetch":"3.3.2","compression":"1.7.4","proxy-agent":"6.3.1","@adobe/fetch":"4.0.13","rehype-parse":"9.0.0","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.5","proxy-from-env":"1.1.0","@adobe/helix-log":"6.0.0","hast-util-select":"6.0.0","http-proxy-agent":"7.0.0","https-proxy-agent":"7.0.2","@adobe/helix-shared-git":"3.0.2","@adobe/helix-shared-config":"10.3.5","@adobe/helix-shared-indexer":"2.0.12"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","nock":"13.3.3","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.48.0","esmock":"2.3.8","lint-staged":"14.0.1","semantic-release":"21.1.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.3","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.25.0_1694007264921_0.8164211572848195","host":"s3://npm-registry-packages"}},"14.25.1":{"name":"@adobe/helix-cli","version":"14.25.1","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.25.1","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"hlx":"index.js"},"dist":{"shasum":"afc7b43208da43be87b8fa8125dc2f27eb99bc1d","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.25.1.tgz","fileCount":34,"integrity":"sha512-4N59r7Nv/KvLuIugychkHNkcRns22FWHe+apzVJhs/UqNpJoNaY02W7FZroiGbDNO5hoKBLCjKThLrBK4fYi3Q==","signatures":[{"sig":"MEUCIQCXMKlRD9p7GSAzGmPjuyL87J5CSiblXqnnJZlW7xiP8AIgavg1e/Rd/CjFZHTM6n6YknkHfOsiSfGcnKx6qSTTM68=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":358588},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"8e4faa5e1ede1659ada50031044422144564b3c9","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.17.1","dependencies":{"ini":"4.1.1","glob":"10.3.4","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"11.0.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"8.0.0","node-fetch":"3.3.2","compression":"1.7.4","proxy-agent":"6.3.1","@adobe/fetch":"4.1.0","rehype-parse":"9.0.0","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.5","proxy-from-env":"1.1.0","@adobe/helix-log":"6.0.0","hast-util-select":"6.0.0","http-proxy-agent":"7.0.0","https-proxy-agent":"7.0.2","@adobe/helix-shared-git":"3.0.2","@adobe/helix-shared-config":"10.3.5","@adobe/helix-shared-indexer":"2.0.13"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","nock":"13.3.3","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.49.0","esmock":"2.4.1","lint-staged":"14.0.1","semantic-release":"21.1.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.3","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.25.1_1694694847303_0.3959561649114378","host":"s3://npm-registry-packages"}},"14.26.0":{"name":"@adobe/helix-cli","version":"14.26.0","author":"","license":"Apache-2.0","_id":"@adobe/helix-cli@14.26.0","maintainers":[{"name":"adobehalls","email":"halls@adobe.com"},{"name":"fullcolorcoder","email":"bradjohn@adobe.com"},{"name":"marbec","email":"mabecker@adobe.com"},{"name":"tripod","email":"tripod@bocanegra.ch"},{"name":"garthdb","email":"garthdb@gmail.com"},{"name":"lazd","email":"lazdnet@gmail.com"},{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},{"name":"patrickfulton","email":"patrickfulton@gmail.com"},{"name":"trieloff","email":"lars@trieloff.net"},{"name":"shazron","email":"shazron@gmail.com"},{"name":"krisnye","email":"krisnye@gmail.com"},{"name":"dcpfsdk","email":"dcpfsdk@adobe.com"},{"name":"natebaldwin","email":"natebaldwindesign@gmail.com"},{"name":"devongovett","email":"devongovett@gmail.com"},{"name":"aspro83","email":"danniintheus@gmail.com"},{"name":"symanovi","email":"symanovi@adobe.com"},{"name":"dpfister","email":"dominique.pfister@gmail.com"},{"name":"stefan-guggisberg","email":"sg@adobe.com"},{"name":"korra","email":"npmjs.karo@cupdev.net"},{"name":"rofe","email":"npm@rofe.com"},{"name":"kptdobe","email":"kptdobe@gmail.com"}],"homepage":"https://github.com/adobe/helix-cli#readme","bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"bin":{"aem":"index.js","hlx":"index.js"},"dist":{"shasum":"e992b4e38244f32b49bc91412f1783cd194b0377","tarball":"https://registry.npmjs.org/@adobe/helix-cli/-/helix-cli-14.26.0.tgz","fileCount":34,"integrity":"sha512-H/hPejAugE85uoW0sWcCviMZgEkDgxH8Ozmpp3Mzerk7pIy3gc+5Aznz5VdwVYgR6YK6z53JWBk9ftzdIDk45Q==","signatures":[{"sig":"MEQCIBIp4C9TQ+29iQdrIpjsTmcFufMKcR+dHKATEUwiIN3PAiAkh/aQTajuSGub8BmVhRRbzeQt8OQD3G5p+P04k0X7EQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":359121},"main":"index.js","type":"module","mocha":{"loader":"esmock","require":"test/setup-env.js","reporter":"mocha-multi-reporters","recursive":"true","reporter-options":"configFile=.mocha-multi.json"},"engines":{"node":">=14"},"gitHead":"dfeb4c8b11ef646a2a7517b76584637733ff6a61","scripts":{"lint":"eslint .","test":"c8 mocha","check":"npm run lint && npm run test","prepare":"husky install","test-ci-win":"npx mocha --reporter xunit test --reporter-options output=junit/test.xml -t 5000","semantic-release":"semantic-release"},"_npmUser":{"name":"adobe-admin","email":"grp-opensourceoffice@adobe.com"},"repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"_npmVersion":"9.6.6","description":"Project Helix CLI","directories":{},"lint-staged":{"*.js":"eslint"},"_nodeVersion":"18.17.1","dependencies":{"ini":"4.1.1","glob":"10.3.4","open":"9.1.0","uuid":"9.0.0","yargs":"17.7.2","cookie":"0.5.0","dotenv":"16.3.1","ignore":"5.2.4","semver":"7.5.4","express":"4.18.2","shelljs":"0.8.5","unified":"11.0.2","chokidar":"3.5.3","fs-extra":"11.1.1","progress":"2.0.3","camelcase":"8.0.0","node-fetch":"3.3.2","compression":"1.7.4","proxy-agent":"6.3.1","@adobe/fetch":"4.1.0","rehype-parse":"9.0.0","cookie-parser":"1.4.6","livereload-js":"4.0.1","chalk-template":"1.1.0","faye-websocket":"0.11.4","glob-to-regexp":"0.4.1","isomorphic-git":"1.24.5","proxy-from-env":"1.1.0","@adobe/helix-log":"6.0.0","hast-util-select":"6.0.0","http-proxy-agent":"7.0.0","https-proxy-agent":"7.0.2","@adobe/helix-shared-git":"3.0.2","@adobe/helix-shared-config":"10.3.5","@adobe/helix-shared-indexer":"2.0.13"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","nock":"13.3.3","husky":"8.0.3","mocha":"10.2.0","sinon":"15.2.0","eslint":"8.49.0","esmock":"2.4.1","lint-staged":"14.0.1","semantic-release":"21.1.1","junit-report-builder":"3.0.1","@semantic-release/git":"10.0.1","mocha-multi-reporters":"1.5.1","@adobe/helix-testutils":"0.4.14","@adobe/helix-shared-dom":"2.0.1","@adobe/eslint-config-helix":"2.0.3","@semantic-release/changelog":"6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/helix-cli_14.26.0_1694787412746_0.6325456474666598","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-06-05T16:35:21.945Z","modified":"2026-07-08T08:12:36.147Z","0.1.0-SNAPSHOT.1":"2018-06-05T16:35:22.052Z","0.1.0":"2018-06-05T16:44:02.166Z","0.1.0-SNAPSHOT.2113":"2018-06-05T17:34:59.601Z","0.1.0-SNAPSHOT.2135":"2018-06-05T20:30:31.234Z","0.1.0-SNAPSHOT.2166":"2018-06-05T21:27:31.121Z","0.1.0-SNAPSHOT.2197":"2018-06-05T22:07:00.820Z","0.1.0-SNAPSHOT.2496":"2018-06-06T18:23:26.581Z","0.1.0-SNAPSHOT.2549":"2018-06-06T20:40:03.005Z","0.1.0-SNAPSHOT.13":"2018-07-05T15:44:31.380Z","0.1.0-SNAPSHOT.14":"2018-07-05T15:45:47.905Z","0.1.0-SNAPSHOT.20":"2018-07-06T10:51:27.168Z","0.1.0-SNAPSHOT.22":"2018-07-06T10:53:40.167Z","0.1.0-SNAPSHOT.24":"2018-07-06T16:35:24.858Z","0.1.0-SNAPSHOT.28":"2018-07-08T12:50:05.600Z","0.1.0-SNAPSHOT.34":"2018-07-08T17:19:27.378Z","0.1.0-SNAPSHOT.36":"2018-07-09T03:24:10.384Z","0.1.0-SNAPSHOT.41":"2018-07-09T08:26:17.997Z","0.1.0-SNAPSHOT.45":"2018-07-09T08:32:30.059Z","0.1.0-SNAPSHOT.47":"2018-07-09T08:38:55.115Z","0.1.0-SNAPSHOT.49":"2018-07-09T08:50:04.438Z","0.1.0-SNAPSHOT.51":"2018-07-09T08:51:02.213Z","0.1.0-SNAPSHOT.55":"2018-07-09T09:37:08.209Z","0.1.0-SNAPSHOT.58":"2018-07-09T15:49:05.664Z","0.1.0-SNAPSHOT.67":"2018-07-09T16:19:53.756Z","0.1.0-SNAPSHOT.69":"2018-07-09T16:22:23.824Z","0.1.0-SNAPSHOT.71":"2018-07-09T16:24:36.078Z","0.1.0-SNAPSHOT.112":"2018-07-13T09:12:39.943Z","0.2.0-SNAPSHOT.126":"2018-07-16T08:13:18.513Z","0.2.1":"2018-07-18T07:20:15.126Z","0.2.2":"2018-07-18T07:48:19.516Z","0.2.1-SNAPSHOT.136":"2018-07-18T08:47:27.286Z","0.2.1-SNAPSHOT.143":"2018-07-18T09:52:48.399Z","0.2.1-SNAPSHOT.145":"2018-07-18T09:57:15.305Z","0.2.1-SNAPSHOT.147":"2018-07-18T12:55:39.752Z","0.2.2-SNAPSHOT.150":"2018-07-18T13:57:10.552Z","0.2.3-SNAPSHOT.152":"2018-07-18T14:12:45.680Z","0.2.3-SNAPSHOT.157":"2018-07-19T03:47:27.484Z","0.2.3":"2018-07-19T06:34:35.606Z","0.2.3-SNAPSHOT.160":"2018-07-19T06:35:53.941Z","0.2.3-SNAPSHOT.162":"2018-07-19T06:38:58.954Z","0.2.3-SNAPSHOT.164":"2018-07-19T06:41:38.892Z","0.2.3-SNAPSHOT.171":"2018-07-20T08:27:14.315Z","0.2.4-SNAPSHOT.180":"2018-07-20T15:44:02.743Z","0.2.4-SNAPSHOT.204":"2018-07-24T06:44:20.628Z","0.2.5":"2018-07-25T19:31:12.244Z","0.2.4-SNAPSHOT.236":"2018-07-25T19:32:36.462Z","0.2.5-SNAPSHOT.238":"2018-07-25T19:33:39.641Z","0.2.6":"2018-08-03T20:19:16.726Z","0.2.6-SNAPSHOT.255":"2018-08-03T20:20:55.630Z","0.2.5-SNAPSHOT.256":"2018-08-03T20:21:12.296Z","0.2.6-SNAPSHOT.263":"2018-08-06T10:23:39.562Z","0.2.6-SNAPSHOT.266":"2018-08-06T12:33:12.467Z","0.2.6-SNAPSHOT.270":"2018-08-06T13:57:40.392Z","0.2.6-SNAPSHOT.272":"2018-08-07T07:49:00.043Z","0.2.6-SNAPSHOT.281":"2018-08-08T14:23:39.906Z","0.3.0":"2018-08-09T12:11:37.677Z","0.2.6-SNAPSHOT.288":"2018-08-09T12:12:34.482Z","0.3.0-SNAPSHOT.290":"2018-08-09T12:13:58.179Z","0.3.0-SNAPSHOT.293":"2018-08-09T15:05:27.794Z","0.3.1":"2018-08-10T12:14:24.806Z","0.3.0-SNAPSHOT.298":"2018-08-10T12:15:33.528Z","0.3.1-SNAPSHOT.300":"2018-08-10T12:16:40.389Z","0.3.1-SNAPSHOT.308":"2018-08-13T12:27:05.764Z","0.3.1-SNAPSHOT.313":"2018-08-14T07:33:56.470Z","0.3.1-SNAPSHOT.317":"2018-08-16T07:33:55.264Z","0.3.1-SNAPSHOT.320":"2018-08-16T12:06:46.660Z","0.3.1-SNAPSHOT.326":"2018-08-16T12:18:01.197Z","0.3.1-SNAPSHOT.328":"2018-08-16T12:18:58.806Z","0.3.1-SNAPSHOT.332":"2018-08-16T12:44:15.284Z","0.3.1-SNAPSHOT.339":"2018-08-16T14:01:18.574Z","0.3.1-SNAPSHOT.343":"2018-08-16T16:13:12.666Z","0.3.1-SNAPSHOT.347":"2018-08-16T16:18:48.583Z","0.3.1-SNAPSHOT.352":"2018-08-17T01:09:44.639Z","0.3.1-SNAPSHOT.357":"2018-08-17T03:53:51.576Z","0.3.1-SNAPSHOT.361":"2018-08-17T04:00:32.683Z","0.3.1-SNAPSHOT.363":"2018-08-17T04:05:04.349Z","0.3.1-SNAPSHOT.370":"2018-08-17T08:33:21.757Z","0.3.1-SNAPSHOT.372":"2018-08-17T11:59:54.066Z","0.3.1-SNAPSHOT.375":"2018-08-17T12:02:20.647Z","0.3.1-SNAPSHOT.380":"2018-08-20T09:20:08.540Z","0.3.1-SNAPSHOT.392":"2018-08-21T07:58:38.549Z","0.3.1-SNAPSHOT.394":"2018-08-21T08:00:38.992Z","0.3.1-SNAPSHOT.399":"2018-08-21T09:03:08.219Z","0.3.1-SNAPSHOT.405":"2018-08-21T10:33:45.821Z","0.3.1-SNAPSHOT.410":"2018-08-22T08:57:25.334Z","0.3.1-SNAPSHOT.413":"2018-08-22T09:11:41.425Z","0.3.1-SNAPSHOT.417":"2018-08-22T11:02:56.797Z","0.3.1-SNAPSHOT.424":"2018-08-23T07:13:04.026Z","0.3.1-SNAPSHOT.427":"2018-08-23T08:12:39.668Z","0.3.1-SNAPSHOT.430":"2018-08-23T09:00:16.491Z","0.3.1-SNAPSHOT.436":"2018-08-23T17:35:12.092Z","0.3.2-pre.0":"2018-08-23T23:22:51.456Z","0.3.2-pre.1":"2018-08-27T09:01:05.110Z","0.3.2":"2018-08-31T05:28:38.098Z","0.3.3-pre.0":"2018-08-31T05:31:16.448Z","0.3.3-pre.1":"2018-08-31T10:38:09.612Z","0.3.3-pre.2":"2018-09-03T03:54:11.958Z","0.3.3-pre.3":"2018-09-03T09:18:29.617Z","0.3.3-pre.4":"2018-09-06T01:59:37.953Z","0.4.0":"2018-09-06T02:31:10.071Z","0.4.1-pre.0":"2018-09-06T07:38:54.856Z","0.5.0":"2018-09-06T07:52:48.737Z","0.5.1-pre.0":"2018-09-06T07:56:24.363Z","0.5.1":"2018-09-06T13:45:48.734Z","0.5.2-pre.0":"2018-09-07T10:16:04.870Z","0.5.2-pre.1":"2018-09-09T21:48:01.175Z","0.5.2":"2018-09-09T21:49:46.507Z","0.5.3-pre.0":"2018-09-09T21:53:15.970Z","0.5.3-pre.1":"2018-09-10T10:37:47.789Z","0.5.3":"2018-09-10T10:43:11.138Z","0.5.4":"2018-09-10T13:58:37.493Z","0.5.5-pre.0":"2018-09-11T07:22:00.344Z","0.5.5":"2018-09-11T09:07:46.137Z","0.5.6-pre.0":"2018-09-11T09:10:52.288Z","0.5.6-pre.1":"2018-09-11T09:27:43.036Z","0.5.6-pre.2":"2018-09-11T09:37:19.671Z","0.5.6-pre.3":"2018-09-11T14:06:59.888Z","0.5.6-pre.4":"2018-09-12T07:30:18.609Z","0.5.6-pre.5":"2018-09-12T07:37:17.038Z","0.6.0":"2018-09-12T08:07:10.214Z","0.6.1-pre.0":"2018-09-12T08:10:42.300Z","0.6.1-pre.1":"2018-09-12T10:15:33.425Z","0.6.1":"2018-09-13T07:31:52.554Z","0.6.2-pre.0":"2018-09-13T07:35:10.694Z","0.6.2-pre.1":"2018-09-13T07:43:10.336Z","0.7.0":"2018-09-13T08:12:36.352Z","0.7.1-pre.0":"2018-09-13T08:16:07.265Z","0.7.1":"2018-09-13T10:27:01.222Z","0.7.2-pre.0":"2018-09-13T10:29:55.577Z","0.7.2-pre.1":"2018-09-13T10:36:40.315Z","0.7.2-pre.2":"2018-09-13T14:17:54.650Z","0.7.2":"2018-09-13T14:26:24.835Z","0.7.3-pre.0":"2018-09-13T14:30:11.814Z","0.7.3-pre.1":"2018-09-13T15:04:57.719Z","0.7.4":"2018-09-13T15:18:46.356Z","0.7.5-pre.0":"2018-09-13T15:23:17.051Z","0.7.5-pre.1":"2018-09-13T15:56:05.543Z","0.7.5":"2018-09-13T16:04:02.483Z","0.7.6-pre.0":"2018-09-13T16:07:17.880Z","0.7.6-pre.1":"2018-09-18T05:40:23.892Z","0.7.6-pre.2":"2018-09-18T06:06:13.242Z","0.7.6-pre.3":"2018-09-18T08:52:27.924Z","0.7.6":"2018-09-19T12:26:19.771Z","0.7.7-pre.0":"2018-09-19T12:30:23.510Z","0.7.7-pre.1":"2018-09-19T13:00:29.851Z","0.7.7":"2018-09-19T15:19:00.742Z","0.7.8-pre.0":"2018-09-19T15:23:06.877Z","0.7.8":"2018-09-21T15:59:02.125Z","0.7.9-pre.0":"2018-09-21T16:15:49.874Z","0.7.9-pre.1":"2018-09-24T10:12:33.527Z","0.7.9":"2018-09-24T12:10:23.501Z","0.7.10-pre.0":"2018-09-24T12:26:57.370Z","0.7.10-pre.1":"2018-09-24T13:47:39.976Z","0.7.10-pre.2":"2018-09-24T14:34:11.633Z","0.7.10-pre.3":"2018-09-25T05:29:26.544Z","0.7.10-pre.4":"2018-09-25T08:36:58.097Z","0.7.10-pre.5":"2018-09-25T12:34:29.461Z","0.7.10-pre.6":"2018-09-25T16:18:42.622Z","0.7.10-pre.7":"2018-09-25T16:41:33.671Z","0.7.10-pre.8":"2018-09-26T00:43:42.047Z","0.7.10":"2018-09-26T13:24:26.714Z","0.7.11-pre.0":"2018-09-26T13:29:49.922Z","0.7.11-pre.1":"2018-09-27T12:06:59.632Z","0.7.11-pre.2":"2018-09-28T00:40:50.722Z","0.7.11":"2018-09-28T16:54:47.816Z","0.7.12-pre.0":"2018-09-28T16:58:17.949Z","0.7.12-pre.1":"2018-10-02T12:54:09.760Z","0.7.12-pre.2":"2018-10-02T15:10:24.191Z","0.7.12-pre.3":"2018-10-02T18:02:48.468Z","0.7.12-pre.4":"2018-10-02T18:13:15.156Z","0.7.12-pre.5":"2018-10-03T02:35:58.548Z","0.7.12-pre.6":"2018-10-03T02:42:54.935Z","0.7.12":"2018-10-03T02:51:34.965Z","0.7.13-pre.0":"2018-10-03T02:55:48.732Z","0.7.13-pre.1":"2018-10-03T08:20:45.358Z","0.7.13-pre.2":"2018-10-03T23:15:16.122Z","0.7.13-pre.3":"2018-10-04T01:49:50.548Z","0.7.13-pre.4":"2018-10-04T02:30:03.057Z","0.7.13-pre.5":"2018-10-04T05:03:44.834Z","0.7.13-pre.6":"2018-10-04T05:33:09.271Z","0.7.13-pre.7":"2018-10-04T06:00:39.220Z","0.7.13-pre.8":"2018-10-04T07:20:00.861Z","0.7.13-pre.9":"2018-10-04T15:02:50.182Z","0.7.13-pre.10":"2018-10-05T05:29:42.326Z","0.7.13-pre.11":"2018-10-05T05:34:09.823Z","0.7.13-pre.12":"2018-10-07T12:43:32.622Z","0.7.13-pre.13":"2018-10-08T12:44:16.258Z","0.7.13-pre.14":"2018-10-08T14:48:14.305Z","0.8.0":"2018-10-09T04:48:41.794Z","0.8.1-pre.0":"2018-10-09T04:50:32.918Z","0.8.1-pre.1":"2018-10-09T05:35:42.665Z","0.8.1-pre.2":"2018-10-09T08:17:18.547Z","0.8.1-pre.3":"2018-10-10T00:10:41.523Z","0.8.1-pre.4":"2018-10-10T12:15:41.277Z","0.8.1-pre.5":"2018-10-11T14:41:12.054Z","0.8.1-pre.6":"2018-10-12T12:44:56.935Z","0.8.1-pre.7":"2018-10-12T14:33:29.310Z","0.8.1-pre.8":"2018-10-15T12:54:33.893Z","0.8.1-pre.9":"2018-10-16T16:07:54.028Z","0.8.1-pre.10":"2018-10-17T05:00:04.485Z","0.8.1-pre.11":"2018-10-17T14:23:06.978Z","0.8.1-pre.12":"2018-10-18T01:53:00.746Z","0.8.1-pre.13":"2018-10-18T08:52:16.301Z","0.8.1-pre.14":"2018-10-18T09:39:14.431Z","0.8.1-pre.15":"2018-10-18T14:12:44.648Z","0.8.1-pre.16":"2018-10-19T10:56:18.514Z","0.8.1-pre.17":"2018-10-19T13:48:14.893Z","0.8.1-pre.18":"2018-10-19T14:57:14.044Z","0.8.1-pre.19":"2018-10-23T12:22:02.051Z","0.8.1-pre.20":"2018-10-24T06:11:04.674Z","0.8.1-pre.21":"2018-10-24T07:39:32.557Z","0.8.1-pre.22":"2018-10-29T00:14:18.917Z","0.8.1-pre.23":"2018-10-29T06:51:35.157Z","0.8.1-pre.24":"2018-10-31T03:44:54.020Z","0.8.1-pre.25":"2018-10-31T07:20:16.471Z","0.8.1-pre.26":"2018-11-05T04:44:57.327Z","0.8.1":"2018-11-06T03:35:37.437Z","0.8.2-pre.0":"2018-11-06T03:37:28.326Z","0.8.2-pre.1":"2018-11-06T09:52:21.655Z","0.8.2":"2018-11-06T14:39:22.067Z","0.8.3-pre.0":"2018-11-06T14:41:43.089Z","0.8.3-pre.1":"2018-11-08T23:52:50.527Z","0.9.0":"2018-11-09T00:00:13.447Z","0.9.1-pre.0":"2018-11-09T00:02:18.735Z","0.9.1-pre.1":"2018-11-12T06:47:35.724Z","0.9.1-pre.2":"2018-11-12T06:52:15.255Z","0.9.1-pre.3":"2018-11-13T04:53:24.146Z","0.9.2-pre.0":"2018-11-13T09:36:29.002Z","0.9.1":"2018-11-13T09:55:08.351Z","0.9.2-pre.1":"2018-11-14T04:47:33.991Z","0.9.2-pre.2":"2018-11-14T04:50:17.122Z","0.9.2-pre.3":"2018-11-14T14:25:14.926Z","0.9.2-pre.4":"2018-11-19T05:56:09.894Z","0.9.2-pre.5":"2018-11-19T13:21:54.313Z","0.9.2-pre.6":"2018-11-19T13:25:04.578Z","0.9.2-pre.7":"2018-11-19T18:00:20.089Z","0.9.2-pre.8":"2018-11-19T19:22:43.923Z","0.9.2-pre.9":"2018-11-20T15:14:53.178Z","0.9.2-pre.10":"2018-11-20T16:16:17.037Z","0.9.2-pre.11":"2018-11-21T02:24:37.162Z","0.9.2-pre.12":"2018-11-21T10:01:57.235Z","0.9.2-pre.13":"2018-11-21T11:36:17.250Z","0.9.2-pre.14":"2018-11-21T13:50:51.096Z","0.9.2-pre.15":"2018-11-21T14:51:33.582Z","0.9.2-pre.16":"2018-11-21T16:18:48.633Z","0.9.2-pre.17":"2018-11-21T16:35:21.256Z","0.9.2-pre.18":"2018-11-21T16:39:01.515Z","0.9.2-pre.19":"2018-11-22T09:12:48.082Z","0.9.2-pre.20":"2018-11-22T09:17:03.637Z","0.9.2-pre.21":"2018-11-22T09:24:24.762Z","0.9.2-pre.22":"2018-11-22T09:38:56.989Z","0.9.2-pre.23":"2018-11-23T17:17:52.352Z","0.9.2-pre.24":"2018-11-23T17:27:50.638Z","0.9.2-pre.25":"2018-11-23T17:46:00.808Z","0.9.2-pre.26":"2018-11-24T17:40:14.185Z","0.9.2-pre.27":"2018-11-24T17:46:45.774Z","0.9.2-pre.28":"2018-11-24T18:04:23.625Z","0.9.2-pre.29":"2018-11-27T10:12:01.327Z","0.9.2-pre.30":"2018-11-27T12:11:43.869Z","0.9.2-pre.31":"2018-11-28T14:49:51.873Z","0.9.2-pre.32":"2018-11-28T17:21:28.787Z","0.9.2-pre.33":"2018-11-28T17:26:48.137Z","0.9.2-pre.34":"2018-11-28T17:33:47.747Z","0.9.2-pre.35":"2018-11-28T19:16:51.808Z","0.9.2-pre.36":"2018-11-29T05:25:26.114Z","0.9.2-pre.37":"2018-11-29T07:51:37.968Z","0.9.2-pre.38":"2018-11-29T09:11:48.824Z","0.9.2-pre.39":"2018-11-29T09:44:41.019Z","0.9.2-pre.40":"2018-11-29T09:49:34.653Z","0.9.2-pre.41":"2018-11-30T02:38:15.920Z","0.9.2-pre.42":"2018-11-30T13:19:15.597Z","0.9.2-pre.43":"2018-11-30T13:23:15.227Z","0.9.2-pre.44":"2018-12-07T13:09:59.346Z","0.9.2-pre.45":"2018-12-07T13:17:56.341Z","0.9.2-pre.46":"2018-12-07T15:56:40.717Z","0.10.0":"2018-12-07T16:23:32.242Z","0.10.1-pre.0":"2018-12-07T16:23:57.082Z","0.10.1-pre.1":"2018-12-11T00:55:32.646Z","0.10.1-pre.2":"2018-12-11T18:19:24.220Z","0.10.1-pre.3":"2018-12-11T18:25:56.066Z","0.10.3-pre.0":"2018-12-11T18:38:25.304Z","0.10.2":"2018-12-11T18:51:44.316Z","0.10.3-pre.1":"2018-12-11T22:55:19.779Z","0.10.3-pre.2":"2018-12-11T23:24:12.101Z","0.10.5-pre.0":"2018-12-11T23:30:51.702Z","0.10.4":"2018-12-11T23:32:32.632Z","0.10.6-pre.0":"2018-12-11T23:41:19.184Z","0.10.5":"2018-12-11T23:42:05.787Z","0.10.6-pre.1":"2018-12-12T17:42:16.197Z","0.10.6-pre.2":"2018-12-12T18:35:45.514Z","0.10.6-pre.3":"2018-12-12T19:26:23.832Z","0.10.6-pre.4":"2018-12-13T05:30:23.641Z","0.10.6-pre.5":"2018-12-13T17:47:57.473Z","0.10.6-pre.6":"2018-12-13T17:53:17.365Z","0.10.6":"2018-12-13T17:57:36.794Z","0.10.7-pre.0":"2018-12-13T17:58:52.439Z","0.10.7-pre.1":"2018-12-13T20:50:20.303Z","0.10.7-pre.2":"2018-12-13T22:51:17.375Z","0.10.8-pre.0":"2018-12-13T23:32:15.875Z","0.10.7":"2018-12-13T23:34:13.406Z","0.10.9-pre.0":"2018-12-14T00:17:14.795Z","0.10.8":"2018-12-14T00:20:12.273Z","0.10.9-pre.1":"2018-12-15T00:30:42.384Z","0.10.9-pre.2":"2018-12-15T00:40:36.480Z","0.10.9":"2018-12-15T03:10:02.485Z","0.10.10":"2018-12-15T03:16:34.961Z","0.10.11-pre.0":"2018-12-15T03:18:32.585Z","0.10.11-pre.1":"2018-12-18T13:04:54.891Z","0.10.11-pre.2":"2018-12-18T14:08:43.338Z","0.10.11-pre.3":"2018-12-18T14:13:55.494Z","0.10.11-pre.4":"2018-12-18T14:33:23.359Z","0.10.11-pre.5":"2018-12-18T14:38:13.941Z","0.10.11-pre.6":"2018-12-18T16:04:19.831Z","0.10.11-pre.7":"2018-12-18T17:35:39.809Z","0.10.12-pre.0":"2018-12-18T17:39:32.570Z","0.10.11":"2018-12-18T17:46:07.961Z","0.10.12-pre.1":"2018-12-18T19:35:23.704Z","0.10.12-pre.2":"2018-12-19T20:10:13.325Z","0.10.12-pre.3":"2018-12-20T08:38:29.136Z","0.10.12-pre.4":"2018-12-20T11:04:13.196Z","0.10.12-pre.5":"2018-12-20T11:10:57.343Z","0.10.12":"2018-12-20T11:19:11.489Z","0.10.13-pre.0":"2018-12-20T11:22:01.756Z","0.10.13-pre.1":"2018-12-20T12:33:18.106Z","0.10.14-pre.0":"2018-12-20T12:36:46.422Z","0.10.15-pre.0":"2018-12-20T12:53:00.625Z","0.10.14":"2018-12-20T14:28:34.165Z","0.10.15":"2018-12-20T14:40:56.065Z","0.10.16-pre.0":"2018-12-20T14:43:04.141Z","0.10.16-pre.1":"2018-12-20T15:04:21.671Z","0.10.16-pre.2":"2018-12-20T15:41:15.299Z","0.10.16":"2019-01-07T09:19:08.221Z","0.10.17-pre.0":"2019-01-07T09:21:14.155Z","0.10.17-pre.1":"2019-01-08T00:58:27.252Z","0.10.17-pre.2":"2019-01-08T09:13:51.412Z","0.10.17-pre.3":"2019-01-08T13:04:15.962Z","0.10.17-pre.4":"2019-01-08T16:50:55.844Z","0.10.17-pre.5":"2019-01-08T23:57:01.205Z","0.10.17-pre.6":"2019-01-09T00:57:07.758Z","0.10.17-pre.7":"2019-01-09T08:27:35.837Z","0.10.17-pre.8":"2019-01-09T11:28:14.978Z","0.10.17-pre.9":"2019-01-10T15:11:53.584Z","0.10.17-pre.10":"2019-01-11T00:33:15.364Z","0.10.17-pre.11":"2019-01-11T00:54:59.471Z","0.10.17-pre.12":"2019-01-11T04:26:15.653Z","0.10.17-pre.13":"2019-01-14T07:53:18.275Z","0.10.17-pre.14":"2019-01-14T16:41:35.205Z","0.10.17":"2019-01-14T16:45:44.120Z","0.10.18-pre.0":"2019-01-14T16:48:18.969Z","0.10.18-pre.1":"2019-01-15T11:55:54.613Z","0.10.18-pre.2":"2019-01-17T04:59:09.879Z","0.10.18-pre.3":"2019-01-17T11:09:14.564Z","0.10.18-pre.4":"2019-01-18T08:08:16.165Z","0.10.18-pre.5":"2019-01-22T00:17:53.889Z","0.11.0":"2019-01-22T01:41:55.771Z","0.11.1-pre.0":"2019-01-22T01:45:13.133Z","0.11.1-pre.1":"2019-01-24T04:55:22.864Z","0.11.1-pre.2":"2019-01-24T13:34:16.418Z","0.11.1-pre.3":"2019-01-24T14:39:15.933Z","0.11.1-pre.4":"2019-01-26T07:37:17.014Z","0.11.1-pre.5":"2019-01-27T06:33:05.614Z","0.11.1-pre.6":"2019-01-28T00:45:17.172Z","0.11.1-pre.7":"2019-01-29T22:39:54.057Z","0.11.1-pre.8":"2019-01-29T22:43:49.940Z","0.12.0":"2019-01-29T23:32:54.923Z","0.12.1-pre.0":"2019-01-29T23:33:16.135Z","0.12.1-pre.1":"2019-01-30T00:36:29.017Z","0.12.1-pre.2":"2019-01-30T23:22:40.298Z","0.12.1-pre.3":"2019-01-31T01:05:19.555Z","0.12.1":"2019-01-31T01:13:16.045Z","0.12.2-pre.0":"2019-01-31T01:13:50.971Z","0.12.2-pre.1":"2019-01-31T01:21:46.091Z","0.13.0":"2019-01-31T01:26:05.205Z","0.13.1-pre.0":"2019-01-31T01:29:16.258Z","0.13.1-pre.1":"2019-02-01T07:05:28.624Z","0.13.1-pre.2":"2019-02-01T07:30:19.654Z","0.13.2":"2019-02-01T07:45:36.953Z","0.13.3-pre.0":"2019-02-01T07:48:00.016Z","0.13.3-pre.1":"2019-02-02T00:43:18.232Z","0.13.3-pre.2":"2019-02-05T19:12:55.657Z","0.13.3-pre.3":"2019-02-06T11:09:17.361Z","0.13.3-pre.4":"2019-02-06T11:14:09.413Z","0.13.3-pre.5":"2019-02-06T12:13:11.380Z","0.13.3-pre.6":"2019-02-06T12:52:31.308Z","0.13.3-pre.7":"2019-02-06T13:14:36.871Z","0.13.3-pre.8":"2019-02-06T16:39:45.644Z","0.13.3-pre.9":"2019-02-06T18:47:45.344Z","0.13.4-pre.1":"2019-02-07T09:58:22.897Z","0.13.4-pre.2":"2019-02-08T16:35:03.218Z","0.13.4-pre.3":"2019-02-08T17:28:35.786Z","0.13.4-pre.4":"2019-02-09T08:53:12.009Z","0.13.4-pre.5":"2019-02-11T08:06:13.171Z","0.13.4-pre.6":"2019-02-12T04:51:20.716Z","0.13.4-pre.7":"2019-02-12T07:21:23.647Z","0.13.4-pre.8":"2019-02-12T07:55:31.020Z","0.13.4-pre.9":"2019-02-12T08:48:18.024Z","0.13.4-pre.10":"2019-02-13T03:25:29.217Z","0.13.4-pre.11":"2019-02-13T08:54:28.607Z","0.13.4-pre.12":"2019-02-13T09:03:25.140Z","0.13.4-pre.13":"2019-02-13T16:00:31.272Z","0.13.4-pre.14":"2019-02-13T16:26:18.138Z","0.13.4-pre.15":"2019-02-14T00:03:22.696Z","0.13.4-pre.16":"2019-02-14T00:47:30.452Z","0.13.4-pre.17":"2019-02-14T01:24:22.490Z","0.13.4-pre.18":"2019-02-14T02:03:16.397Z","0.13.4-pre.19":"2019-02-14T06:00:19.185Z","0.13.4-pre.20":"2019-02-14T12:57:08.639Z","0.13.4-pre.21":"2019-02-14T23:59:50.685Z","0.13.4-pre.22":"2019-02-15T01:55:47.653Z","0.13.5-pre.0":"2019-02-19T10:19:35.560Z","0.13.4":"2019-02-19T10:20:23.898Z","0.13.5-pre.1":"2019-02-19T14:40:59.113Z","0.13.5-pre.2":"2019-02-19T23:39:35.681Z","0.13.5-pre.3":"2019-02-20T10:08:33.813Z","0.13.5-pre.4":"2019-02-20T12:20:57.395Z","0.13.6-pre.0":"2019-02-20T12:57:07.360Z","0.13.5":"2019-02-20T13:14:38.028Z","0.13.6-pre.1":"2019-02-20T16:39:49.778Z","0.13.6-pre.2":"2019-02-21T08:57:43.231Z","0.13.6-pre.3":"2019-02-21T14:02:32.909Z","0.13.6-pre.4":"2019-02-21T15:33:49.131Z","0.13.6-pre.5":"2019-02-22T08:17:28.957Z","0.13.6-pre.6":"2019-02-22T09:08:21.161Z","0.13.6-pre.7":"2019-02-25T08:13:27.265Z","0.13.6-pre.8":"2019-02-25T08:19:00.278Z","0.13.6-pre.9":"2019-02-26T15:57:21.535Z","0.13.6-pre.10":"2019-02-27T08:21:26.972Z","0.13.6-pre.11":"2019-02-27T14:47:30.443Z","0.13.6-pre.12":"2019-02-28T00:24:30.635Z","0.13.6-pre.13":"2019-02-28T04:28:08.997Z","0.13.6-pre.14":"2019-02-28T05:18:22.687Z","0.13.6-pre.15":"2019-02-28T10:19:45.861Z","0.13.6":"2019-03-01T17:21:27.005Z","0.13.7-pre.0":"2019-03-01T17:24:48.196Z","0.13.7-pre.1":"2019-03-04T11:26:17.624Z","0.13.7-pre.2":"2019-03-05T08:46:41.333Z","0.13.7-pre.3":"2019-03-05T10:06:58.891Z","0.13.7-pre.4":"2019-03-05T15:18:30.794Z","0.13.7":"2019-03-05T18:41:45.964Z","0.13.8-pre.0":"2019-03-05T18:45:34.821Z","0.13.8-pre.1":"2019-03-05T19:05:48.812Z","0.13.8-pre.2":"2019-03-05T19:13:34.080Z","0.13.8-pre.3":"2019-03-06T08:32:46.472Z","0.13.8-pre.4":"2019-03-07T08:06:35.400Z","0.13.8-pre.5":"2019-03-07T14:04:11.575Z","0.13.8-pre.6":"2019-03-07T16:24:34.950Z","0.13.8-pre.7":"2019-03-08T14:01:38.066Z","0.13.8":"2019-03-08T18:07:03.848Z","0.13.9-pre.0":"2019-03-08T18:10:19.748Z","0.13.9-pre.1":"2019-03-10T17:05:12.872Z","0.13.9-pre.2":"2019-03-11T05:38:55.192Z","0.13.9-pre.3":"2019-03-11T06:38:47.125Z","0.13.9-pre.4":"2019-03-11T06:47:02.693Z","0.13.9-pre.5":"2019-03-11T07:02:41.567Z","0.13.9-pre.6":"2019-03-11T07:19:22.951Z","0.13.9-pre.7":"2019-03-11T14:22:55.289Z","0.13.9-pre.8":"2019-03-12T14:56:06.020Z","0.13.9-pre.9":"2019-03-13T07:23:23.675Z","0.13.9-pre.10":"2019-03-13T11:10:12.523Z","0.13.9-pre.11":"2019-03-13T15:11:47.061Z","0.13.9-pre.12":"2019-03-13T17:05:31.564Z","0.13.9-pre.13":"2019-03-14T07:44:40.321Z","0.13.9-pre.14":"2019-03-14T07:50:37.598Z","0.13.9-pre.15":"2019-03-14T13:32:37.142Z","0.13.9-pre.16":"2019-03-14T14:39:13.891Z","0.13.9-pre.17":"2019-03-14T15:16:14.309Z","0.13.9-pre.18":"2019-03-14T15:39:26.342Z","0.13.9":"2019-03-14T15:57:39.105Z","0.13.10-pre.0":"2019-03-14T16:01:28.322Z","0.13.10-pre.1":"2019-03-15T07:42:07.829Z","0.13.10-pre.2":"2019-03-15T08:18:31.045Z","0.13.10-pre.3":"2019-03-16T09:54:37.132Z","0.13.10-pre.4":"2019-03-18T04:34:56.392Z","0.13.10":"2019-03-18T10:26:08.896Z","0.13.11-pre.0":"2019-03-18T10:28:12.982Z","0.13.11-pre.1":"2019-03-18T19:06:48.557Z","0.13.11-pre.2":"2019-03-19T08:14:25.996Z","0.13.11-pre.3":"2019-03-19T14:49:39.253Z","0.13.11-pre.4":"2019-03-19T15:06:45.408Z","0.13.11-pre.5-dev":"2019-03-20T02:22:30.148Z","0.13.11-pre.5":"2019-03-20T02:41:53.841Z","0.13.11-pre.6":"2019-03-20T05:22:49.273Z","0.13.11-pre.7":"2019-03-20T14:28:44.552Z","0.13.11-pre.8":"2019-03-20T15:01:37.230Z","0.13.11-pre.8-test":"2019-03-21T00:13:09.767Z","0.13.11-pre.9":"2019-03-21T07:43:32.290Z","0.13.11-pre.10":"2019-03-22T01:03:53.204Z","0.13.11-pre.11":"2019-03-22T08:27:40.926Z","0.13.11-pre.12":"2019-03-22T08:36:53.124Z","0.13.11-pre.13":"2019-03-22T09:03:43.813Z","0.13.11":"2019-03-22T17:43:34.985Z","0.13.12":"2019-03-22T17:50:30.049Z","0.13.13-pre.0":"2019-03-22T17:54:44.647Z","0.13.13-pre.1":"2019-03-22T21:29:49.500Z","0.13.13-pre.2":"2019-03-24T12:11:54.427Z","0.13.13-pre.4":"2019-04-01T01:18:53.179Z","0.13.13-pre.5":"2019-04-01T04:58:44.940Z","0.13.13-pre.6":"2019-04-01T07:49:47.980Z","0.13.13-pre.7":"2019-04-02T00:27:51.649Z","0.13.13":"2019-04-02T09:24:39.348Z","0.13.14-pre.0":"2019-04-02T09:28:40.858Z","0.13.14-pre.1":"2019-04-02T09:39:26.030Z","0.13.14-pre.2":"2019-04-02T09:54:09.374Z","0.13.14-pre.3":"2019-04-02T10:07:14.284Z","0.13.14":"2019-04-03T01:33:47.960Z","0.13.15-pre.0":"2019-04-03T01:38:33.767Z","0.13.15-pre.1":"2019-04-03T23:58:00.670Z","0.13.15-pre.2":"2019-04-04T00:39:57.087Z","0.13.15-pre.3":"2019-04-04T01:00:19.415Z","0.13.15-pre.4":"2019-04-04T13:35:16.209Z","0.13.15-pre.5":"2019-04-05T18:16:17.120Z","0.13.15-pre.6":"2019-04-06T00:44:56.212Z","0.13.15-pre.7":"2019-04-07T16:49:46.443Z","0.13.15-pre.8":"2019-04-08T01:43:13.285Z","0.14.0":"2019-04-10T01:27:21.206Z","0.14.1":"2019-04-10T01:47:59.043Z","0.14.2":"2019-04-10T02:11:35.761Z","0.14.3":"2019-04-10T13:08:38.101Z","0.14.4":"2019-04-11T03:02:26.546Z","0.14.5":"2019-04-11T15:00:46.043Z","0.14.6":"2019-04-11T17:02:29.181Z","0.14.7":"2019-04-12T02:03:47.290Z","0.14.8":"2019-04-12T04:36:22.358Z","0.14.9":"2019-04-12T05:52:28.760Z","0.14.10":"2019-04-12T09:41:34.497Z","0.14.11":"2019-04-12T09:58:06.679Z","0.14.12":"2019-04-12T11:45:19.974Z","0.14.13":"2019-04-16T14:47:40.539Z","0.14.14":"2019-04-17T09:17:11.885Z","0.14.15":"2019-04-17T15:08:56.423Z","0.14.16":"2019-04-18T08:27:43.844Z","0.14.17":"2019-04-19T04:56:02.960Z","0.14.18":"2019-04-21T01:30:37.415Z","0.15.0":"2019-04-24T09:42:35.260Z","0.15.1":"2019-04-25T07:42:42.649Z","1.0.0":"2019-04-29T14:18:28.329Z","2.0.0":"2019-05-06T15:55:04.991Z","2.0.1":"2019-05-07T09:45:31.069Z","2.0.2":"2019-05-07T10:04:14.136Z","2.0.3":"2019-05-07T13:00:44.172Z","2.0.4":"2019-05-08T05:37:14.439Z","2.0.5":"2019-05-08T07:30:31.921Z","2.1.0":"2019-05-08T16:52:01.877Z","2.1.1":"2019-05-09T01:15:07.438Z","2.1.2":"2019-05-09T07:00:35.533Z","2.1.3":"2019-05-09T08:16:01.787Z","2.1.4":"2019-05-09T09:06:05.448Z","2.1.6":"2019-05-09T15:58:52.785Z","2.2.0":"2019-05-10T08:12:50.509Z","2.2.1":"2019-05-10T13:16:33.693Z","2.2.2":"2019-05-13T00:38:01.852Z","2.2.3":"2019-05-13T01:28:34.681Z","2.2.4":"2019-05-13T04:33:18.289Z","2.2.5":"2019-05-13T05:08:13.106Z","2.3.0":"2019-05-13T06:32:12.548Z","2.4.0":"2019-05-13T06:48:48.250Z","2.4.1":"2019-05-13T07:10:03.217Z","2.5.0":"2019-05-13T08:44:14.269Z","2.5.1":"2019-05-13T23:47:57.806Z","2.5.2":"2019-05-14T02:13:01.066Z","2.5.3":"2019-05-14T12:57:38.765Z","2.5.4":"2019-05-15T05:01:39.436Z","2.5.5":"2019-05-16T01:38:16.598Z","3.0.0":"2019-05-16T07:51:58.288Z","3.1.0":"2019-05-20T08:57:32.101Z","3.2.0":"2019-05-20T09:40:31.401Z","3.2.1":"2019-05-21T19:24:41.800Z","3.2.2":"2019-05-22T19:11:50.529Z","4.0.0":"2019-05-27T06:37:18.847Z","4.0.1":"2019-05-27T09:05:07.555Z","4.0.2":"2019-05-27T09:14:41.643Z","4.0.3":"2019-05-27T09:24:45.828Z","4.0.4":"2019-05-27T12:31:28.388Z","4.0.5":"2019-05-28T02:32:14.373Z","4.0.6":"2019-05-31T06:34:31.534Z","4.0.7":"2019-06-05T07:29:31.354Z","4.0.8":"2019-06-05T08:07:03.965Z","4.0.9":"2019-06-05T23:49:53.418Z","4.1.0":"2019-06-06T06:36:56.790Z","4.2.0":"2019-06-06T08:22:57.583Z","4.2.1":"2019-06-07T02:09:27.006Z","4.2.2":"2019-06-07T04:25:54.766Z","4.2.3":"2019-06-07T07:29:47.044Z","4.2.4":"2019-06-10T23:43:59.444Z","4.2.5":"2019-06-11T01:38:50.134Z","4.2.6":"2019-06-11T07:40:24.338Z","4.2.7":"2019-06-11T12:12:37.307Z","4.2.8":"2019-06-11T12:26:04.241Z","4.2.10":"2019-06-12T13:40:31.192Z","4.3.0":"2019-06-12T13:44:47.687Z","4.3.1":"2019-06-13T03:59:46.284Z","4.3.2":"2019-06-13T07:23:55.349Z","4.4.0":"2019-06-17T02:35:42.557Z","4.4.1":"2019-06-17T08:35:15.097Z","4.4.2":"2019-06-18T09:09:24.927Z","4.4.3":"2019-06-20T04:49:59.231Z","4.4.4":"2019-06-20T09:23:56.558Z","4.4.5":"2019-06-21T04:32:43.158Z","4.4.6":"2019-06-21T12:13:38.276Z","4.4.7":"2019-06-21T14:09:25.313Z","4.5.0":"2019-06-24T13:07:45.886Z","4.6.0":"2019-06-26T12:10:49.742Z","4.6.1":"2019-06-26T12:53:03.346Z","4.6.2":"2019-06-27T08:42:23.337Z","4.6.3":"2019-06-27T12:12:04.446Z","4.6.4":"2019-06-28T08:15:38.224Z","4.6.5":"2019-06-28T13:57:01.160Z","4.6.6":"2019-07-01T05:25:35.691Z","4.6.7":"2019-07-02T09:43:49.970Z","4.7.0":"2019-07-04T04:01:46.927Z","4.8.0":"2019-07-04T04:48:28.927Z","4.8.1":"2019-07-04T09:46:56.341Z","4.9.0":"2019-07-08T07:05:24.964Z","4.9.1":"2019-07-09T03:19:22.096Z","4.9.2":"2019-07-12T07:10:29.022Z","4.9.3":"2019-07-16T05:53:37.166Z","4.9.4":"2019-07-16T07:22:40.686Z","4.9.5":"2019-07-16T21:09:59.850Z","4.9.6":"2019-07-17T03:07:11.543Z","4.9.7":"2019-07-18T02:43:46.584Z","4.9.8":"2019-07-18T05:04:20.312Z","4.9.9":"2019-07-24T07:15:25.959Z","4.9.10":"2019-07-29T05:02:34.872Z","4.9.11":"2019-08-08T18:44:38.364Z","4.9.12":"2019-08-15T07:31:10.418Z","4.9.13":"2019-08-16T19:32:10.630Z","4.9.14":"2019-08-20T14:55:58.497Z","4.10.0":"2019-08-21T06:49:59.349Z","5.0.0":"2019-08-26T20:07:50.425Z","5.0.1":"2019-08-27T09:47:10.457Z","5.0.2":"2019-09-04T05:37:39.118Z","5.1.0":"2019-09-11T11:05:20.221Z","5.2.0":"2019-09-12T00:10:22.885Z","5.2.1":"2019-09-16T10:25:18.642Z","5.3.0":"2019-09-17T14:30:45.122Z","5.4.0":"2019-09-18T05:24:49.948Z","5.4.1":"2019-09-30T14:18:10.342Z","5.4.2":"2019-09-30T17:15:55.912Z","5.4.3":"2019-10-01T00:18:31.558Z","5.4.4":"2019-10-02T05:07:37.058Z","5.4.5":"2019-10-03T14:59:03.371Z","5.4.6":"2019-10-03T23:39:40.456Z","5.4.7":"2019-10-07T03:37:47.348Z","5.4.8":"2019-10-07T07:53:34.493Z","5.5.0":"2019-10-07T12:29:56.098Z","5.6.0":"2019-10-07T16:03:39.299Z","5.6.1":"2019-10-08T02:22:58.553Z","5.6.2":"2019-10-08T03:56:33.135Z","5.6.3":"2019-10-15T02:23:24.884Z","5.6.4":"2019-10-16T05:50:23.768Z","5.6.5":"2019-10-16T06:10:06.882Z","5.7.0":"2019-10-17T00:41:11.926Z","5.7.1":"2019-10-23T13:39:50.892Z","5.7.2":"2019-10-24T07:23:50.637Z","5.7.3":"2019-10-24T08:12:37.703Z","5.7.4":"2019-10-29T03:39:15.661Z","5.7.5":"2019-10-31T09:26:03.072Z","5.7.6":"2019-11-04T06:38:23.511Z","5.7.7":"2019-11-05T03:05:22.524Z","5.7.8":"2019-11-05T07:34:05.992Z","5.8.0":"2019-11-06T00:17:34.893Z","5.8.1":"2019-11-06T00:28:33.725Z","5.8.2":"2019-11-06T01:18:43.294Z","5.8.3":"2019-11-06T08:25:55.539Z","5.8.4":"2019-11-06T09:57:36.661Z","5.8.5":"2019-11-07T00:17:24.019Z","5.9.0":"2019-11-07T00:42:04.891Z","5.9.1":"2019-11-07T06:41:53.208Z","5.9.2":"2019-11-07T09:12:04.919Z","5.9.3":"2019-11-11T00:20:57.124Z","6.0.0":"2019-11-11T00:29:57.014Z","6.0.1":"2019-11-11T04:58:18.627Z","6.0.2":"2019-11-14T16:00:50.045Z","6.0.3":"2019-11-15T07:33:24.898Z","6.0.4":"2019-11-17T23:34:05.596Z","6.0.5":"2019-11-18T00:33:27.566Z","6.0.6":"2019-11-18T08:24:15.348Z","6.0.7":"2019-11-19T04:08:27.544Z","6.1.0":"2019-11-25T00:10:48.915Z","6.1.1":"2019-12-02T01:08:07.777Z","6.2.0":"2019-12-17T08:48:43.951Z","7.0.0":"2020-01-06T14:32:26.709Z","7.0.1":"2020-01-07T02:11:21.810Z","7.0.2":"2020-01-10T00:54:01.730Z","7.0.3":"2020-01-14T03:29:16.303Z","7.0.4":"2020-01-14T08:51:21.977Z","7.0.5":"2020-01-15T01:45:06.562Z","7.0.6":"2020-01-15T15:08:20.237Z","7.1.0":"2020-01-17T19:04:20.801Z","7.1.1":"2020-01-20T02:57:56.055Z","7.2.0":"2020-01-22T01:01:37.879Z","7.2.1":"2020-01-22T06:11:13.113Z","7.2.2":"2020-01-23T07:03:27.655Z","7.2.3":"2020-01-24T02:01:09.208Z","7.2.4":"2020-01-24T12:01:11.894Z","7.2.5":"2020-01-27T01:03:08.434Z","7.3.0":"2020-01-29T17:55:08.360Z","7.3.1":"2020-01-29T21:31:44.512Z","7.3.2":"2020-01-30T00:13:08.020Z","7.3.3":"2020-02-05T13:48:27.695Z","7.3.4":"2020-02-12T08:11:57.415Z","7.3.5":"2020-02-12T22:14:44.569Z","7.3.6":"2020-02-12T23:05:45.209Z","7.3.7":"2020-02-13T19:26:09.057Z","7.4.0":"2020-02-13T23:54:30.841Z","7.4.1":"2020-02-14T02:11:05.472Z","7.4.2":"2020-02-18T04:33:58.693Z","7.5.0":"2020-02-18T05:10:54.366Z","7.5.1":"2020-02-24T17:16:40.594Z","7.5.2":"2020-02-25T01:12:24.916Z","7.5.3":"2020-02-25T02:13:10.564Z","7.5.4":"2020-02-25T02:50:27.546Z","7.5.5":"2020-02-25T08:35:28.642Z","7.5.6":"2020-02-26T01:26:31.575Z","7.5.7":"2020-02-26T06:12:29.180Z","7.5.8":"2020-02-26T07:08:20.550Z","7.5.9":"2020-02-26T08:11:03.953Z","7.5.10":"2020-02-26T11:12:31.317Z","7.5.11":"2020-02-26T14:18:48.924Z","7.5.12":"2020-02-26T17:11:06.591Z","7.5.13":"2020-03-02T09:56:37.171Z","7.5.14":"2020-03-02T10:07:59.200Z","7.5.15":"2020-03-03T12:09:17.972Z","8.0.0":"2020-03-04T09:38:43.485Z","8.0.1":"2020-03-06T09:52:36.178Z","8.0.2":"2020-03-06T15:10:03.963Z","8.1.0":"2020-03-07T13:33:35.918Z","8.1.1":"2020-03-07T14:00:25.554Z","8.1.2":"2020-03-09T14:44:18.286Z","8.1.3":"2020-03-09T16:12:57.817Z","8.1.4":"2020-03-17T01:53:21.106Z","8.1.5":"2020-03-17T02:11:36.170Z","8.1.6":"2020-03-17T03:16:01.103Z","8.1.7":"2020-03-23T14:55:39.468Z","8.1.8":"2020-03-24T02:00:06.004Z","8.1.9":"2020-03-24T02:22:26.340Z","8.1.10":"2020-03-24T03:49:48.372Z","8.1.11":"2020-04-07T00:12:30.385Z","8.1.12":"2020-04-10T00:50:05.040Z","8.1.13":"2020-04-13T05:21:02.939Z","8.2.0":"2020-04-14T04:20:44.909Z","9.0.0":"2020-04-16T02:09:13.227Z","9.0.1":"2020-04-16T03:14:46.258Z","9.1.0":"2020-04-20T02:17:19.563Z","9.1.1":"2020-04-20T13:21:17.354Z","9.1.2":"2020-04-27T09:21:37.387Z","9.1.3":"2020-04-27T14:23:53.053Z","9.1.4":"2020-04-28T04:09:51.278Z","9.1.5":"2020-05-07T03:12:25.136Z","9.1.6":"2020-05-07T12:21:33.447Z","9.1.7":"2020-05-14T12:09:26.969Z","9.1.8":"2020-05-14T13:10:24.535Z","9.1.9":"2020-05-19T03:12:12.480Z","10.0.0":"2020-05-26T12:49:39.342Z","10.0.1":"2020-05-27T12:30:50.979Z","10.1.0":"2020-06-03T11:12:00.372Z","10.1.1":"2020-06-04T06:26:47.386Z","10.2.0":"2020-06-08T07:56:30.389Z","10.2.1":"2020-06-08T19:50:23.549Z","10.2.2":"2020-06-12T03:56:02.993Z","10.2.3":"2020-06-15T08:14:07.206Z","10.2.4":"2020-06-15T09:08:43.346Z","10.2.5":"2020-06-15T15:12:43.284Z","10.2.6":"2020-06-16T07:37:22.899Z","10.2.7":"2020-06-17T07:40:22.877Z","10.2.8":"2020-06-22T12:39:45.446Z","10.3.0":"2020-06-23T00:40:32.244Z","10.3.1":"2020-06-23T09:10:57.365Z","10.3.2":"2020-06-24T09:15:24.757Z","10.3.3":"2020-06-24T09:56:01.729Z","10.3.4":"2020-06-25T10:12:00.108Z","10.3.5":"2020-06-26T09:21:23.385Z","10.3.6":"2020-06-26T11:11:26.351Z","10.3.7":"2020-06-26T13:12:12.041Z","10.3.8":"2020-06-26T14:15:13.286Z","10.3.9":"2020-06-27T04:12:42.593Z","10.3.10":"2020-06-27T16:14:55.486Z","10.3.11":"2020-06-30T05:52:52.466Z","10.3.12":"2020-06-30T14:02:17.297Z","10.4.0":"2020-07-02T10:55:05.344Z","10.4.1":"2020-07-02T17:26:44.098Z","10.4.2":"2020-07-03T05:06:22.202Z","11.0.0":"2020-07-03T10:27:33.265Z","11.0.1":"2020-07-07T08:37:48.601Z","11.0.2":"2020-07-09T09:47:47.579Z","11.0.3":"2020-07-10T06:46:20.534Z","12.0.0":"2020-07-10T12:01:52.858Z","12.0.1":"2020-07-11T19:30:22.939Z","12.0.2":"2020-07-12T10:36:15.596Z","12.0.3":"2020-07-13T19:27:12.917Z","12.0.4":"2020-07-16T07:21:55.737Z","12.0.5":"2020-07-16T08:50:12.485Z","12.0.6":"2020-07-18T14:50:37.641Z","12.0.7":"2020-07-20T16:26:14.243Z","12.0.8":"2020-07-20T23:17:21.568Z","12.0.9":"2020-07-21T09:09:05.456Z","12.0.10":"2020-07-21T10:10:50.106Z","12.0.11":"2020-07-22T05:16:26.355Z","12.0.12":"2020-07-22T20:06:56.329Z","12.0.13":"2020-07-23T19:35:50.033Z","12.0.14":"2020-07-25T15:01:27.306Z","12.0.15":"2020-07-27T15:27:30.376Z","12.0.16":"2020-07-28T01:51:35.492Z","12.0.17":"2020-07-29T08:51:23.464Z","12.0.18":"2020-08-02T11:39:01.065Z","12.0.19":"2020-08-03T21:03:41.826Z","12.0.20":"2020-08-09T07:29:24.792Z","12.1.0":"2020-08-12T10:22:54.184Z","12.1.1":"2020-08-18T02:37:03.860Z","12.1.2":"2020-08-20T19:28:56.738Z","12.1.3":"2020-08-20T21:28:59.772Z","12.1.4":"2020-08-25T03:07:07.906Z","12.1.5":"2020-08-26T09:54:01.837Z","12.1.6":"2020-08-26T10:47:29.666Z","12.1.7":"2020-08-26T12:40:42.070Z","12.1.8":"2020-09-02T13:55:11.566Z","12.1.9":"2020-09-08T15:11:53.150Z","12.1.10":"2020-09-10T11:42:05.839Z","12.1.11":"2020-09-11T05:07:53.123Z","12.1.12":"2020-09-15T03:25:12.518Z","12.1.13":"2020-09-19T13:34:37.117Z","12.1.14":"2020-09-26T14:54:37.727Z","12.1.15":"2020-09-29T10:57:40.382Z","12.1.16":"2020-09-29T14:40:15.563Z","13.0.0":"2020-09-30T10:14:23.653Z","13.0.1":"2020-10-03T01:28:04.727Z","13.0.2":"2020-10-05T12:22:32.840Z","13.0.3":"2020-10-12T10:43:11.682Z","13.0.4":"2020-10-17T14:25:14.071Z","13.0.5":"2020-10-27T09:46:51.676Z","13.0.6":"2020-10-31T17:29:10.370Z","13.0.7":"2020-11-01T08:24:47.532Z","13.0.8":"2020-11-03T19:22:40.822Z","13.0.9":"2020-11-09T12:16:21.584Z","13.0.10":"2020-11-09T13:21:37.537Z","13.0.11":"2020-11-11T06:17:53.350Z","13.0.12":"2020-11-11T11:50:09.761Z","13.0.13":"2020-11-13T06:26:01.103Z","13.0.14":"2020-11-17T08:24:24.592Z","13.0.15":"2020-11-19T04:49:10.627Z","13.0.16":"2020-11-26T02:21:56.449Z","13.0.17":"2020-11-26T17:04:43.219Z","13.0.18":"2020-11-30T01:58:27.223Z","13.0.19":"2020-12-01T02:54:56.851Z","13.0.20":"2020-12-04T02:23:02.165Z","13.0.21":"2020-12-06T04:33:27.085Z","13.0.22":"2020-12-06T15:48:43.745Z","13.0.23":"2020-12-09T08:31:24.709Z","13.0.24":"2020-12-09T09:28:05.637Z","13.0.25":"2020-12-11T01:45:16.509Z","13.0.26":"2020-12-17T08:14:08.177Z","13.0.27":"2020-12-21T06:12:54.056Z","13.0.28":"2020-12-25T08:02:39.144Z","13.0.29":"2020-12-27T09:00:17.791Z","13.0.30":"2021-01-05T04:18:05.456Z","13.0.31":"2021-01-05T09:19:01.180Z","13.0.32":"2021-01-05T12:00:16.165Z","13.0.33":"2021-01-08T11:08:43.881Z","13.0.34":"2021-01-08T12:37:52.459Z","13.0.35":"2021-01-08T18:13:20.516Z","13.0.36":"2021-01-09T04:18:45.854Z","13.0.37":"2021-01-09T17:52:59.495Z","13.0.38":"2021-01-11T09:47:31.787Z","13.0.39":"2021-01-13T03:44:38.614Z","13.0.40":"2021-01-14T03:21:03.115Z","13.0.41":"2021-01-14T12:22:24.606Z","13.0.42":"2021-01-20T16:49:45.575Z","13.0.43":"2021-01-20T19:17:45.723Z","13.0.44":"2021-01-22T06:29:15.857Z","13.0.45":"2021-01-23T16:24:36.101Z","13.0.46":"2021-01-23T19:13:22.446Z","13.0.47":"2021-01-25T03:06:30.099Z","13.1.0":"2021-01-29T13:28:33.650Z","13.1.1":"2021-01-29T14:55:28.332Z","13.1.2":"2021-01-30T15:16:00.243Z","13.1.3":"2021-02-01T10:14:22.436Z","13.1.4":"2021-02-02T08:09:16.150Z","13.1.5":"2021-02-03T05:03:52.460Z","13.1.6":"2021-02-03T16:22:18.719Z","13.1.7":"2021-02-05T05:38:41.254Z","13.2.0":"2021-02-05T13:05:35.718Z","13.2.1":"2021-02-08T12:57:28.547Z","13.2.2":"2021-02-12T15:29:05.277Z","13.2.3":"2021-02-12T15:58:32.453Z","13.2.4":"2021-02-13T15:23:50.847Z","13.2.5":"2021-02-13T16:29:59.563Z","13.2.6":"2021-02-13T20:14:41.585Z","13.2.7":"2021-02-16T02:25:28.055Z","13.2.8":"2021-02-16T04:54:42.144Z","13.2.9":"2021-02-16T11:14:58.414Z","13.2.10":"2021-02-16T12:07:01.938Z","13.2.11":"2021-02-17T00:49:33.134Z","13.2.12":"2021-02-18T17:20:13.726Z","13.2.13":"2021-02-18T18:22:31.308Z","13.2.14":"2021-02-19T09:09:37.103Z","13.2.15":"2021-02-19T09:32:05.306Z","13.2.16":"2021-02-20T18:41:31.283Z","13.2.17":"2021-02-20T23:39:13.289Z","13.2.18":"2021-02-21T16:25:09.298Z","13.2.19":"2021-02-25T04:03:48.730Z","13.2.20":"2021-02-25T04:56:03.486Z","13.2.21":"2021-02-25T05:44:59.366Z","13.2.22":"2021-02-25T07:15:39.926Z","13.2.23":"2021-02-25T18:36:26.003Z","13.2.24":"2021-02-25T23:34:41.246Z","13.2.25":"2021-02-26T02:13:58.428Z","13.2.26":"2021-02-27T15:36:34.837Z","13.2.27":"2021-03-02T11:22:59.671Z","13.3.0":"2021-03-02T12:04:42.855Z","13.3.1":"2021-03-02T16:59:27.296Z","13.3.2":"2021-03-03T12:08:02.579Z","13.3.3":"2021-03-03T14:16:39.592Z","13.3.4":"2021-03-04T12:01:01.194Z","13.3.5":"2021-03-05T01:56:04.283Z","13.3.6":"2021-03-05T04:57:04.017Z","13.3.7":"2021-03-08T15:40:44.679Z","13.3.8":"2021-03-09T10:09:30.382Z","13.3.9":"2021-03-09T13:15:22.691Z","13.3.10":"2021-03-13T17:15:15.425Z","13.3.11":"2021-03-13T18:22:26.556Z","13.3.12":"2021-03-13T20:33:52.407Z","13.3.13":"2021-03-14T09:45:48.992Z","13.3.14":"2021-03-22T00:14:42.567Z","13.3.15":"2021-03-22T21:51:20.701Z","13.3.16":"2021-03-23T13:23:17.854Z","13.3.17":"2021-03-25T19:35:36.428Z","13.3.18":"2021-03-26T01:04:34.476Z","13.3.19":"2021-03-26T12:45:47.598Z","13.3.20":"2021-03-26T15:00:28.807Z","13.3.21":"2021-03-27T19:00:53.041Z","13.3.22":"2021-03-30T03:43:54.483Z","13.3.23":"2021-03-30T04:43:35.126Z","13.3.24":"2021-03-30T11:15:59.564Z","13.3.25":"2021-04-02T13:21:30.732Z","13.3.26":"2021-04-02T14:49:37.918Z","13.3.27":"2021-04-02T15:48:46.200Z","13.3.28":"2021-04-02T19:40:04.755Z","13.3.29":"2021-04-03T14:06:28.203Z","13.3.30":"2021-04-03T15:57:55.446Z","13.3.31":"2021-04-06T06:22:47.148Z","13.3.32":"2021-04-07T04:23:56.351Z","13.4.0":"2021-04-07T10:38:38.088Z","13.4.1":"2021-04-07T13:05:41.259Z","13.4.2":"2021-04-09T00:24:13.146Z","13.4.3":"2021-04-09T02:49:40.733Z","13.4.4":"2021-04-09T03:12:02.871Z","13.4.5":"2021-04-12T07:38:44.665Z","13.4.6":"2021-04-12T10:05:01.128Z","13.4.7":"2021-04-12T10:48:32.595Z","13.4.8":"2021-04-12T14:24:16.836Z","13.4.9":"2021-04-12T18:41:09.161Z","13.4.10":"2021-04-15T08:09:26.643Z","13.4.11":"2021-04-15T11:04:21.323Z","13.4.12":"2021-04-16T14:08:09.388Z","13.4.13":"2021-04-16T15:55:03.522Z","13.4.14":"2021-04-17T13:30:21.796Z","13.4.15":"2021-04-17T16:29:18.936Z","13.4.16":"2021-04-17T20:53:51.698Z","13.4.17":"2021-04-20T01:09:24.758Z","13.4.18":"2021-04-20T11:47:51.365Z","13.4.19":"2021-04-23T11:51:17.789Z","13.4.20":"2021-04-23T16:24:44.998Z","13.4.21":"2021-04-23T23:06:43.309Z","13.4.22":"2021-04-24T16:20:09.974Z","13.4.23":"2021-04-26T21:59:01.457Z","13.4.24":"2021-04-27T10:47:25.505Z","13.4.25":"2021-04-27T12:33:42.901Z","13.4.26":"2021-04-28T02:50:01.915Z","13.4.27":"2021-04-30T13:45:35.039Z","13.4.28":"2021-05-09T03:28:48.346Z","13.4.29":"2021-05-09T19:43:33.073Z","13.4.30":"2021-05-10T10:01:16.157Z","13.4.31":"2021-05-11T05:43:27.193Z","13.4.32":"2021-05-11T06:13:27.236Z","13.4.33":"2021-05-15T16:40:24.587Z","13.4.34":"2021-05-17T08:41:38.162Z","13.4.35":"2021-05-17T14:48:49.502Z","13.4.36":"2021-05-17T17:08:41.912Z","13.4.37":"2021-05-25T13:31:52.645Z","13.4.38":"2021-05-25T15:41:46.334Z","13.4.39":"2021-05-25T17:30:05.391Z","13.4.40":"2021-05-30T12:27:40.608Z","13.4.41":"2021-06-07T01:11:22.583Z","13.4.42":"2021-06-11T23:17:18.853Z","13.4.43":"2021-06-12T15:52:20.080Z","13.4.44":"2021-06-13T06:02:28.757Z","13.4.45":"2021-06-19T13:49:40.928Z","13.4.46":"2021-06-19T14:40:19.677Z","13.4.47":"2021-06-26T13:48:47.391Z","13.4.48":"2021-06-26T14:32:22.440Z","13.4.49":"2021-06-26T16:45:25.426Z","13.4.50":"2021-07-01T01:05:31.773Z","13.4.51":"2021-07-05T12:53:13.089Z","13.4.52":"2021-07-10T16:15:21.603Z","13.4.53":"2021-07-13T17:21:39.965Z","13.4.54":"2021-07-17T17:21:30.009Z","13.4.55":"2021-07-18T02:57:16.578Z","13.4.56":"2021-07-18T18:54:47.669Z","13.4.57":"2021-07-26T08:49:14.447Z","13.4.58":"2021-07-27T12:23:50.046Z","13.4.59":"2021-07-27T18:19:39.386Z","13.4.60":"2021-07-28T11:52:03.283Z","13.4.61":"2021-07-30T16:53:43.092Z","13.4.62":"2021-07-30T19:01:20.351Z","13.4.63":"2021-07-31T14:19:16.532Z","13.4.64":"2021-07-31T15:47:26.591Z","13.4.65":"2021-08-01T14:02:25.894Z","13.4.66":"2021-08-03T10:08:50.213Z","13.4.67":"2021-08-07T15:41:37.118Z","13.4.68":"2021-08-09T09:16:49.106Z","13.4.69":"2021-08-09T14:31:08.721Z","13.4.70":"2021-08-14T15:07:00.701Z","13.4.71":"2021-08-14T17:31:09.864Z","13.4.72":"2021-08-18T19:56:57.670Z","13.4.73":"2021-08-18T23:23:52.983Z","13.4.74":"2021-08-19T02:31:09.974Z","13.4.75":"2021-08-21T22:52:02.436Z","13.4.76":"2021-08-22T02:58:07.222Z","13.4.77":"2021-08-28T16:46:13.482Z","13.4.78":"2021-08-28T17:41:22.692Z","13.4.79":"2021-08-30T11:50:51.484Z","13.4.80":"2021-09-02T16:59:55.189Z","13.4.81":"2021-09-03T11:21:49.110Z","13.4.82":"2021-09-17T21:51:53.233Z","13.4.83":"2021-09-20T11:16:33.351Z","13.4.84":"2021-09-20T11:41:21.261Z","13.4.85":"2021-09-20T13:25:23.618Z","13.4.86":"2021-09-20T19:04:27.378Z","14.0.0":"2021-09-23T14:21:11.330Z","14.0.1":"2021-09-23T15:51:54.370Z","14.0.2":"2021-09-25T14:31:38.661Z","14.0.3":"2021-10-18T08:35:27.866Z","14.0.4":"2021-10-20T17:30:40.991Z","14.0.5":"2021-11-02T11:02:15.812Z","14.0.6":"2021-11-09T08:22:48.830Z","14.1.0":"2021-11-11T13:16:59.778Z","14.1.1":"2021-11-11T13:57:45.038Z","14.1.2":"2021-11-20T14:59:49.105Z","14.2.0":"2021-11-25T10:35:41.432Z","14.2.1":"2021-11-29T09:42:26.191Z","14.3.0":"2021-11-29T13:52:48.936Z","14.3.1":"2021-11-29T14:53:29.150Z","14.4.0":"2021-12-02T17:17:15.517Z","14.4.1":"2021-12-02T19:45:42.293Z","14.4.2":"2021-12-04T13:48:46.272Z","14.4.3":"2021-12-06T14:03:37.371Z","14.4.4":"2021-12-07T16:59:55.455Z","14.4.5":"2021-12-11T18:16:48.333Z","14.4.6":"2021-12-25T14:55:16.350Z","14.4.7":"2022-01-01T23:50:07.312Z","14.4.8":"2022-01-03T10:32:01.662Z","14.4.9":"2022-01-15T15:26:17.982Z","14.4.10":"2022-01-16T00:30:35.150Z","14.4.11":"2022-01-24T06:43:42.398Z","14.4.12":"2022-01-27T13:16:36.658Z","14.4.13":"2022-01-29T15:02:53.232Z","14.4.14":"2022-01-31T13:27:17.265Z","14.4.15":"2022-02-03T15:18:36.043Z","14.4.16":"2022-02-04T01:46:00.485Z","14.4.17":"2022-02-04T16:58:58.699Z","14.4.18":"2022-02-05T15:50:12.541Z","14.4.19":"2022-02-07T13:29:25.023Z","14.4.20":"2022-02-09T10:42:54.218Z","14.4.21":"2022-02-09T14:27:20.841Z","14.4.22":"2022-02-09T20:58:18.108Z","14.4.23":"2022-02-10T20:28:14.567Z","14.4.24":"2022-02-14T20:41:28.640Z","14.4.25":"2022-02-15T01:09:01.966Z","14.4.26":"2022-02-19T15:28:41.261Z","14.4.27":"2022-02-23T15:51:18.061Z","14.4.28":"2022-02-28T16:49:56.732Z","14.5.0":"2022-03-02T08:17:41.346Z","14.5.1":"2022-03-05T16:41:03.110Z","14.5.2":"2022-03-10T16:33:01.325Z","14.5.3":"2022-03-12T14:53:38.963Z","14.6.0":"2022-03-15T16:32:59.528Z","14.6.1":"2022-03-16T12:51:59.469Z","14.6.2":"2022-03-18T14:44:37.347Z","14.6.3":"2022-03-19T19:43:20.317Z","14.6.4":"2022-03-20T12:29:31.165Z","14.6.5":"2022-03-21T16:20:07.143Z","14.6.6":"2022-03-28T20:42:08.198Z","14.6.7":"2022-04-02T20:34:13.348Z","14.6.8":"2022-04-03T02:58:53.266Z","14.6.9":"2022-04-05T13:26:22.563Z","14.6.10":"2022-04-10T03:29:37.202Z","14.6.11":"2022-04-10T12:34:30.860Z","14.6.12":"2022-04-11T14:05:19.907Z","14.6.13":"2022-04-11T19:49:04.020Z","14.6.14":"2022-04-11T20:48:56.422Z","14.6.15":"2022-04-11T20:59:55.084Z","14.6.16":"2022-04-14T15:14:39.403Z","14.6.17":"2022-04-16T16:02:05.276Z","14.6.18":"2022-04-16T20:33:34.656Z","14.6.19":"2022-04-16T21:08:51.327Z","14.6.20":"2022-04-17T02:24:15.568Z","14.7.0":"2022-04-19T12:38:01.659Z","14.8.0":"2022-04-25T11:40:36.069Z","14.8.1":"2022-04-25T13:04:13.882Z","14.8.2":"2022-04-30T16:55:50.711Z","14.8.3":"2022-05-03T17:54:17.051Z","14.8.4":"2022-05-06T13:47:23.577Z","14.8.5":"2022-05-14T14:15:12.663Z","14.8.6":"2022-05-14T18:34:08.756Z","14.8.7":"2022-05-21T16:26:05.159Z","14.9.0":"2022-05-23T09:40:35.500Z","14.9.1":"2022-05-23T10:19:16.513Z","14.9.2":"2022-05-23T12:47:16.007Z","14.9.3":"2022-05-25T20:20:03.431Z","14.9.4":"2022-06-02T17:55:28.263Z","14.9.5":"2022-06-04T18:53:11.504Z","14.9.6":"2022-06-05T13:14:23.624Z","14.9.7":"2022-06-05T21:06:19.996Z","14.9.8":"2022-06-07T05:01:25.866Z","14.9.9":"2022-06-11T17:47:32.653Z","14.9.10":"2022-06-16T20:49:44.488Z","14.10.0":"2022-06-17T10:20:24.413Z","14.10.1":"2022-06-18T08:56:52.307Z","14.10.2":"2022-06-24T04:54:39.528Z","14.10.3":"2022-06-28T23:49:17.660Z","14.11.0":"2022-06-29T13:44:07.632Z","14.12.0":"2022-06-30T14:14:28.911Z","14.12.1":"2022-07-09T18:26:45.726Z","14.13.0":"2022-07-11T16:11:41.779Z","14.13.1":"2022-07-14T12:16:08.788Z","14.13.2":"2022-08-07T13:49:50.444Z","14.13.3":"2022-08-08T13:30:36.995Z","14.13.4":"2022-08-12T19:22:27.819Z","14.13.5":"2022-08-31T13:15:08.048Z","14.13.6":"2022-09-03T16:55:35.207Z","14.13.7":"2022-09-12T13:20:28.779Z","14.13.8":"2022-09-14T07:27:42.469Z","14.14.0":"2022-09-15T05:13:16.158Z","14.14.1":"2022-09-24T18:25:10.046Z","14.14.2":"2022-09-26T11:32:17.195Z","14.14.3":"2022-10-01T17:32:48.580Z","14.14.4":"2022-10-08T23:44:48.634Z","14.14.5":"2022-10-13T20:38:43.066Z","14.14.6":"2022-10-14T16:40:32.377Z","14.14.7":"2022-10-20T12:21:57.755Z","14.14.8":"2022-10-24T11:16:06.913Z","14.14.9":"2022-10-25T22:24:26.867Z","14.14.10":"2022-10-26T08:32:21.005Z","14.15.0":"2022-10-27T08:00:13.254Z","14.16.0":"2022-10-27T13:19:01.344Z","14.17.0":"2022-11-08T16:19:19.140Z","14.17.1":"2022-11-10T16:05:57.568Z","14.17.2":"2022-11-29T09:16:42.513Z","14.17.3":"2022-11-29T18:27:34.470Z","14.17.4":"2022-12-13T14:55:49.486Z","14.18.0":"2022-12-13T15:35:37.803Z","14.18.1":"2022-12-13T15:49:07.727Z","14.18.2":"2022-12-24T15:19:47.520Z","14.18.3":"2022-12-25T17:39:05.295Z","14.18.4":"2023-01-07T15:57:23.308Z","14.19.0":"2023-01-13T08:05:19.786Z","14.19.1":"2023-01-15T01:06:17.712Z","14.20.0":"2023-01-19T15:10:58.386Z","14.20.1":"2023-01-28T16:15:49.491Z","14.20.2":"2023-02-01T17:15:42.226Z","14.20.3":"2023-02-13T14:58:06.190Z","14.20.4":"2023-02-14T00:24:55.979Z","14.20.5":"2023-02-14T15:24:22.903Z","14.20.6":"2023-02-14T16:05:36.362Z","14.21.0":"2023-02-16T06:00:35.101Z","14.21.1":"2023-02-16T15:52:07.620Z","14.21.2":"2023-02-22T22:04:25.020Z","14.21.3":"2023-02-25T17:37:26.966Z","14.21.4":"2023-02-25T20:28:37.336Z","14.21.5":"2023-03-14T01:25:54.391Z","14.22.0":"2023-03-16T10:37:59.582Z","14.22.1":"2023-03-18T19:09:43.349Z","14.22.2":"2023-03-21T10:09:08.084Z","14.22.3":"2023-03-21T11:39:27.856Z","14.22.4":"2023-03-28T08:06:30.315Z","14.22.5":"2023-03-30T12:05:08.710Z","14.22.6":"2023-04-11T13:19:45.259Z","14.22.7":"2023-04-11T13:43:31.338Z","14.22.8":"2023-04-12T10:01:54.855Z","14.22.9":"2023-04-12T21:30:33.337Z","14.22.10":"2023-04-13T12:06:00.589Z","14.22.11":"2023-04-13T19:37:32.696Z","14.22.12":"2023-04-16T02:33:15.869Z","14.22.13":"2023-04-16T13:33:50.746Z","14.23.0":"2023-04-20T13:00:46.863Z","14.23.1":"2023-04-25T17:41:23.501Z","14.23.2":"2023-05-04T21:23:39.992Z","14.23.3":"2023-05-05T14:18:33.720Z","14.23.4":"2023-05-08T09:12:04.400Z","14.23.5":"2023-05-09T21:47:36.858Z","14.23.6":"2023-05-20T22:53:25.227Z","14.23.7":"2023-05-28T15:41:35.534Z","14.24.0":"2023-05-30T11:23:16.919Z","14.24.1":"2023-06-03T21:19:05.934Z","14.24.2":"2023-06-18T08:51:36.398Z","14.24.3":"2023-06-19T10:17:42.458Z","14.24.4":"2023-06-24T15:47:02.764Z","14.24.5":"2023-06-30T16:06:02.262Z","14.24.6":"2023-07-08T16:15:08.214Z","14.24.7":"2023-07-15T10:03:43.241Z","14.24.8":"2023-07-16T12:48:29.575Z","14.24.9":"2023-07-29T16:19:45.341Z","14.24.10":"2023-08-15T07:08:19.501Z","14.24.11":"2023-08-21T10:44:06.534Z","14.24.12":"2023-08-22T07:26:40.731Z","14.24.13":"2023-08-26T15:52:30.040Z","14.24.14":"2023-08-30T15:19:43.217Z","14.24.15":"2023-09-01T13:17:54.390Z","14.24.16":"2023-09-02T17:05:32.219Z","14.24.17":"2023-09-04T08:29:37.625Z","14.25.0":"2023-09-06T13:34:25.233Z","14.25.1":"2023-09-14T12:34:07.495Z","14.26.0":"2023-09-15T14:16:52.930Z"},"bugs":{"url":"https://github.com/adobe/helix-cli/issues"},"license":"Apache-2.0","homepage":"https://github.com/adobe/helix-cli#readme","repository":{"url":"git+https://github.com/adobe/helix-cli.git","type":"git"},"description":"Project Helix CLI","maintainers":[{"email":"mabecker@adobe.com","name":"marbec"},{"email":"tripod@bocanegra.ch","name":"tripod"},{"email":"garthdb@gmail.com","name":"garthdb"},{"email":"lazdnet@gmail.com","name":"lazd"},{"email":"grp-opensourceoffice@adobe.com","name":"adobe-admin"},{"email":"patrickfulton@gmail.com","name":"patrickfulton"},{"email":"lars@trieloff.net","name":"trieloff"},{"email":"krisnye@gmail.com","name":"krisnye"},{"email":"dcpfsdk@adobe.com","name":"dcpfsdk"},{"email":"natebaldwindesign@gmail.com","name":"natebaldwin"},{"email":"devongovett@gmail.com","name":"devongovett"},{"email":"danniintheus@gmail.com","name":"aspro83"},{"email":"symanovi@adobe.com","name":"symanovi"},{"email":"dominique.pfister@gmail.com","name":"dpfister"},{"email":"sg@adobe.com","name":"stefan-guggisberg"},{"email":"npm@rofe.com","name":"rofe"},{"email":"kptdobe@gmail.com","name":"kptdobe"},{"email":"halls@adobe.com","name":"adobehalls"},{"email":"bradjohn@adobe.com","name":"fullcolorcoder"},{"email":"djaeggi@adobe.com","name":"djaeggi"},{"email":"dylandepass@gmail.com","name":"dylandepass"},{"email":"mhaack@adobe.com","name":"mhaack"},{"email":"amol@adobe.com","name":"amol-anand"},{"email":"stopp@adobe.com","name":"stopp-adobe"},{"email":"namarora@adobe.com","name":"namarora"},{"email":"doten@adobe.com","name":"doten"},{"email":"schmidt@adobe.com","name":"duh_schmidt"},{"email":"astha.bhargava23@gmail.com","name":"asthabh23"},{"email":"zouhir.dahbi@outlook.com","name":"zdahbi"},{"email":"tuicu@adobe.com","name":"tuicu"},{"email":"fmeschbe@adobe.com","name":"fmeschbe"},{"email":"mgedell@gmail.com","name":"maxakuru"},{"email":"vhosu@adobe.com","name":"vhosu"}],"readme":"# Helix/AEM Command Line Interface (`hlx` or `aem`)\n\n## Status\n\n[![codecov](https://img.shields.io/codecov/c/github/adobe/helix-cli.svg)](https://codecov.io/gh/adobe/helix-cli)\n[![CircleCI](https://img.shields.io/circleci/project/github/adobe/helix-cli/main.svg)](https://circleci.com/gh/adobe/helix-cli/tree/main)\n[![GitHub license](https://img.shields.io/github/license/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/blob/master/LICENSE.txt)\n[![GitHub issues](https://img.shields.io/github/issues/adobe/helix-cli.svg)](https://github.com/adobe/helix-cli/issues)\n[![LGTM Code Quality Grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/adobe/helix-cli.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/adobe/helix-cli)\n\nThe Helix Command Line Interface allows web developers to create, develop, and deploy digital experiences using Adobe Experience Manager Sites 'Edge Delivery Services' f.k.a 'Project Helix'\n\n## Installation\n\nInstall `hlx` or `aem` as a global command. You need Node 12.11 or newer.\n\n```bash\n$ npm install -g @adobe/helix-cli\n```\n\n## Quick Start\nYou can interchange `hlx` and `aem` in the examples listed below.\n\n```\n$ hlx --help\nUsage: hlx <command> [options]\n\nCommands:\n  hlx up  Run a Helix development server\n\nOptions:\n  --version                Show version number                         [boolean]\n  --log-file, --logFile    Log file (use \"-\" for stdout)  [array] [default: \"-\"]\n  --log-level, --logLevel  Log level\n        [string] [choices: \"silly\", \"debug\", \"verbose\", \"info\", \"warn\", \"error\"]\n                                                               [default: \"info\"]\n  --tls-key, --tlsKey      Path to .key file (for enabling TLS)        [string]\n  --tls-cert, --tlsCert    Path to .pem file (for enabling TLS)        [string]\n  --help                   Show help                                   [boolean]\n\nuse <command> --help to get command specific details.\n\nfor more information, find our manual at https://github.com/adobe/helix-cli\n```\n\n## Starting development\n\n```\n$ cd <my-cool-project>\n$ hlx up\n```\n\n### automatically open the browser\n\nThe `--open` argument takes a path, eg `--open=/products/`, will cause the browser to be openend\nat the specific location. Disable with `--no-open'.`\n\n### setting up a self-signed cert for using https\n\n1. create the certificate\n\n\n```\n$ openssl req -new -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out server.crt -keyout server.key -subj \"/CN=localhost\"\n```\n\nthis will create 2 files: `server.crt` and `server.key`\n\n2. start hlx with tls support\n\n```\n$ hlx up --tls-cert server.crt --tls-key server.key\n    ____              __    ___   v14.21.4\n   / __/______ ____  / /__ / (_)__\n  / _// __/ _ `/ _ \\/  '_// / / _ \\\n /_/ /_/  \\_,_/_//_/_/\\_\\/_/_/_//_/\n\ninfo: Starting Franklin dev server v14.21.4\ninfo: Local Franklin dev server up and running: https://localhost:3000/\n```\n\n3. (optional) Add arguments to .env file:\n\n```\n$ echo -e \"HLX_TLS_CERT=server.crt\\nHLX_TLS_KEY=server.key\" >> .env\n```\n\n### environment\n\nAll the command arguments can also be specified via environment variables. the `.env` file is\nloaded automatically.\n\nexample:\n\n`.env`\n```dotenv\nHLX_OPEN=/products\nHLX_PORT=8080\nHLX_PAGES_URL=https://stage.myproject.com\n```\n\n#### HTTP Proxy\n\nIn order to use a HTTP proxy (eg behind a corporate firewall), you can set the respective environment variables:\n\n`NO_PROXY` is a list of host names (optionally with a port). If the input URL matches any of the entries in `NO_PROXY`, then the input URL should be fetched by a direct request (i.e. without a proxy).\n\nMatching follows the following rules:\n\n`NO_PROXY=*` disables all proxies.\nSpace and commas may be used to separate the entries in the `NO_PROXY` list.\nIf `NO_PROXY` does not contain any entries, then proxies are never disabled.\nIf a port is added after the host name, then the ports must match. If the URL does not have an explicit port name, the protocol's default port is used.\nGenerally, the proxy is only disabled if the host name is an exact match for an entry in the `NO_PROXY` list. The only exceptions are entries that start with a dot or with a wildcard; then the proxy is disabled if the host name ends with the entry.\nSee test.js for examples of what should match and what does not.\n\n`*_PROXY`\nThe environment variable used for the proxy depends on the protocol of the URL. For example, https://example.com uses the \"https\" protocol, and therefore the proxy to be used is `HTTPS_PROXY` (NOT `HTTP_PROXY`, which is only used for http:-URLs).\n\nIf present, `ALL_PROXY` is used as fallback if there is no other match.\n\n#### Global\n\n| option | variable | default | description |\n|--------|----------|---------|-------------|\n| `--log-file` | `HLX_LOG_FILE` | `-` | Log file. use `-` to log to stdout |\n| `--log-level` | `HLX_LOG_LEVEL` | `info` | Log level |\n\n#### Up command\n\n| option            | variable            | default     | description                                                 |\n|-------------------|---------------------|-------------|-------------------------------------------------------------|\n| `--port`          | `HLX_PORT`          | `3000`      | Development server port                                     |\n| `--addr`          | `HLX_ADDR`          | `127.0.0.1` | Development server bind address                             |\n| `--livereload`    | `HLX_LIVERELOAD`    | `true`      | Enable automatic reloading of modified sources in browser.  |\n| `--no-livereload` | `HLX_NO_LIVERELOAD` | `false`     | Disable live-reload.                                        |\n| `--open`          | `HLX_OPEN`          | `/`         | Open a browser window at specified path after server start. |\n| `--no-open`       | `HLX_NO_OPEN`       | `false`     | Disable automatic opening of browser window.                |\n| `--tls-key`       | `HLX_TLS_KEY`       | undefined   | Path to .key file (for enabling TLS)                        |\n| `--tls-cert`      | `HLX_TLS_CERT`      | undefined   | Path to .pem file (for enabling TLS)                        |\n\n# Developing Helix CLI\n\n## Testing\n\nYou can use `npm run check` to run the tests and check whether your code adheres\nto the helix-cli coding style.\n","readmeFilename":"README.md"}